白色雑音モデルとランダムウォークモデルは定常ですか?
白色雑音(WN)モデルとランダムウォーク(RW)モデルは非常に密接に関連しています。しかし、ドリフト項の有無にかかわらず、常に非定常なのは RW だけです。本演習では、シミュレーションでその違いを確かめます。
平均ゼロの WN 過程から始めて、そのランニングサム(累積和)を計算すると、結果は RW 過程になります。cumsum() 関数を使うと、この変換を簡単に行えます。同様に、WN 過程を作って平均をゼロ以外に変え、その累積和を計算すると、ドリフトを持つ RW 過程になります。
この演習はコースの一部です
Rで学ぶ時系列分析
演習の手順
arima.sim()を使って WN モデルを生成します。model引数をlist(order = c(0, 0, 0))にして WN 型のモデルを作り、nを100に設定して 100 観測を生成します。結果をwhite_noiseに保存します。cumsum()関数をwhite_noiseに適用し、WN モデルを RW データに素早く変換します。結果をrandom_walkに保存します。- 同様に
arima.sim()を呼び出して 2 つ目の WN モデルを生成します。引数は同じにしつつ、今回はmean引数を0.4に設定します。結果をwn_driftに保存します。 - もう一度
cumsum()を呼び出して、wn_driftデータを RW に変換します。結果をrw_driftとして保存します。 - 比較のため、4 つの系列すべてをプロットするための用意されたコードを入力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Use arima.sim() to generate WN data
white_noise <-
# Use cumsum() to convert your WN data to RW
random_walk <-
# Use arima.sim() to generate WN drift data
wn_drift <-
# Use cumsum() to convert your WN drift data to RW
rw_drift <-
# Plot all four data objects
plot.ts(cbind(white_noise, random_walk, wn_drift, rw_drift))