私のデータ (m) の尤度関数は次のようになります。
"dexp(m,beta) * pnorm(m,mu,sigma)".
STAN コード内に記述したユーザー定義の対数尤度関数は次のようになります。
functions{
real loglikelihood(int N,
real mu,
real sigma,
real beta,
real[] m
){
real a[N];
real b[N];
real c[N];
real final;
for(i in 1:N){
a[i]<- exponential_log(m[i],beta);
b[i]<- normal_cdf_log( m[i], mu, sigma);
c[i]<- a[i]+b[i];
}
final<- sum(c);
return(final);
}
}
. 私はそれを正しく行っているかどうか知りたいですか?ユーザー定義関数内で「exponential_log」や「normal_cdf_log」などの STAN 関数を使用できますか?