- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个使用 statsmodels 的非常简单的 Sarimax 模型:
mdl = sm.tsa.statespace.SARIMAX(ts_monthly, exog=ts_exog, order=(3,1,0)).fit()
其中 ts_monthly
和 ts_exog
是按日期索引的 pandas 系列:
df
date vl_1 vl_2
2016-01-01 10 12
2016-02-01 14 1
2016-03-01 98 33
ts_monthly = df.vl_1
ts_exog = df.vl_2
模型拟合有效,但是当我尝试运行 get_prediction
时,出现以下错误:
ts = pd.Series([12,3,2], index=pd.date_range('2016-04-01', '2016-07-01', freq='M'))
mdl.get_prediction('2016-03-01', '2016-07-01', exog=ts, dynamic=False)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-135-c89e9e005a31> in <module>()
6 print(mdl.summary())
7 _ = mdl.plot_diagnostics()
----> 8 pred = mdl.get_prediction(start=start_date, end=end_date, exog=ts_exog, dynamic=False)
9 pred_ci = pred.conf_int()
10
C:\Users\myuer\bin\anaconda3\lib\site-packages\statsmodels\tsa\statespace\sarimax.py in get_prediction(self, start, end, dynamic, exog, **kwargs)
1901 ' appropriate shape. Required %s, got %s.'
1902 % (str(required_exog_shape),
-> 1903 str(exog.shape)))
1904 exog = np.c_[self.model.data.orig_exog.T, exog.T].T
1905
ValueError: Provided exogenous values are not of the appropriate shape. Required (3, 1), got (3,).
关于预测外生序列必须具有何种形状的任何想法?
最佳答案
虽然您的预测系列在 pandas 系列中(因此是一个 numpy ndarray),但形状 (3,) 表示它只有一个索引(即您使用单个索引访问其值,如 ts[0]
).如果您使用 ts.reshape(3, 1)
reshape 数据您创建第二个索引(始终为 0
)以便可以以 ts[0, 0]
的方式访问值.
我还没有深入研究这种行为来理解它的基本原理,但我在处理依赖/相关模块(如 scipy 和 scikit-learn)时也看到了它。
关于python - Statsmodels SARIMAX get_prediction 上形状不合适的 Exog 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44977239/
我正在运行来自 linearmodels 的 PanelOLS包。 通常情况下,某些观察结果会丢失。当我在 R 中运行等效命令时(我认为等效命令是 plm),我得到以下信息: Unbalanced P
我有一个使用 statsmodels 的非常简单的 Sarimax 模型: mdl = sm.tsa.statespace.SARIMAX(ts_monthly, exog=ts_exog, orde
当我使用 FOR 循环运行迭代来构建多个模型时,出现上述错误。前两个具有相似数据集的模型构建良好。在构建第三个模型时,我收到此错误。抛出错误的代码是当我使用 python 的 Statsmodel 包
我正在尝试使用 ARIMA 模型预测几个值。我收到以下错误。我试图消除预测的平稳性和其他必要条件。有人可以指出为什么会生成此错误以及如何解决此问题吗?我是 Python 新手。提前致谢。 错误完成器错
我的一个 friend 问我这个线性回归代码,我也无法解决,所以现在这也是我的问题。 我们收到错误:ValueError:endog 和 exog 矩阵大小不同 当我从 ind_names 中删除“T
我正在尝试运行多变量回归并收到错误: “ValueError:endog 和 exog 矩阵大小不同” 我的代码片段如下: df_raw = pd.DataFrame(data=df_raw) y =
我正在尝试使用 statsmodels.api 拟合多元线性回归模型。我收到错误 MissingDataError: exog contains inf or nans。我已经检查了 nans 和 i
我是一名优秀的程序员,十分优秀!