plt.plot(x_pred, arima314.forecast(7)[0], color="red", label="预测值")
时间: 2024-05-20 07:13:00 浏览: 84
这段代码是使用 matplotlib 库的 plot() 函数来绘制 ARIMA 模型的预测值。其中,x_pred 是预测值的横坐标,arima314 是 ARIMA 模型的实例,forecast() 函数用于生成模型的预测值,[0] 表示取出预测值的第一列,即预测值本身。color="red" 表示预测值的颜色为红色,label="预测值" 则是给预测值加上一个标签,方便在图例中显示。
相关问题
# 提取时间序列的预测值和真值 pred_dynamic = best_results.get_prediction(start = pd.to_datetime('2022-04-28'), dynamic=True, full_results=True) # 预测32天时用12.9,预测64天时用11.7 pred_dynamic_ci = pred_dynamic.conf_int() #存储计算值 # 提取时间序列的预测值和真值 sales_ts_forecasted = pred_dynamic.predicted_mean # sales_ts_truth = sales_ts_log['2020-04-28':] sales_ts_truth = experiment_arima_ts_log['2022-04-28':] #2019-12-09 # 预测64天用11.7 # 预测值和实际值起始时间必须一致,否则无法对比# 绘制实际图与预测值对比,样本内日期 import matplotlib.pyplot as plt axis = experiment_arima_ts['2020':].plot(label='Observed', figsize=(30, 15)) np.power(10, pred_dynamic.predicted_mean).plot(ax=axis, label='Dynamic Forecast', alpha=0.8) axis.fill_between(pred_dynamic_ci.index, pred_dynamic_ci.iloc[:, 0], pred_dynamic_ci.iloc[:, 1], color='k', alpha=.25) axis.fill_betweenx(axis.get_ylim(), pd.to_datetime('2022-04-28'), experiment_arima_ts.index[-1], alpha=.1, zorder=-1) # 浅蓝色部分起始位置 axis.set_xlabel('Years') axis.set_ylabel('Tractor Sales') plt.legend(loc='best') plt.show() # 实际值与预测值的对比
这段代码是用来绘制实际值与预测值的对比图。它首先提取了时间序列的预测值和真值,然后使用预测值和真值的起始时间绘制了对比图。预测值使用了动态预测,其中预测32天时使用了12.9,预测64天时使用了11.7。图中的实线代表观测到的值,虚线代表动态预测的值,浅蓝色部分表示预测区间。该图可以帮助我们评估预测的准确性。
ARIMA-GARCH绘制预测曲线代码
下面是用Python编写的ARIMA-GARCH模型绘制预测曲线的代码示例:
```python
import pandas as pd
from statsmodels.tsa.arima_model import ARIMA
from arch import arch_model
import matplotlib.pyplot as plt
# 加载时间序列数据
data = pd.read_csv('data.csv', header=None, names=['value'])
# 拆分训练集和测试集
train_size = int(len(data) * 0.8)
train_data, test_data = data[:train_size], data[train_size:]
# 训练ARIMA模型
arima_model = ARIMA(train_data, order=(2, 1, 2))
arima_result = arima_model.fit(disp=0)
# 预测测试集
arima_pred = arima_result.forecast(steps=len(test_data))[0]
# 训练GARCH模型
garch_model = arch_model(arima_pred, p=1, q=1)
garch_result = garch_model.fit(disp='off')
# 预测测试集波动率
garch_pred = garch_result.forecast(horizon=len(test_data))
# 绘制预测曲线
plt.plot(test_data.index, test_data['value'], label='actual')
plt.plot(test_data.index, arima_pred, label='ARIMA')
plt.plot(test_data.index, garch_pred.variance.values[-1, :] ** 0.5, label='GARCH')
plt.legend()
plt.show()
```
其中,`data.csv`是一个包含时间序列数据的CSV文件,`order=(2, 1, 2)`表示ARIMA模型的阶数为(2, 1, 2),`p=1, q=1`表示GARCH模型的阶数为(1, 1)。`plt.plot()`函数用于绘制预测曲线,其中`test_data.index`表示测试集的时间索引,`test_data['value']`表示测试集的实际值,`arima_pred`表示ARIMA模型的预测值,`garch_pred.variance.values[-1, :] ** 0.5`表示GARCH模型的预测波动率。
阅读全文
相关推荐
















