用python写一个ARMA模型代码
时间: 2023-05-28 08:07:17 浏览: 124
以下是一个简单的ARMA模型代码示例,其中使用了statsmodels库:
```python
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_process import arma_generate_sample
from statsmodels.tsa.arima_model import ARMA
# 生成ARMA过程数据
np.random.seed(42)
arparams = np.array([0.75, -0.25]) # AR(2)系数
maparams = np.array([0.65, 0.35]) # MA(2)系数
ar = np.r_[1, -arparams] # AR特征方程系数
ma = np.r_[1, maparams] # MA特征方程系数
arma_process = arma_generate_sample(ar, ma, nsample=1000)
# 拟合ARMA模型
model = ARMA(arma_process, order=(2, 2))
result = model.fit()
# 绘制原始数据和预测结果
plt.plot(arma_process, label='Original Data')
plt.plot(result.predict(start=0, end=999), label='Predicted Data')
plt.legend()
plt.show()
```
在这个示例中,我们首先使用了`arma_generate_sample()`函数生成了一个ARMA(2, 2)的时间序列数据,然后使用`ARMA()`函数拟合了一个ARMA(2, 2)模型。最后,我们绘制了原始数据和模型的预测结果。
阅读全文