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_factors
int 未观测因素的数量。
- factor_order
int 向量自回归跟随因子的顺序。
- error_cov_type{‘scalar’, ‘diagonal’, ‘unstructured’},
optional 观测误差项的协方差矩阵的结构,其中“unstructured”对矩阵没有任何限制,“diagonal”要求它为任意对角矩阵(不相关的误差),而“scalar”要求它为标量乘以单位矩阵。默认值为“diagonal”。
- error_order
int,optional 向量自回归的顺序,随后是观测误差分量。默认值为None,对应于白噪声误差。
- error_varbool,
optional 是否通过向量自回归联合建模误差,而不是作为单个自回归。除非设置了error_order,否则无效。默认值为False。
- enforce_stationaritybool,
optional 是否将AR参数转换为强制模型自回归分量中的平稳性。默认值为True。
- **kwargs
关键字参数可用于为状态空间矩阵或卡尔曼滤波选项提供默认值。详情请参见表示法和卡尔曼滤波器。
- Attributes:¶
- exogarray_like,
optional 观测方程的外生回归变量数组,形状为 nobs x k_exog。
- k_factors
int 未观测因素的数量。
- factor_order
int 向量自回归跟随因子的顺序。
- error_cov_type{‘diagonal’, ‘unstructured’}
误差项的协方差矩阵的结构,其中“无结构”对矩阵没有任何限制,而“对角线”要求它是一个对角矩阵(不相关的误差)。
- error_order
int 向量自回归的阶数,随后是观测误差分量。
- error_varbool
是否通过向量自回归联合建模误差,而不是作为单个自回归。除非设置了error_order,否则无效。
- enforce_stationaritybool,
optional 是否将AR参数转换为强制模型自回归分量中的平稳性。默认值为True。
- exogarray_like,
注释
这里考虑的动态因子模型是所谓的静态形式,并且被指定为:
\[\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_approximate_diffuse([variance])初始化近似漫反射
initialize_known(initial_state, ...)初始化已知
initialize_statespace(**kwargs)初始化状态空间表示
初始化静止状态
loglike(params, *args, **kwargs)对数似然评估
loglikeobs(params[, transformed, ...])对数似然评估
observed_information_matrix(params[, ...])观测信息矩阵
opg_information_matrix(参数[, ...])梯度信息矩阵的外积
predict(params[, exog])模型拟合后,predict 返回拟合值。
准备用于状态空间表示的数据
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, ...])更新模型的参数
属性
内生变量的名称。
外生变量的名称。
(list of str) 人类可读的参数名称列表(适用于模型中实际包含的参数)。
(数组) 最大似然估计的初始参数。
(list of str) 未观测状态的可读名称列表。