Rstanの練習2

Rstanの練習

library("rstan")
ep<-rnorm(105, mean=0,sd=1)
theta<-(1:1000)^-0.5
y<-NULL
for(i in 1:100){
	y[i]<-sum(theta[1:(i)]^0*ep[i:1])

}

#y<-rpois(100,lambda=30)

data <- list(T = 100, y =y,Q=100)

fit <- stan(file = 'ma123b.stan', data = data,iter = 1000,chains = 4)

print(fit)
p<-extract(fit,pars="epsilon")
 plot(p[[1]][2000,])

p<-extract(fit,pars="sigma")
 plot(p[[1]][2000,])
  • Stanのコード
    • 決定論的なところは、パラメータチェンジに書くのがポイント
    • ma123b.stan
    • yのところが微妙
data{
	int<lower=0> Q;
	int<lower=3> T;
	real y[T];	
}

parameters {

	//real mu;
	real<lower=0> sigma;
	//real eta[T];
	real epsilon[T];

}

transformed parameters{
  real eta[T];
 //eta<-0;
  for(t in 1:T){
	//y[t]~ normal(0,sigma);
	eta[t] <- 0.0;
	//eta[t] ~ normal(0,0.00001);
		for(q in 1:t){			
			eta[t] <- eta[t] + epsilon[t - (q-1)];
			//eta[t] <- 3;
		}
  }
 
  
 

}



model {
		for(t in 1:T){
			epsilon[t] ~ normal(0,sigma);
		
			y[t] ~ normal(eta[t],0.0001);
		}
	
	//y~rnorm(eta,0.0001);
	//y<-eta
}