RでArimaモデルを近似するときのoptimのエラー


8

Rの統計パッケージのarimaメソッドを、時系列の17376要素で使用しています。私の目標は、AIC基準の値を取得することです。最初のテストでこれを観察しました。

 ts <- arima(serie[,1], order = c(2,1,1), seasonal = list(order=c(2,0,1),period = 24), 
         method = "CSS", optim.method = "BFGS",)
> ts$coef
           ar1        ar2        ma1       sar1       sar2       sma1 
     0.8883730 -0.0906352 -0.9697230  1.2047580 -0.2154847 -0.7744656 
    > ts$aic
[1] NA

ご覧のとおり、AICは定義されていません。AICについて、Rの「ヘルプ」は「ML」でのみ使用できると述べました。しかし、それは起こります:

> ts <- arima(serie[,1], order = c(2,1,1), seasonal = list(order=c(2,0,1),period = 24), 
          method = "ML", optim.method = "BFGS",)

Error en optim(init[mask], armafn, method = optim.method, hessian = TRUE,  : 
  non-finite finite-difference value [1]

Plus: warning messages lost
In log(s2) : There have been NaNs

何が起こっているのかわかりません。また、パラメータ「フィッティング法」についても知りたいです。


1
データのグラフィック表現を含めることができますか?
mpiktas 2014

3
CSSソリューションからパラメーターを抽出し、それらを開始値として(optim.control引数を介して)MLソルバーに渡すと、この問題を回避できる可能性が高くなります。問題の再現可能な例を提供していないため、これはテストしていません。
whuber

@whuberこれは正しい方向です。一部の計量経済学の本では、完全なML目的関数の初期値として、CSSソリューションのパラメーター値を最初に取ると言われています。
アナリスト

回答:


3

最尤法(メソッド= "ML")でARIMAモデルを近似するには、パラメータに対してARIMAモデルの負の対数尤度を最適化(最小化)する必要があります。パラメータは結果として定常モデルになる必要があるため、これは制約付き最適化問題であることがわかります。この非線形制約は、制約が満たされない場合、負の対数尤度がInf(無限大)を返すことで説明されます。MLEが制約の境界の近くにある場合、MLEの近くの負の対数尤度の評価は無限大を返す可能性があります。ヘッシアンは、MLEの近くの負の対数尤度を評価することにより数値微分で取得されるため、取得した非有限差分エラーが発生する可能性があります。したがって、ヘッセ行列が必要ない場合は、ヘッセ行列= FALSEを指定します。さもないと、


2

編集:反対票を投じた場合、その理由を説明してください。私はここに新しいです。

私も同じ問題を抱えていました。オンラインで調べてみたところ、クロス検証の別の場所で提案された解決策が見つかりました。私は誰かがそれを望んだ場合に備えてここで共有することを考えました。

モデルに「method = "CSS"」を追加したところ、うまくいきました。例えば:

model = Arima(x, order=c(1,1,1), seasonal=list(order=c(1,1,1), period=12), xreg=xreg, 
              method="CSS") 

これがリファレンスです:
auto.arimaとArima(予測パッケージ)


私は今あなたの答えを見て、おそらくあなたのデータのためにそれは機能します、しかし私のデータのために、私の主なターゲットは私の質問のエラーがなぜ起こったのか、そしてなぜ私の方法でMLの方法MLがそれが機能しないのか知っていました
Cyber​​guille

3
これで問題は解決しましたが、MLまたはCSS-MLメソッドを使用しない限り、AIC値を使用してさまざまなモデル(ARIMA(1,1,2)など)を比較するにはどうすればよいですか?「AICの理論では、対数尤度が最大化されている必要があります。AICは最尤法で近似されていないモデルに対して計算できますが、AIC値を比較することはできません。」stat.ethz.ch/R-manual/R-devel/library/stats/html/AIC.html OPにはAIC値が必要です。
Mumbo.Jumbo 2017年

0

アルゴリズムの収束に問題があるようです。これは、数値最適化で時々発生します。

これは、この特定の最適化方法に関するウィキペディアの記事へのリンクです。

http://en.wikipedia.org/wiki/Broyden%E2%80%93Fletcher%E2%80%93Goldfarb%E2%80%93Shanno_algorithm


3
はい、私はこれが時々起こることを知っていますが、なぜそれがcssとml noでフィッティング方法で機能するのか、なぜcssがAICを作成しないのですか
Cyber​​guille

1
@GuillermoAyranTorresLores CSSは条件付き尤度に基づいており、同じパラメーターに対して最適化されたときに無条件尤度関数が生成するのと同じ尤度値を生成しません。
アナリスト

1
@GuillermoAyranTorresLoresは、最初にCSSソリューションからパラメーター値を完全なML目的関数の初期値として取得する方法で、最適化問題を変更してみます。
アナリスト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.