我正在尝试使用statsmodels库statsmodel.tsa.statespace.sarimax.SARIMAX从Python语言中的离散时间序列数据识别状态空间模型。 我需要状态空间通用形式(here the statsmodel reference)的矩阵:从statsmodel页面可以解释这些矩阵,但不清楚如何推断它们。 例如,如果我想对识别的模型应用卡尔曼滤波器(通过sarimax),我需要此图片中描述的矩阵state space matrices needed 是否可以使用statsmodel获得矩阵系数
在训练了sarimax模型之后,我希望将来能够用新的观测来预编预报,而不必再训练它。然而,我注意到我在新应用的预测中使用的观测数改变了预测。
根据我的理解,只要给出足够的观测量,允许正确地计算自回归和移动平均,该模型甚至不会使用先前的历史观测来通知自己,因为系数没有经过再训练。在一个(3,0,1)的例子中,我认为它至少需要3个观测才能应用其经过训练的系数。然而,情况似乎并非如此,我怀疑我是否正确地理解了这一模式。
作为一个示例和测试,我对相同的数据应用了一个经过训练的sarimax,去掉了最初的几个观察结果,用以下代码测试行数对预测的影响:
import pandas as pd
from s
我目前正在编写一个函数来对SARIMAX模型的阶数进行网格搜索:(p,q,d)X(P,Q,D,s)。但是,在进行拟合时,我通常会在statsmodels.tsa.SARIMAX()上使用默认设置得到以下类型的错误:
ValueError: Non-stationary starting autoregressive parameters found with `enforce_stationarity` set to True.
或
ValueError: non-invertible starting MA parameters found with `enforce_invertibili
如何从arima模型sarimax函数计算标准化残差?
假设我们有一些基本模型:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style='ticks', context='poster')
from statsmodels.tsa.statespace.sarimax import SARIMAX
from statsmodels.tsa.seasonal import seasonal_decompos
假设我使用来自statsmodels.tsa.statespace.sarimax的SARIMAX对数据集dataset1上的一个模型进行拟合-是否可以使用此拟合对另一个数据集dataset2进行预测 也就是说,请考虑以下几点: from statsmodels.tsa.statespace.sarimax import SARIMAX
import pandas as pd
import numpy as np
# generate example data
n=90
idx = pd.PeriodIndex(pd.date_range(start = '2015-01-02
我利用一些外部变量,将statsmodels模型应用到我的数据中。 如何提取外生变量的拟合回归参数?每个文档都清楚如何获得AR,MA系数,但没有关于exog系数的说明。有什么建议吗? 下面是代码片段: #imports
import pandas as pd
from statsmodels.tsa.statespace.sarimax import SARIMAX
#X and Y variables, index as dates, X has several columns with exog variables
X = df[factors]
Y = df[target]
#let
我有每月销售的数据,但几个月的信息不在CSV文件或数据文件中。我是否可以从目前的记录中预测或填写该月份的其他计算值?
📷
我正在使用的代码的一部分:
AIC = []
SARIMAX_model = []
for param in pdq:
for param_seasonal in seasonal_pdq:
try:
mod = sm.tsa.statespace.SARIMAX(train_data,
order=param,
我正在尝试适应一个SARIMAX模型,但不断得到一个错误,它是不可调用的。我的代码是:
import statsmodels as sm
mod = sm.tsa.statespace.sarimax(vol_p_1d,trend='n',order=(1,0,1),seasonal_order=(1,1,1,12))
错误消息为:
TypeError: 'module' object is not callable
你知道我做错了什么吗?谢谢!
我正尝试在python上使用这个函数来模拟我已经构建的SARIMAX模型,statsmodels.tsa.statespace.sarimax.SARIMAX.simulate目的是使用该模型进行蒙特卡洛模拟 当我尝试使用已有的数据将initial_state放在函数上时,就会出现问题 我已经尝试不使用initial_state,模拟的结果似乎很好,但初始点并不是我所期望的。当我尝试放置一个initial_state时,模拟结果呈指数增长。 我使用的是2017- 2019年的日降水量数据 #Define the test model using another set of data, bu
我想使用auto.arima,但使用Python。我该怎么做?
我需要一个特定的函数auto.arima,它可以通过运行多个ARIMA模型来实现预测过程的自动化。因此,它并不是一个真正的库建议,而是一个可以由现有的状态模型来解决的问题(之前的问题在两年中没有改进),所以我冒着这个风险问了这个问题。
参考
早先的一个问题是在上提出的
R中的auto.arima()函数使用Hyndman和Khandakar算法的一个变体,它结合了单元根测试、AICc和MLE的最小化来获得ARIMA模型。该算法遵循以下步骤。用于ARIMA自动建模的Hyndman-Khandakar算法
The number of
我正在按百分比建立ARIMA/Sarima模型,但得到的误差为1- model = SARIMAX(np.asarray(train), order = (0, 1, 1), seasonal_order =(1, 1, 1, 12))
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe