有沒有一種方法可以從stan中的偏斜正態分佈繪製?如果沒有,是否有一種方法可以從正態分佈中提取,然後轉換爲正常偏態?使用stan繪製偏斜正態分佈
UPDATE
我在斯坦手動發現y~skew_normal(mu, sigma, alpha)
,但是當我與參數
mu=1, sigma=10, alpha=-1000
樣品例如1000個值我也得到了一些-inf
值。任何想法爲什麼?
更新2
我testing.stan
data{
real mu;
real sigma;
real alpha;
}
model{
}
generated quantities{
real temp;
temp = skew_normal_rng(mu, sigma, alpha);
}
,然後我testing.R
文件
sdata <- list(
mu=1,
sigma=10,
alpha=-1000
)
model <- stan_model("stan code//testing.stan")
system.time(
samples <- sampling(model,data=sdata,seed=42,
chain=1,algorithm="Fixed_param",
iter=10000,thin=1,control=list(max_treedepth=9)
)
)
object <- rstan::extract(samples)
# hist(object$temp,breaks=100)
# plot(density(object$temp))
# mean(is.finite(object$temp))
# sum(!is.finite(object$temp))
sort(object$temp)
運行sort(object$temp)
後,我得到一些-inf
值。
如果您只是想隨機繪製,請在'generated quantities'塊中使用'skew_normal_rng'。如果您的問題實際上是「我如何估計被假定爲偏斜正常的數據生成過程的參數?」那麼你需要使用'skew_normal'採樣語句或'skew_normal_lpdf'函數。 –
@BenGoodrich我更新了問題 – quant
好的。那是一個錯誤。 –