statsmodels.tsa.statespace.varmax.VARMAX¶
-
class statsmodels.tsa.statespace.varmax.VARMAX(endog, exog=
None, order=(1, 0), trend='c', error_cov_type='unstructured', measurement_error=False, enforce_stationarity=True, enforce_invertibility=True, trend_offset=1, **kwargs)[source]¶ 带有外生回归量的向量自回归移动平均模型
- Parameters:¶
- endogarray_like
观察到的时间序列过程 \(y\),形状为 nobs x k_endog。
- exogarray_like,
optional 外生回归变量的数组,形状为 nobs x k。
- orderiterable
模型的(p,q)阶数,用于指定AR和MA参数的数量。
- trend
str{‘n’,’c’,’t’,’ct’}oriterable,optional 控制确定性趋势多项式 \(A(t)\) 的参数。 可以指定为一个字符串,其中 ‘c’ 表示常数(即趋势多项式的零次项),‘t’ 表示随时间的线性趋势,‘ct’ 表示两者兼具。也可以指定为一个可迭代对象,定义要包含的非零多项式指数,按升序排列。例如,[1,1,0,1] 表示 \(a + bt + ct^3\)。默认是常数趋势分量。
- error_cov_type{‘diagonal’, ‘unstructured’},
optional 误差项的协方差矩阵的结构,其中“unstructured”对矩阵没有任何限制,而“diagonal”要求它是一个对角矩阵(不相关的误差)。默认是“unstructured”。
- measurement_errorbool,
optional 是否假设内生观测值 endog 存在测量误差。默认值为 False。
- enforce_stationaritybool,
optional 是否将AR参数转换为强制模型自回归分量中的平稳性。默认值为True。
- enforce_invertibilitybool,
optional 是否将MA参数转换以强制模型中移动平均分量的可逆性。默认值为True。
- trend_offset
int,optional 时间趋势值的起始偏移量。默认值为1,因此如果trend=’t’,趋势值等于1, 2, …, nobs。通常仅在通过扩展先前数据集创建模型时设置。
- **kwargs
关键字参数可用于为状态空间矩阵或卡尔曼滤波选项提供默认值。详情请参见表示法和卡尔曼滤波器。
- Attributes:¶
- orderiterable
模型的 (p,q) 阶数,用于指定要使用的 AR 和 MA 参数的数量。
- trend
str{‘n’,’c’,’t’,’ct’}oriterable 控制确定性趋势多项式 \(A(t)\) 的参数。 可以指定为一个字符串,其中 ‘c’ 表示常数(即趋势多项式的零次项),‘t’ 表示随时间的线性趋势,‘ct’ 表示两者都有。也可以指定为一个可迭代对象,定义要包含的非零多项式指数,按递增顺序排列。例如,[1,1,0,1] 表示 \(a + bt + ct^3\)。
- error_cov_type{‘diagonal’, ‘unstructured’},
optional 误差项的协方差矩阵的结构,其中“unstructured”对矩阵没有任何限制,而“diagonal”要求它是一个对角矩阵(不相关的误差)。默认是“unstructured”。
- measurement_errorbool,
optional 是否假设内生观测值 endog 存在测量误差。默认值为 False。
- enforce_stationaritybool,
optional 是否将AR参数转换为强制模型自回归分量中的平稳性。默认值为True。
- enforce_invertibilitybool,
optional 是否将MA参数转换以强制模型中移动平均分量的可逆性。默认值为True。
注释
通常情况下,VARMAX 模型被指定(参见例如第 18 章):
\[y_t = A(t) + A_1 y_{t-1} + \dots + A_p y_{t-p} + B x_t + \epsilon_t + M_1 \epsilon_{t-1} + \dots M_q \epsilon_{t-q}\]其中 \(\epsilon_t \sim N(0, \Omega)\),并且 \(y_t\) 是一个 k_endog x 1 向量。此外,该模型还允许考虑变量测量误差的情况。
请注意,在完整的VARMA(p,q)情况下,存在一个基本的识别问题,即系数矩阵 \(\{A_i, M_j\}\) 通常不是唯一的,这意味着对于给定的时间序列过程,可能存在多个矩阵集可以等效地表示它。更多信息请参见[1]的第12章。尽管此类可用于估计VARMA(p,q)模型,但会发出警告以提醒用户,在这种情况下未采取任何步骤来确保识别。
参考文献
方法
clone(endog[, exog])克隆状态空间模型并使用新数据,可选择新的规格
filter(params[, transformed, ...])卡尔曼滤波
fit([start_params, transformed, ...])通过卡尔曼滤波以最大似然法拟合模型。
fit_constrained(constraints[, start_params])使用一些受等式约束的参数拟合模型。
fix_params(params)将参数固定为特定值(上下文管理器)
from_formula(公式, 数据[, 子集])状态空间模型未实现
handle_params(params[, transformed, ...])确保模型参数满足形状和其他要求
hessian(参数, *args, **kwargs)似然函数的Hessian矩阵,在给定参数处求值
impulse_responses(参数[, 步数, 脉冲, ...])脉冲响应函数
information(params)模型的费舍尔信息矩阵。
初始化(可能重新初始化)一个模型实例。
initialize_approximate_diffuse([variance])初始化近似漫反射
initialize_known(初始状态, ...)初始化已知
initialize_statespace(**kwargs)初始化状态空间表示
初始化静止状态
loglike(参数, *参数, **关键字参数)对数似然评估
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) 未观测状态的可读名称列表。