1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶ時系列分析

Connected

演習

自己相関を計算する

自己相関(遅れ相関)は、時系列がその過去に依存しているかを評価するために使われます。長さ n の時系列 x について、時間差が1の観測ペアを n-1 組考えます。最初のペアは (x[2],x[1])、次は (x[3],x[2]) です。これらはすべて観測インデックス t を用いて (x[t],x[t-1]) と表せ、ここでは t を 2 から n まで動かします。x のラグ1自己相関は、これらの (x[t], x[t-1]) ペアの標本相関として推定できます。

一般には、これらの観測ペアを手作業で作成できます。まず、長さがそれぞれ n-1 の 2 つのベクトル x_t0 と x_t1 を作り、各行が (x[t], x[t-1]) のペアに対応するようにします。続いて cor() 関数を適用して、ラグ1自己相関を推定します。

幸い、acf() コマンドを使うと近道ができます。系列 x に対して acf(..., lag.max = 1, plot = FALSE) を適用すると、ラグ1自己相関を自動で計算します。

最後に、2 つの推定値がわずかに異なる点に注意してください。これは、標本共分散の計算で 1/(n-1) と 1/n という異なるスケーリングを用いるためです。後者は不偏ではありませんが、時系列解析ではこちらが好まれることが多く、得られる自己相関の推定値は係数 (n-1)/n の違いだけになります。

この演習では、ラグ1自己相関の手動計算と自動計算の両方を練習します。時系列 x とその長さ n(150)はすでに読み込まれており、右のプロットに表示されています。

指示

100 XP
  • 長さがそれぞれ n-1 の 2 つのベクトル x_t0 と x_t1 を作成し、各行が (x[t], x[t-1]) のペアに対応するようにします。
  • 事前に用意されたコードを使って、x_t0 と x_t1 が (x[t], x[t-1]) のペアになっていることを確認します。
  • plot() を使って、x_t0 と x_t1 の散布図を表示します。
  • cor() を使って、x_t0 と x_t1 の相関を表示します。
  • x に対して acf() を使い、ラグ1自己相関を自動で計算します。lag.max 引数を 1 に設定して 1 期間のラグのみを計算し、plot 引数は FALSE に設定します。
  • 事前に用意されたコードを使って、差分の係数が (n-1)/n であることを確認します。