有馬以前または有馬内の時系列の差


12

Arimaを使用する前にシリーズを区別すること(それが必要であると仮定)またはArima内でdパラメーターを使用する方が良いですか?

同じモデルとデータでどのルートを採用するかによって、適合値がどのように異なるかは驚きました。それとも私は間違って何かをしていますか?

install.packages("forecast")
library(forecast)

wineindT<-window(wineind, start=c(1987,1), end=c(1994,8))
wineindT_diff <-diff(wineindT)

#coefficients and other measures are similar
modA<-Arima(wineindT,order=c(1,1,0))
summary(modA)
modB<-Arima(wineindT_diff,order=c(1,0,0))
summary(modB)

#fitted values from modA
A<-forecast.Arima(modA,1)$fitted

#fitted from modB, setting initial value to the first value in the original series
B<-diffinv(forecast.Arima(modB,1)$fitted,xi=wineindT[1])


plot(A, col="red")
lines(B, col="blue")

追加:

私は一度シリーズを区別し、arima(1,0,0)を当てはめ、その後、arima(1,1,0)を元のシリーズに当てはめていることに注意してください。私は、差分ファイル上のarima(1,0,0)の適合値の差分を逆にしています(と思います)。

予測ではなく、適合値を比較しています。

以下がプロットです(赤はarima(1,1,0)、青は元のスケールに戻った後の差分系列のarima(1,0,0)です):

ここに画像の説明を入力してください

ハインドマン博士の回答に対する回答:

1)Arima(1,1、 0)と手動で異なるシリーズのArima(1,0,0)?これはmodAに含まれていないという意味に関係していると思いますが、どうすればいいのか完全にはわかりません。

2)#3について。私は明らかに不足しているのですが、知っているではありませんX T = X T - 1 + φ X T - 1 - X T - 2YトンX^t=Xt1+ϕ(Xt1Xt2)同じ場合のY tをのように定義される X T - X T - 1Y^t=ϕ(Xt1Xt2)Y^tX^tXt1?私は「無差別」だと言っているのですか?


1
アップデートについて。1)これを行う意味はありません。Arima()は近似値と予測を生成します。Arima()が既に行うのと同じことを行うために、なぜ追加のRコードを作成する必要があるのですか?2)はい。ただし、X-hatを差分してもY-hatは得られません。したがって、差別化されていないY-hatはX-hatを提供しません。
ロブハインドマン

2
ありがとう。1)私にとっては学習課題でした。2)元の質問(diffinvを使用)の計算における私のエラーは、フィットした値を使用することにあり、オリジナルではなく、これから得ているものです(?)...これは適切な方法の1つにつながりますデータの違いはありません。方程式を使用して本の例をたどろうとするだけで、有馬がそれを行うことを知っています。
B_Miner

回答:


14

ここにはいくつかの問題があります。

  1. 最初に差を付けるとArima()、差のあるデータにモデルが適合します。あなたが許可すればArima()推定手順の一部として、差分を行い、それが前に初期化のために拡散を使用します。これはのヘルプファイルで説明されていますarima()。したがって、最初の観測の処理方法が異なるため、結果は異なります。推定の質の点で大きな違いはないと思います。ただし、Arima()元の(差異のない)データの予測または近似値が必要な場合は、差分を処理する方がはるかに簡単です。

  2. 推定値の違いは別modBとして、定数while modAが含まれているため、2つのモデルは同等ではありません。デフォルトでArima()は、場合は定数が含まれ、d > 0の場合は定数が含まれません。引数でこれらのデフォルトを上書きできます。d=0d>0include.mean

  3. X^t=Xt1+ϕ(Xt1Xt2)
    Y^t=ϕ(Xt1Xt2)
    は元の時系列で、 { Y t }は差分系列です。こうして X T - X T - 1Yの T{Xt}{Yt}
    X^tX^t1Y^t.

1
+1、私は答えとして2点を与えるつもりでした。他の2人を含むことに対する
称賛

ハインドマン博士、ご回答ありがとうございます!時系列分析について学ぶためにALOTがあります。フォローアップをお願いできますか?この情報で何をすべきかを正確に知っているかどうかはわかりませんので、元の質問に追加を投稿しています。
B_Miner

2

場合によっては、系列を静止させるために局所的な手段を削除する必要があります。元のシリーズに消滅しないacfがある場合、これはシリーズのレベル/ステップシフトが原因である可能性があります。救済策は、シリーズを軽meanすることです。

賞金への対応:

同じ結果/適合値を取得する方法は、最初の差(dely)を取得するために元の(Y(t)シリーズを物理的に差分した後、定数なしでAR(1)を推定します。これは、形式dely(t)= B1 * dely(t-1)+ a(t)インターセプトなし。このモデルからの適合値は、適切に次数1で統合され、モデルの適合値が得られます。 1-B] [AR(1)] Y(t)= a(t)。AUTOBOXを除き、ソフトウェアのほとんどの部分では、定数なしでAR(1)モデルを推定することはできません。 dely = + [(1- .675B * 1)] **-1 [A(T)]の方程式、Yの方程式は

[(1-B * 1)] Y(T)= + [(1- .676B * 1)] **-1 [A(T)]。Yの物理的な差分によって生じる丸め誤差に注意してください。差分が有効な場合(モデル内)、または定数を含めるか除外するかをユーザーが選択できないことに注意してください。通常のプロセスでは、定常(つまり、差異のない)ARIMAモデルに定数を含め、オプションでモデルに差分がある場合に定数を含めます。私の意見では、代替アプローチ(Arima)は定数を定常モデルに押し込み、それがあなたのジレンマを引き起こしたようです。


この場合、delta-yのarima(1,0,0)とyのarima(1,1,0)の間の適合値に影響しますか?
B_Miner

どちらの場合でも、時系列の最初の違いにAR(1)を当てはめていますか?それが当てはまり、適合方法が同じである場合、まったく同じことを行う必要があります。操作の順序に違いさえありません。
マイケルR.チャーニック

ここではそうではないようです。おそらく@Rob_Hyndmanがチェックインします
。– B_Miner

1

どういうわけか他の方法よりも多くの時間差がある場合を除き、結果に違いがある理由はわかりません。ARIMA(p、d、q)の場合、モデルのフィッティングの前にdの違いが最初に行われます。次に、定常ARMA(p、q)モデルが差分シリーズに適合します。仮定は、シリーズの多項式トレンドを除去した後、残りのシリーズは静止しているということです。差の数は、削除する多項式の次数に対応します。したがって、線形トレンドの場合は1つの違いを取り、2次トレンドの場合は2つの違いを取ります。ジョンの答えで言われたことのほとんどには同意しません。


0

I(1)シリーズを区別する1つの理由は、それを静止させることです。ARIMAモデルの仕様が正しいと仮定すると、モデルの残差から自己回帰成分と移動平均成分が除去され、静止しているはずです。その点で、差分ではなくモデルの残差を使用することは理にかなっています。ただし、およそI(1)と思われるデータが大量にある状況では、一部の人々はARIMAモデルを完全に推定するのではなく、単にデータを変えるだけです。ARIMAモデルは、時系列の問題の多くに当てはまる場合がありますが、違いは意味がありません。たとえば、データに平均復帰が発生する場合、これはI(1)ではない可能性があるため、これが常に差分に適しているとは限りません。


違いがこれほど大きくなると思いますか?違いから元の状態に戻す方法で、何か間違ったことをしていると思いました。
B_Miner

あなたがしたことを正確に説明してもらえますか?私はRコードを読むのが苦手です。両方の方法で同じ数の差を取り、差の後に同じARMAモデルを近似する場合、近似手法が同じである限り、同じ結果が得られます(通常、条件付き最小二乗法が使用されます)。
マイケルR.チャーニック

彼はいくつかのデータを取得し、ARIMA(1,1,0)に適合し、差分を取得してARIMA(1,0,0)に適合します。最後に、彼はサンプル予測の1つの期間を相互に比較します。恐らくそれらは異なっていますが、投稿のグラフを見ることができません。
ジョン

私が言っていることが理にかなっている理由の簡単な例は、 yt=βyt1+ϵt。違いを取るとyt=β1yt1+ϵt。ただし、検索したい場合ϵt、推定すると同じ答えは得られない yt=βyt1+ϵt
ジョン

1
最後に正しい。5分でLaTexを実行できません!私の知る限り、上記の式は両方の方法で得られます。
マイケルR.チャーニック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.