以下の本を読みます。
時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装 馬場 真哉 プレアデス出版 2018-02-14 売り上げランキング : 7742 Amazonで詳しく見る by G-Tools |
えーと、前回やったのは、時系列分析っていうのは時系列モデルを推定することで、時系列データには周期性とかの構造があって、第2部が具体的なモデル推定の手順か(前回の最後にジュンがちょっとしゃべっちゃってたけど…)。最初はまず定常過程の説明からで、平均と分散が時刻によらず一定で、自己相関も時点によらず時間差にのみ依存するのが定常過程で、そうじゃないのが非定常過程ね。でも非定常過程でも定常過程に変換できることがあるんだ。変換できる例が単位根過程? なんか変な名前…。
単位根過程は1階差分が定常過程になるような非定常過程のことですね。そのような名前である理由まではこの本には触れられていないようですが、自己相関を特徴付けるある方程式が1を解にもつことに由来していて…その方程式については後の方で出てくるようですね。
ふーん? …なあジュン、38ページの (2-6) 式って「定数+ホワイトノイズ」なの? 「定数+ホワイトノイズ-1時点前のホワイトノイズ」にみえるんだけど、「ホワイトノイズ-1時点前のホワイトノイズ」は「ホワイトノイズ」ってこと?
確認すればいいでしょう。「ホワイトノイズ-1時点前のホワイトノイズ」の平均が0なのは自明、分散は なので時刻によらず一定ですね。1次の自己共分散は なので1次のみゼロではありませんが、時点によらず時間差のみに依存するので結局定常過程ですね。ならいいじゃないですか。
でもちょっと気になるじゃん。サポートページにコメントしといた…ら返信もらえた!
何やってるんですか…。
42ページからはARIMAモデル? まずはARモデル…AR(1) だったらある時点の値は1時点前の値で回帰されるってことか。これって、昨日の気温が暑かったから今日も暑い、みたいな表現ができるってことだよな。iid 系列よりこういうモデルの方が時系列モデルって感じがするかも。…あれ? iid 系列は定常過程だったけど、ARモデルは定常過程なの? Box-Jenkins 法ではまず定常過程にしてから色々なモデルを適用するんだよな。このARモデルもそんな風にしてから適用するモデルの例ってことは、定常過程ってこと?
44ページに、AR(1) の特別な場合について何て書いてあります?
とは限りません。一般の AR(1) の期待値、分散、自己共分散を考えてみましょう。AR(1) の一般形は です。両辺の期待値をとると、 になり、両辺の分散を取ると になりますね。もしこれが定常過程であれば、 ですが、 のとき はこれを満たしますね。このとき自己共分散はどうでしょうか。 次自己共分散は となります。これは時点に依存しませんので、定常過程です。つまり、AR(1) は ならば定常過程になりえます。逆に ならば期待値や分散は上の値に収束し、結局必ず定常過程になるのですが。
ARモデルが定常か非定常かは係数によるってことか…なんか面倒だな。定常データのモデリングにつかうつもりなら、もう ってことに最初から決めておけばよくない?
1次のARモデル AR(1) の場合はそれでよいんですが…2次以上になると係数への制約をそう簡単に書き下せないんです。先ほどの AR(1) の 次自己共分散は、 次自己共分散と という関係が成り立っていましたよね。もっと一般に、p次のARモデル AR(p) の 次自己相関 について、 が成り立つんです。この式は、 からはじめて順に まで自己相関を紡いでいく漸化式と見做すことができるでしょう。この漸化式の特性多項式は です。同じ式が本の50ページにありますね。 はこの特性多項式の 個の根を 乗したものの線形和で書けるんです。漸化式は数学Bでやりましたよね? 数列 の隣接3項間漸化式を特性多項式の根を用いて解くときに、 の一般形に根 の 乗があらわれたのを思い出してください。ここでは(添え字の向きがややこしいですが) かつ なので ということです。ということは、もし根 の中に絶対値が1以下のものが混じっていたら、 が大きくなるほど が振動か爆発し、ARモデルは不安定になってしまいます。というわけで、特性多項式のすべての根の絶対値が1より大きいことが、ARモデルが定常である条件なんです。
…よくわかんないけど、ARモデルが定常になる条件が面倒なのはわかったよ…。
あー! それは置いとこう! なんか全然話進んでないし! 本に戻ると、ARモデルとは別にMAモデルっていうのもあるって。これは…過去 q 時点のノイズで現時点の値を回帰するってことか。…でも、ARモデルも過去の値を通して過去のノイズが含まれているよな。どう違うんだろう?
…すみません、確かに脇道にそれ過ぎましたね。ARモデルとMAモデルの関係は49ページにありますね。AR(1) は実質 MA(∞) だと。だから、過去の実現値そのものと関係がありそうな時系列データなら、ARモデルが向いているでしょう。無理やり MA(q) モデルで推定すると、q を非常に大きくしなければならないでしょうから。逆にMAモデルをARモデルで表現するときは…この話は50ページにありますね。MAモデルは(同じ期待値、分散、自己相関をもつ過程が複数存在するのですが、その内「反転可能」といわれる1つの過程は)AR(∞) に書き直すことができます。なので、MAモデルから生成されたデータを無理やり AR(p) モデルで推定しても p が大きくなってしまい、よくないでしょう。ARモデルとMAモデルはどちらかがどちらかを兼ねるというわけにはなっていないんですね。
なるほど。47ページにはARモデルとMAモデルのコレログラムがある…これは、これ見てどう思えばいいの?
モデルを推定するのに、対象時系列データの自己相関や偏自己相関のコレログラムを眺めてモデル選択するのが伝統的な手順だったんです。しかしこの本は、そう教えていませんね。そのようなコレログラムの観察は、計算資源が乏しかった頃の「古い同定の手順」だと60ページに。ただ、伝統的な手順にならえば…例えばハヤトが分析したい対象時系列データの標本自己相関をコレログラムにプロットしたところ、2次以降の自己相関がほとんどゼロだったとします。ARモデルとMAモデルのどちらを適用したいですか?
自己相関? って偏自己相関じゃない方だよな? 47ページだと ACF っていうグラフの方…がすぐにゼロになっているのは…MAモデルの方?
ええ、逆に偏自己相関の方がすぐにゼロになっていたらARモデルを適用、という具合です。MA(q) は q+1 次以降自己相関をもちません。AR(p) は p+1 次以降偏自己相関をもちません。しかし、MA(q) は AR(∞) なので無限に偏自己相関をもち、AR(p) は MA(∞) なので無限の自己相関をもつんですね。
ARモデルとMAモデルってそういう違いがあるのか。それで、両方を組み合わせたのがARMAモデルで、ARIMAモデルというのは、何度か差分を取ってからARMAモデルを適用するってことか。54ページからのSARIMAモデルは、季節成分を考慮したARMAモデル…え、(2-39) 式って何これどうなってんの??
落ち着いてください。例えば SARIMA(0,0,1)(0,0,1)[12] を考えてみましょう。このとき、(2-39) 式は、 ですから、ラグ演算子 を用いずに書けば、 ということです。
なんだそういうことか…じゃあ、SARIMA(0,0,1)(0,0,1)[12] は、1時点前のノイズに依存していてその係数が で、12時点前のノイズにも依存していてその係数が で、13時点前のノイズにも依存していてその係数が なのか…。なんか13時点前って気持ち悪くない?「1時点前」はさっきのノイズへの依存って感じで、「12時点前」は昨年のこの月のノイズへの依存って感じでわかりやすいけど、「13時点前」ってさあ…。
昨年のこの月の影響を織り込み済みのノイズ「」を新たに「」とみなしてこれで MA(1) を適用するって考えればいいんじゃないでしょうか。
あー確かに。SARIMAモデルって(月ごとに値がある周期12の時系列だったら)こんな感じなのかな?
- 必要ならデータ全体を前年同期との(D階)差分にする。
- 必要ならデータ全体を前月との(d階)差分にする。
- 同じ月の系列「2000年1月の値、2001年1月の値、2002年1月の値、…」を説明する ARMA(P, Q) モデルを決める(但し、どの月も同一のモデル)。
- さっきの ARMA(P, Q) での過去のノイズへの依存も含めたノイズを新しい「現時点のノイズ」とみなし、過去の値への依存も含めた値を新しい「現時点の値」とみなし、ARMA(p, q) を適用する。
SARIMA が実装されているパッケージでは上手くやっているんじゃないでしょうか…。
第2部の4章の最後は、ARIMAXモデル…これはイベントの影響を考慮することができるモデルで…ダミー変数って何? 過去の値とか過去のノイズだけじゃなくて、こういうのにも依存していいの?
そうですね、 が各日のドーナツ屋の売上高だったとしたら、よりよく推定するために、売上高以外にも日ごとの情報を色々追加してしまおうということですね。 は「その日が平日か休日か」「その日が晴れか雨か」「その日に近くでコンサートがあるか」などがありえると思います。しかし、「平日」も「休日」も数字ではありません。そこで仮に「平日=0」「休日=1」などと適当な数字を割り当ててしまいます。これがダミー変数です。