始める無料で始める

トレンド(ドリフト)付きランダムウォークモデルをシミュレーションする

ランダムウォーク(RW)は必ずしもゼロの周りをさまようとは限らず、上向きまたは下向きの軌道、すなわちドリフト(時間トレンド)を持つことがあります。これは、RW モデルに切片を含めることで実現でき、RW の時間トレンドの傾きに対応します。

別の表現として、一定の平均をもつホワイトノイズ(WN)系列の累積和をとると、その平均が RW の時間トレンドの傾きに対応します。

ドリフト付きの RW モデルからデータをシミュレーションするには、arima.sim() 関数に model = list(order = c(0, 1, 0)) 引数を指定して使います。今回はさらに、ドリフト(切片)を指定するために mean = ... という追加引数を与えてください。

この演習はコースの一部です

Rで学ぶ時系列分析

コースを見る

演習の手順

  • arima.sim() を使って別の RW モデルを生成します。model 引数を list(order = c(0, 1, 0)) にして RW 型のモデルを作り、n100 にして 100 観測を生成します。ドリフトを与えるために mean1 に設定します。結果は rw_drift に保存してください。
  • ts.plot() を使って、rw_drift データをプロットします。
  • diff() を使って、rw_drift データの一次差分を計算します。これを rw_drift_diff として保存します。
  • もう一度 ts.plot() を呼び出して、rw_drift_diff をプロットします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Generate a RW model with a drift uing arima.sim
rw_drift <- arima.sim(model = ___, n = ___, mean = ___)

# Plot rw_drift


# Calculate the first difference series
rw_drift_diff <- 

# Plot rw_drift_diff

コードを編集して実行