3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

自己相関,偏自己相関をpythonでプロットする方法

Last updated at Posted at 2020-05-03

#はじめに
自己相関係数と偏自己相関係数をグラフに描いたコレログラムをpythonでプロットする方法を述べる.

#自己相関係数のプロット
statsmodels.apiの関数sm.graphics.tsa.plot_acfを用いる.

#自己偏相関係数のプロット
statsmodels.apiの関数sm.graphics.tsa.plot_pacfを用いる.

#例
例として,以下のAR(1)モデルの自己相関係数をプロットする.

y_t = 1 + 0.5 y_{t-1} + \epsilon_t

ただし,$\epsilon_t$は分散1の正規ホワイトノイズとする.
また,$y_0=2$とする.

#モジュールの取り込みとグラフをいい感じにするおまじない
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.style.use('seaborn')
mpl.rcParams['font.family'] = 'serif'
%matplotlib inline
import numpy as np
import statsmodels.api as sm

#プロットするデータ列の作成
#今回は100個の時刻におけるデータを取り込む
y = np.zeros(100)
np.random.seed(42)
epsilon = np.random.standard_normal(100)
y[0] = 2
for t in range(1,100):
    y[t] = 1 + 0.5 * y[t-1] + epsilon[t]

#プロットする時系列データを見てみる
plt.plot(y)
plt.xlabel('time')
plt.ylabel('value')
plt.title('time-value plot');

次のグラフがプロットされる.
chart.jpg

#自己相関係数のプロット
sm.graphics.tsa.plot_acf(y, lags=20)
plt.xlabel('lags')
plt.ylabel('corr')

#偏自己相関係数のプロット
sm.graphics.tsa.plot_pacf(y, lags=20)
plt.xlabel('lags')
plt.ylabel('corr')

自己相関係数のコレログラム,偏自己相関係数のコレログラムがプロットされる.
c1.jpg
c2.jpg

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?