python之多元时间序列ARIMAX

python之多元时间序列ARIMAX_第1张图片

python之多元时间序列ARIMAX_第2张图片

python之多元时间序列ARIMAX_第3张图片

其中,coef列显示每个特征的重量(即重要性)以及每个特征如何影响时间序列。 P>|z| 列通知我们每个特征重量的意义。 这里,每个重量的p值都低于或接近0.05 ,所以在我们的模型中保留所有权重是合理的。 

python之多元时间序列ARIMAX_第4张图片

python之多元时间序列ARIMAX_第5张图片

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

import statsmodels.api as sm
from pylab import mpl

# 画图中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

data_df = pd.read_excel("先行期数划分.xlsx", encoding="ANSI", sheet_name="电量")

data_df.columns = ["时间", "电量"]

# 先行期即变量
data_df["变量"] = data_df["电量"]-10000
data_df.head()

data_df.index=data_df["时间"]

data_df[["电量"]].plot()

# 训练集、测试集
train_df = data_df.iloc[:-5,:]
test_df = data_df.iloc[-5:,:]

# 训练
modle = sm.tsa.statespace.SARIMAX(train_df["电量"], exog=train_df["变量"]).fit(disp=-1)
modle.summary()

# 预测5个月
modle.forecast(steps=5, exog=test_df[["变量"]])

你可能感兴趣的:(编程练习)