traceplot(estimated_model)하면 바로 traceplot그려짐
단순 vector[n_groups] mu와 orderde[n_groups] mu의 traceplot비교
log_exp_sum
random.choices(population, weights, k=#sample)
compiled_model <- stan_model(“a.stan”)
항상 setwd(getwd())로 시작하기
for(i in 1:N) {
for(k in 1:n_groups) {
contributions[k] = log(Theta[k]) + normal_lpdf(y[i] | mu[k], sigma[k]);
}
target += log_sum_exp(contributions);
}
}
stan() 함수는 stanfit 오브젝트를 반환
사전분포의 폭이 매우 좁으면서 데이터와 잘 맞지 않는 경우, 데이터를 잘 설명하지 못하는 모델링 결과를 얻게 될 수 있다
모형에서 posterior를 추출해보자. 다양한 방법이 있지만 rstan::extract() 함수를 사용하면 간단하게 추출할 수 있다
사후확률분포로부터 파라미터가 특정 값보다 크거나 작을 확률을 직접 계산할 수 있다
예측과 모형 검증을 위해, Stan에서는 매 iteration마다 각 데이터 포인트에 대한 예측값을 발생시킬 수 있다
Generated Quantities 블록에서는 함수의 벡터화가 지원되지 않는다. 따라서 반복문을 통해 작업해야 하는데, C++로 컴파일되기 때문에 속도는 상당히 빠르다. 데이터를 생성하는 함수는 일반적으로 모델 블록에서 사용하는 함수에 _rng 접미사를 붙인다.
이러한 방식으로 모형과 데이터 생성과정에 대한 불확실성을 예측
WAIC
Watanabe-Akaike Information Criterion (WAIC) is a way of measuring the fit of Bayesian models
-2*(lppd-p)
log posterior predictive density and p is estimate of the effective number of free parameters
LPPD is calculated as follows:
For each observation in y, calculate the likelihood for that observation for each sample of parameters from their posterior distribution (i.e. each row of theta_post). This results in a vector of likelihoods, denoted L, each element of which is the likelihood for one sample of parameters from the posterior distribution.
– Take the mean of L
– Take the log of the mean.
– Take the sum of the log of the mean likelihoods across all observations in y.
– Thus, LPPD is the sum across observations in y of the log of the mean of the likelihoods of each sample from the posterior distribution of the parameters.
https://github.com/lumiamitie/TIL/blob/master/bayesian/stan/intro_to_stan.md?fbclid=IwAR1tfL60iiMW24QnZgiyhV0-GOkpNRsoycApWnEmdoauEsYN_WdL6pePei8
permuted=TRUE
We include the statement permuted=TRUE so that we are only saving the draws after warmup, and they are permuted so that they can be analyzed directly without concerns of autocorrelation.
Comment is the energy for a writer, thanks!