data {
//Data objects declared
int<lower=0> N; //Sample size for MCMC simulations
vector[N] y;
matrix[8,N] x;
}
parameters {
//Model parameter objects declared
vector[9] beta;
real<lower=0> sigma;
}
model {
//Prior distributions
beta ~ normal(0,10);
//sigma ~ gamma(5,5);use it to convert inverse gamma
sigma ~ invgamma(5,5);
//Likelihood
y ~ normal(beta[1] + beta[2:9] * x, sigma);
}
dim(sp500)
[1] 455 9
xs<-as.matrix(sp500[,1:8])
# Declare data for Stan
y <- sp500$spr
x <- xs
N <- nrow(sp500)
datax <- list(N=N, x=x, y=y)
# Run Stan
mod <- stan(file ="sp2.stan", data=datax, chains=1, iter=500)
错误1:x表达式格式错误
y〜normal(beta [1] + beta [2:9] * x ,sigma);
错误2:(stan的sigma采样没有invgamma吗?)
概率函数必须以_lpdf或_lpmf结尾。找到的分配族= invgamma,无 相应的概率函数invgamma_lpdf,invgamma_lpmf或invgamma_log