statsmodels.tsa.statespace.dynamic_factor.DynamicFactor

class statsmodels.tsa.statespace.dynamic_factor.DynamicFactor(endog, k_factors, factor_order, exog=None, error_order=0, error_var=False, error_cov_type='diagonal', enforce_stationarity=True, **kwargs)[source]

动态因子模型

Parameters:
endogarray_like

观察到的时间序列过程 \(y\)

exogarray_like, optional

观测方程的外生回归变量数组,形状为 nobs x k_exog。

k_factorsint

未观测因素的数量。

factor_orderint

向量自回归跟随因子的顺序。

error_cov_type{‘scalar’, ‘diagonal’, ‘unstructured’}, optional

观测误差项的协方差矩阵的结构,其中“unstructured”对矩阵没有任何限制,“diagonal”要求它为任意对角矩阵(不相关的误差),而“scalar”要求它为标量乘以单位矩阵。默认值为“diagonal”。

error_orderint, optional

向量自回归的顺序,随后是观测误差分量。默认值为None,对应于白噪声误差。

error_varbool, optional

是否通过向量自回归联合建模误差,而不是作为单个自回归。除非设置了error_order,否则无效。默认值为False。

enforce_stationaritybool, optional

是否将AR参数转换为强制模型自回归分量中的平稳性。默认值为True。

**kwargs

关键字参数可用于为状态空间矩阵或卡尔曼滤波选项提供默认值。详情请参见表示法卡尔曼滤波器

Attributes:
exogarray_like, optional

观测方程的外生回归变量数组,形状为 nobs x k_exog。

k_factorsint

未观测因素的数量。

factor_orderint

向量自回归跟随因子的顺序。

error_cov_type{‘diagonal’, ‘unstructured’}

误差项的协方差矩阵的结构,其中“无结构”对矩阵没有任何限制,而“对角线”要求它是一个对角矩阵(不相关的误差)。

error_orderint

向量自回归的阶数,随后是观测误差分量。

error_varbool

是否通过向量自回归联合建模误差,而不是作为单个自回归。除非设置了error_order,否则无效。

enforce_stationaritybool, optional

是否将AR参数转换为强制模型自回归分量中的平稳性。默认值为True。

注释

这里考虑的动态因子模型是所谓的静态形式,并且被指定为:

\[\begin{split}y_t & = \Lambda f_t + B x_t + u_t \\ f_t & = A_1 f_{t-1} + \dots + A_p f_{t-p} + \eta_t \\ u_t & = C_1 u_{t-1} + \dots + C_q u_{t-q} + \varepsilon_t\end{split}\]

其中存在k_endog个观测序列和k_factors个未观测的因素。因此\(y_t\)是一个k_endog x 1的向量,而\(f_t\)是一个k_factors x 1的向量。

\(x_t\) 是可选的外生向量,形状为 k_exog x 1。

\(\eta_t\)\(\varepsilon_t\) 是白噪声误差项。为了识别因子,\(Var(\eta_t) = I\)。记 \(Var(\varepsilon_t) \equiv \Sigma\)

与未观察到的因素相关的选项:

  • k_factors: 这是向量 \(f_t\) 的维度,如上所述。 要完全排除因子,请设置 k_factors = 0

  • factor_order: 这是在因子演化方程中包含的滞后阶数,对应于上面的\(p\)。要设置静态因子,请设置factor_order = 0

与观测误差项 \(u_t\) 相关的选项:

  • error_order: 误差演化方程中包含的滞后阶数;对应于\(q\),如上所述。要使误差为白噪声,请设置error_order = 0(这是默认值)。

  • error_cov_type: 这控制了协方差矩阵的形式 \(\Sigma\)。如果它是“dscalar”,那么 \(\Sigma = \sigma^2 I\)。如果 它是“diagonal”,那么 \(\Sigma = \text{diag}(\sigma_1^2, \dots, \sigma_n^2)\)。如果它是 “unstructured”,那么 \(\Sigma\) 可以是任何有效的方差/协方差 矩阵(即对称且正定)。

  • error_var: 这控制了误差是否根据VAR(q)共同演化,或者根据单独的AR(q)过程分别演化。在上述公式中,如果error_var = False,那么矩阵 :math:C_i` 是对角线矩阵,否则它们是通用的VAR矩阵。

参考文献

方法

clone(endog[, exog])

克隆状态空间模型并使用新数据,可选择新的规格

filter(params[, transformed, ...])

卡尔曼滤波

fit([start_params, transformed, ...])

通过卡尔曼滤波以最大似然法拟合模型。

fit_constrained(约束[, start_params])

使用一些受等式约束的参数拟合模型。

fix_params(params)

将参数固定为特定值(上下文管理器)

from_formula(公式, 数据[, 子集])

状态空间模型未实现

handle_params(params[, transformed, ...])

确保模型参数满足形状和其他要求

hessian(params, *args, **kwargs)

似然函数的Hessian矩阵,在给定参数处求值

impulse_responses(params[, steps, impulse, ...])

脉冲响应函数

information(参数)

模型的费舍尔信息矩阵。

initialize()

初始化(可能重新初始化)一个模型实例。

initialize_approximate_diffuse([variance])

初始化近似漫反射

initialize_known(initial_state, ...)

初始化已知

initialize_statespace(**kwargs)

初始化状态空间表示

initialize_stationary()

初始化静止状态

loglike(params, *args, **kwargs)

对数似然评估

loglikeobs(params[, transformed, ...])

对数似然评估

observed_information_matrix(params[, ...])

观测信息矩阵

opg_information_matrix(参数[, ...])

梯度信息矩阵的外积

predict(params[, exog])

模型拟合后,predict 返回拟合值。

prepare_data()

准备用于状态空间表示的数据

score(params, *args, **kwargs)

在参数处计算得分函数。

score_obs(params[, method, transformed, ...])

计算每个观测值的得分,在参数处进行评估

set_conserve_memory([conserve_memory])

设置内存保护方法

set_filter_method([filter_method])

设置过滤方法

set_inversion_method([inversion_method])

设置反演方法

set_smoother_output([smoother_output])

设置平滑输出

set_stability_method([stability_method])

设置数值稳定性方法

simulate(params, nsimulations[, ...])

模拟一个遵循状态空间模型的新时间序列

simulation_smoother([simulation_output])

获取状态空间模型的模拟平滑器。

smooth(params[, transformed, ...])

卡尔曼平滑

transform_jacobian(无约束[, ...])

参数变换函数的雅可比矩阵

transform_params(无约束)

将优化器使用的无约束参数转换为似然评估中使用的约束参数

untransform_params(constrained)

将似然评估中使用的约束参数转换为优化器使用的无约束参数。

update(params[, transformed, ...])

更新模型的参数

属性

endog_names

内生变量的名称。

exog_names

外生变量的名称。

initial_variance

初始化

loglikelihood_burn

param_names

(list of str) 人类可读的参数名称列表(适用于模型中实际包含的参数)。

start_params

(数组) 最大似然估计的初始参数。

state_names

(list of str) 未观测状态的可读名称列表。

tolerance


Last update: Oct 16, 2024