python之多元时间序列ARIMAX
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport statsmodels.api as smfrom pylab import mpl# 画图中文mpl.rcParams['font.sans-serif'] = ['SimHei']mpl.rcParams['a
其中,coef
列显示每个特征的重量(即重要性)以及每个特征如何影响时间序列。 P>|z|
列通知我们每个特征重量的意义。 这里,每个重量的p值都低于或接近0.05
,所以在我们的模型中保留所有权重是合理的。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inlineimport statsmodels.api as sm
from pylab import mpl# 画图中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsedata_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[["变量"]])
更多推荐
所有评论(0)