我正在使用 statsmodelARMA()
来估计模拟MA(1)
过程:
import statsmodels.tsa.api as smt
import numpy as np
import matplotlib.pyplot as plt
# Simulate an MA(1) process
n = int(1000)
alphas = np.array([0.])
betas = np.array([0.6])
ar = np.r_[1, -alphas]
ma = np.r_[1, betas]
ma1 = smt.arma_generate_sample(ar=ar, ma=ma, nsample=n) #input
# Fit the MA(1) model to our simulated time series
max_lag = 30
mdl = smt.ARMA(ma1, order=(0, 1)).fit(maxlag=max_lag, method='mle', trend='nc')
# in sample predict
pred = mdl.predict()
#plotting
plt.style.use('bmh')
fig = plt.figure(figsize=(9,7))
ax = plt.gca()
plt.plot(ma1, label='Actual')
plt.plot(pred, 'r-', label = "In-sample predict")
plt.legend(loc='upper left')
我得到以下信息:
样本内预测似乎是按比例缩放的。这是为什么?
我还绘制了实际值和预测值的累积和,因为通常我们会使用一阶差分来整合数据。
fig = plt.figure(figsize=(9,7))
ax = plt.gca()
plt.plot(ma1.cumsum(), label='Actual')
plt.plot(pred.cumsum(), 'r-', label='Predict')
plt.legend(loc='upper left')
我得到了这样的东西:
我做错什么了吗?天秤怎么这么差?