- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 statsmodels.tsa.SARIMAX() 来训练具有外生变量的模型。当使用外生变量训练模型以便返回的对象包含预测均值和置信区间而不仅仅是一组预测均值结果时,是否存在 get_prediction() 的等价物? predict() 和 forecast() 方法采用外生变量,但只返回预测平均值。
SARIMA_model = sm.tsa.SARIMAX(endog=y_train.astype('float64'),
exog=ExogenousFeature_train.values.astype('float64'),
order=(1,0,0),
seasonal_order=(2,1,0,7),
simple_differencing=False)
model_results = SARIMA_model.fit()
pred = model_results.predict(start=train_end_date,
end=test_end_date,
exog=ExogenousFeature_test.values.astype('float64').reshape(343,1),
dynamic=False)
这里的 pred 是一个预测值数组,而不是一个包含预测平均值和置信区间的对象,如果您运行 get_predict() 将获得该对象。请注意,get_predict() 不采用外生变量。
我的statsmodels版本是0.8
最佳答案
存在一些与向后兼容性相关的问题,导致完整结果(带有预测间隔等)未公开。
为了让你现在得到你想要的:使用 get_prediction 和 get_forecast 函数,参数如下所述
pred_res = sarimax_model.get_prediction(exog=ExogenousFeature_train.values.astype('float64'), full_results=True,alpha=0.05)
pred_means = pred_res.predicted_mean
# Specify your prediction intervals by alpha parameter. alpha=0.05 implies 95% CI
pred_cis = pred_res.conf_int(alpha=0.05)
# You can then plot it (import matplotlib first)
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1,1,1)
#Actual data
ax.plot(y_train.astype('float64'), '--', color="blue", label='data')
# Means
ax.plot(pred_means, lw=1, color="black", alpha=0.5, label='SARIMAX')
ax.fill_between(pred_means.index, pred_cis.iloc[:, 0], pred_cis.iloc[:, 1], alpha=0.05)
ax.legend(loc='upper right')
plt.draw()
更多信息,请访问:
关于Python 统计模型 : Using SARIMAX with exogenous regressors to get predicted mean and confidence intervals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39700424/
我编写了以下代码,但我就是无法让“预测”方法起作用: import statsmodels.api as sm from statsmodels.formula.api import ols ols_
我正在尝试使用适用于 Python 的最新(第二个)0.3 版本的 Prophet 包。 我的模型应该包含一个外生回归量,但我收到一个 ValueError ,指出数据框中确实缺少现有的回归量。这是一
我定义了一个回归量如下: nn1 = Regressor( layers=[ Layer("Rectifier", units=150), Layer("Rectifier", uni
我正在使用 Gaussian Process Regressor scikit 学习为模型预测数据。在使用 gp 时,我还需要找出数据集中存在的每个值的不确定性。文档建议使用“gp.predict(s
我一直在尝试使用 sklearn 对一些虚拟数据执行简单的多元线性回归。我最初通过 sklearn.linear_model.LinearRegression.fit numpy 数组并不断收到此错误
我正在使用 statsmodels.tsa.SARIMAX() 来训练具有外生变量的模型。当使用外生变量训练模型以便返回的对象包含预测均值和置信区间而不仅仅是一组预测均值结果时,是否存在 get_pr
我是一名优秀的程序员,十分优秀!