スタンのスキュー正規分布から引き出す方法はありますか?そうでない場合は、正規分布から引き出して、スキューを通常に変換する方法はありますか?スタンを使用したスキュー正規分布からの引き抜き
UPDATE
私はスタンマニュアルでy~skew_normal(mu, sigma, alpha)
を見つけましたが、私はインスタンスのパラメータ
mu=1, sigma=10, alpha=-1000
で1000の値をサンプリングするとき、私はまた、いくつかの-inf
の値を取得します。なぜどんなアイデア?
UPDATE 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 quantity'ブロックで' skew_normal_rng'を使います。あなたの質問が実際には「スキューノーマルと思われるデータ生成プロセスのパラメータをどのように見積もることができますか? 'skew_normal'サンプリング文または' skew_normal_lpdf'関数を使う必要があります。 –
@BenGoodrich私は質問 – quant
をOKに更新しました。それはバグです。 –