No.11043 SARIMAのエラーと警告について  【AKI】 2009/10/09(Fri) 16:21

初めて投稿させていただきます。
SARIMAを用いて価格分析を行っているのですが,例1〜5のようなエラーと警 告が生じてしまいます。例1〜4では,エラーの意味がわからず困っています。例5では,警告が表示されるのですが,最終的にAICを求めることが出来ま す。この場合のAICの値は分析結果として正しい値と言えるのでしょうか?
ご教授のほどよろしくお願いいたします。下に分析データを示します。

例1
> kakaku=read.delim("clipboard",header=F)
> kakaku.ts<-ts(kakaku)
> result<-arima(kakaku.ts,order=c(0,0,0),seasonal=list(order=c(1,2,3),period=7,method="CSS-ML"))
以下にエラー arima(kakaku.ts, order = c(0, 0, 0), seasonal = list(order = c(1, :
CSS からの非定常季節的 AR 部分

例2
> kakaku=read.delim("clipboard",header=F)
> kakaku.ts<-ts(kakaku)> result<-arima(kakaku.ts,order=c(1,0,1),seasonal=list(order=c(2,2,3),period=7,method="CSS-ML"))
以下にエラー optim(init[mask], armafn, method = optim.method, hessian = TRUE, :
non-finite finite-difference value [1]

例3
> kakaku=read.delim("clipboard",header=F)
> kakaku.ts<-ts(kakaku)> result<-arima(kakaku.ts,order=c(1,0,1),seasonal=list(order=c(3,0,1),period=7,method="CSS-ML"))
以下にエラー optim(init[mask], armafn, method = optim.method, hessian = TRUE, :
vmmin の初期値が有限ではありません

例4
> kakaku=read.delim("clipboard",header=F)
> kakaku.ts<-ts(kakaku)> result<-arima(kakaku.ts,order=c(2,3,0),seasonal=list(order=c(3,2,0),period=7,method="CSS-ML"))
以下にエラー solve.default(res$hessian * n.used) :
Lapack routine dgesv: 線形方程式系は正確に特異です

例5
> kakaku=read.delim("clipboard",header=F)
> kakaku.ts<-ts(kakaku)> result<-arima(kakaku.ts,order=c(0,1,2),seasonal=list(order=c(3,3,2),period=7,method="CSS-ML"))
log(s2) 中で警告がありました: 計算結果が NaN になりました
> result

Call:
arima(x = kakaku.ts, order = c(0, 1, 2), seasonal = list(order = c(3, 3, 2),
period = 7, method = "CSS-ML"))

Coefficients:
sqrt(diag(x$var.coef)) 中で警告がありました: 計算結果が NaN になりました
ma1 ma2 sar1 sar2 sar3 sma1 sma2
-1.1048 0.9998 -1.9292 -1.7966 -0.5988 -0.2116 0.051
s.e. 0.0043 0.0047 0.0028 NaN 0.0016 0.0053 0.004

sigma^2 estimated as 2.061: log likelihood = -74.86, aic = 165.71

分析データ
13.95
13.64
26.84
22.66
21.76
21.02
19.56
12.91
13.51
19.52
23.13
18.70
21.43
24.82
13.14
13.59
21.77
19.81
19.58
17.25
17.76
12.92
12.90
12.67
17.24
19.33
46.75
60.00
14.76
13.93
19.09
20.36
20.36
20.26
23.84
15.76
12.02
20.60
20.60
18.27
18.22
18.32
12.25
12.81
16.30
15.62
15.82
18.18
14.16

No.11045 Re: SARIMAのエラーと警告について  【青木繁伸】 2009/10/09(Fri) 18:16

エラーの正確な意味は,それぞれの関数のオンラインヘルプをご覧ください。
私はこの関数も方法も知りませんが,要するに,初期値が不適切なために収束計算の途中で計算を続行することができないような現象が発生するためです。
適 切かどうかわかりませんが,試行錯誤で初期値を設定すれば,うまく設定できると以下のように,エラーが出ずに結果が得られることもあるようです(正しい結 果になっているかどうかはわかりませんが)。同じ初期値で何回かやってみると,毎回,微妙に違う結果になっているような。。。
> result <- arima(kakaku.ts, order=c(1, 2, 1), seasonal=list(order=c(1, 1, 1), period=7, method="CSS-ML"))
> result

Call:
arima(x = kakaku.ts, order = c(1, 2, 1), seasonal = list(order = c(1, 1, 1),
period = 7, method = "CSS-ML"))

Coefficients:
ar1 ma1 sar1 sma1
0.0019 -0.9945 -0.1545 -0.9705
s.e. 0.0933 0.1046 0.1645 0.2352

sigma^2 estimated as 54.17: log likelihood = -149.45, aic = 308.91
な お,「うまくいくような初期値を試行錯誤的に選ぶ」というのは,データが持っている情報を充分に生かせていない場合に取らざるを得ない方策であって,理論 の理解,データ解析の経験が十分な場合には,当たらざるとも言えど遠からずという初期値を設定できるということでしょう。適切な初期値を設定できると言う ことは,そのデータ・理論をよく理解できているということでしょう。その逆は,その逆。

No.11050 Re: SARIMAのエラーと警告について  【AKI】 2009/10/13(Tue) 13:33

ご回答ありがとうございます。
まだ分析に対する理解が少ないため,いろいろなことを試してみたいと思います。

● 「統計学関連なんでもあり」の過去ログ--- 043 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る