如何从数据生成状态 space 模型?

How to generate a state space model from data?

我正在尝试使用 statsmodels 库从 Python 中的离散时间序列数据中识别状态 space 模型:statsmodel.tsa.statespace.sarimax.SARIMAX.

我需要状态矩阵 space 一般形式 (here the statsmodel reference):在 statsmodel 页面上解释了这些矩阵,但不清楚如何推断它们。

例如,如果我想对已识别的模型应用卡尔曼滤波器(通过 sarimax),我需要这张图片中描述的矩阵 state space matrices needed

是否可以得到statsmodel的矩阵系数?

所有状态 space 系统矩阵都保存在拟合模型的 filter_results 属性中。矩阵的名称在您的答案中包含的链接中给出(例如“设计”等)

例如:

model = SARIMAX(Y_tr, exog = X_tr, order = (p,d,q), enforce_invertibility = False)
best_model = model.fit()

print(best_model.filter_results.design)
print(best_model.filter_results.obs_cov)
# ...