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参数的数量。

trendstr{‘n’,’c’,’t’,’ct’} or iterable, 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_offsetint, optional

时间趋势值的起始偏移量。默认值为1,因此如果trend=’t’,趋势值等于1, 2, …, nobs。通常仅在通过扩展先前数据集创建模型时设置。

**kwargs

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

Attributes:
orderiterable

模型的 (p,q) 阶数,用于指定要使用的 AR 和 MA 参数的数量。

trendstr{‘n’,’c’,’t’,’ct’} or iterable

控制确定性趋势多项式 \(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)模型,但会发出警告以提醒用户,在这种情况下未采取任何步骤来确保识别。

参考文献

[1] (1,2)

卢特克霍伊泽尔,赫尔穆特。2007年。 《多时间序列分析新导论》。 柏林:施普林格出版社。

方法

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()

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

initialize_approximate_diffuse([variance])

初始化近似漫反射

initialize_known(初始状态, ...)

初始化已知

initialize_statespace(**kwargs)

初始化状态空间表示

initialize_stationary()

初始化静止状态

loglike(参数, *参数, **关键字参数)

对数似然评估

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