Hi, Guys.
I have a question about building linear model
I’ve read some examples about linear model with continuos predictors.
But I don’t know how to set prior distributions on the binary(boolean) or categorcal or ordinal variables.
Let’s say I have dataframe x_train and y_train(IQ score).
x_train consists of 4 variables age, sex, self-esteem, favorite-fruit.
age is continuous variable, sex is binary, self-esteem is ordinal(1 to 5), fruit is categorical variable(1 to 6).
How should I build a linear model with non informative or weak priors?
Would this work?
with Model() as linear_model:
# priors
sigma = HalfCauchy("sigma", beta=5)
alpha = Normal("alpha", mu=0, sigma=10) # intercept
beta0 = Normal("beta0", mu=0, sigma=20) # age
beta1 = Bernoulli("beta1", p=0.5) # sex
beta2 = DiscreteUniform("beta2", lower=1, upper=5) # self-esteem
beta3 = DiscreteUniform("beta3", lower=1, upper=6) # fruit
# likelihood
likelihood = Normal("likeli", mu=alpha + beta0 * x_train['age'] + beta1 * x_train['sex'] + beta2 * x_train['selfesteem'] + beta3 * x_train['fruit'], sigma=sigma, observed=y_train)
trace = sample(1000, return_inferencedata=True, chains=3)
Thank you!