0

パッケージのgpdコマンドを使用して、いくつかの一変量変数に GPD を当てはめています。evir私が実行した場合、2パラメータの分布ファミリであること

gpd(z_b[1:1000], threshold=quantile(z_b[1:1000],0.95), method="ml", information="expected")$par.ests[1]

最初のパラメーターである観測値 1 ~ 1000 の形状パラメーター xi を取得します。

xi の時系列モデルを開発したいので、系列全体 (合計 4344 観測) のパラメーター xi を抽出したいと考えました。私の試み:

xi_b <- array(dim=c(3345,1))
for (i in 1:3345){
xi_b[i]=gpd(z_b[i:i+999], threshold=quantile(z_b[i:i+999], 0.95), method="ml", information="expected")$par.ests[1]
}

ご覧のとおり、手順は同じです。1000 回の観測 (つまり 50 データ ポイント) で 95% の分位数を超える超過を使用して xi を推定します。ただし、次のエラーが表示されます。

optim(theta, negloglik, hessian = TRUE, ..., tmp =過剰) のエラー: valore non finito fornito da optim

最後の文は、「最適ではない有限によって提供される値」と翻訳できます。

これの何が問題なのですか?つまり、特定の観測値 (例: 1:1000) では機能するのに、ループの例では機能しないのはなぜですか? どうすればこれを修正できますか?

誰かが試してみたい場合は、z_b のデータを共有しました: https://www.dropbox.com/s/fbg04thvvb6x5d8/zb.txt?dl=0

4

0 に答える 0