それでは毛玉諸君、これにて失敬

日々の精進を備忘録的に綴ります。

経済・ファイナンスデータの計量時系列分析 2章 MA過程

MA過程を描いてみる。

import matplotlib.pyplot as plt
import numpy as np

def ma(n, mu, theta, sigma):
    """
    1次の移動平均過程を返す
    """
    epsilon = (np.random.rand(n) * 2 - 1) * sigma
    y = []
    for i in range(n):
        if i == 0:
            yi = mu + epsilon[i]
        else:
            yi = mu + epsilon[i] + theta * epsilon[i-1]
        y.append(yi)
    return np.array(y)


# MA 過程のグラフ
n = 100

params = [(0, 0.8, 1), (2, 0.5, 0.5), (-2, 0.3, 2), (0, -0.3, 1), (2, -0.5, 0.5), (-2, -0.8, 2)]
row = 3
col = 2

fig, ax = plt.subplots(row, col, figsize=(10, 8))
for i, (mu, theta, sigma) in enumerate(params):
    i_row = i // col 
    i_col = i % col 
    print(i_row, i_col)

    x = range(n)
    y = ma(n, mu, theta, sigma)

    ax[i_row][i_col].plot(x, y)
    ax[i_row][i_col].set_title(f"mu: {mu}, theta: {theta}, sigma: {sigma}")
    

plt.tight_layout()
plt.show()

  •  y_t y_{t-1} で同じ要素をもつ
  •  q 次の自己相関をモデル化するためには、 q 個のパラメータが必要になるため、長期間にわたる自己相関をモデル化するためには多くのパラメータが必要になる
  • ホワイトノイズの線形和で表されるため、解釈が難しい

モデルの問題点が挙げられているところがこの教科書の素晴らしいところだと思う。
でないとこのあと出てくるAR過程、ARMA過程のありがたみが分からないので。