statsmodels.tsa.statespace.structural.UnobservedComponentsResults.append

UnobservedComponentsResults.append(endog, exog=None, refit=False, fit_kwargs=None, copy_initialization=False, **kwargs)

使用新数据附加到原始数据来重新创建结果对象

创建一个新的结果对象,应用于通过将新数据附加到模型原始数据的末尾而创建的数据集。然后可以使用新的结果进行分析或预测。

Parameters:
endogarray_like

来自建模时间序列过程的新观测值。

exogarray_like, optional

外生回归变量的新观测值(如适用)。

refitbool, optional

是否根据合并后的数据重新拟合参数。默认是 False(因此使用当前结果对象的参数来创建新的结果对象)。

copy_initializationbool, optional

是否将当前结果集的初始化复制到新模型中。默认是 False

fit_kwargsdict, optional

传递给 fit 的关键字参数(如果 refit=True)或 filter / smooth

copy_initializationbool, optional
**kwargs

关键字参数可用于在创建新模型对象时修改模型规范参数。

Returns:
results

更新的结果对象,包括来自原始数据集和新数据集的结果。

注释

此方法的 endogexog 参数必须与传递给原始模型的 endogexog 数组格式相同(例如,Pandas Series 与 Numpy 数组)。

此方法的 endog 参数应包含在 endog 的最后一个元素之后直接发生的新观测值。对于其他类型的数据集,请参见 apply 方法。

此方法将对所有原始数据以及新数据应用过滤。如果原始数据集很大,仅对新数据应用过滤(这样可以快得多),请参阅extend方法。

示例

>>> index = pd.period_range(start='2000', periods=2, freq='Y')
>>> original_observations = pd.Series([1.2, 1.5], index=index)
>>> mod = sm.tsa.SARIMAX(original_observations)
>>> res = mod.fit()
>>> print(res.params)
ar.L1     0.9756
sigma2    0.0889
dtype: float64
>>> print(res.fittedvalues)
2000    0.0000
2001    1.1707
Freq: A-DEC, dtype: float64
>>> print(res.forecast(1))
2002    1.4634
Freq: A-DEC, dtype: float64
>>> new_index = pd.period_range(start='2002', periods=1, freq='Y')
>>> new_observations = pd.Series([0.9], index=new_index)
>>> updated_res = res.append(new_observations)
>>> print(updated_res.params)
ar.L1     0.9756
sigma2    0.0889
dtype: float64
>>> print(updated_res.fittedvalues)
2000    0.0000
2001    1.1707
2002    1.4634
Freq: A-DEC, dtype: float64
>>> print(updated_res.forecast(1))
2003    0.878
Freq: A-DEC, dtype: float64

Last update: Oct 16, 2024