トレンド(ドリフト)付きランダムウォークモデルをシミュレーションする
ランダムウォーク(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 型のモデルを作り、nを100にして 100 観測を生成します。ドリフトを与えるためにmeanを1に設定します。結果は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