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()
- と で同じ要素をもつ
- 次の自己相関をモデル化するためには、 個のパラメータが必要になるため、長期間にわたる自己相関をモデル化するためには多くのパラメータが必要になる
- ホワイトノイズの線形和で表されるため、解釈が難しい
モデルの問題点が挙げられているところがこの教科書の素晴らしいところだと思う。
でないとこのあと出てくるAR過程、ARMA過程のありがたみが分からないので。