statsmodels.tsa.statespace.tools.companion_matrix

statsmodels.tsa.statespace.tools.companion_matrix(polynomial)[source]

创建一个伴随矩阵

Parameters:
polynomialarray_like or list

如果是一个可迭代对象,则被解释为从其中形成伴随矩阵的多项式的系数。多项式系数按升序排列,可以是标量(如在AR(p)模型中)或系数矩阵(如在VAR(p)模型中)。如果是一个整数,则被解释为标量多项式的伴随矩阵的大小,其中多项式系数初始化为零。如果传递的是矩阵多项式,\(C_0\)可以设置为标量值1,以表示单位矩阵(这样做将提高伴随矩阵创建的速度)。

Returns:
companion_matrixndarray

注释

给定形式的滞后多项式的系数:

\[c(L) = c_0 + c_1 L + \dots + c_p L^p\]

返回一个矩阵的形式

\[\begin{split}\begin{bmatrix} \phi_1 & 1 & 0 & \cdots & 0 \\ \phi_2 & 0 & 1 & & 0 \\ \vdots & & & \ddots & 0 \\ & & & & 1 \\ \phi_n & 0 & 0 & \cdots & 0 \\ \end{bmatrix}\end{split}\]

其中部分或全部的 \(\phi_i\) 可能不为零(如果 polynomial 为 None,则所有都等于零)。

如果提供的系数是标量 \((c_0, c_1, \dots, c_p)\), 那么伴随矩阵是一个 \(n \times n\) 矩阵,其第一列的元素定义为 \(\phi_i = -\frac{c_i}{c_0}, i \in 1, \dots, p\)

如果提供的系数是矩阵 \((C_0, C_1, \dots, C_p)\), 每个矩阵的形状为 \((m, m)\),那么伴随矩阵是一个 \(nm \times nm\) 的矩阵,其第一列的元素定义为 \(\phi_i = -C_0^{-1} C_i', i \in 1, \dots, p\)

理解系数预期的符号是很重要的。一个典型的AR(p)模型可以写成:

\[y_t = a_1 y_{t-1} + \dots + a_p y_{t-p} + \varepsilon_t\]

这可以重写为:

\[\begin{split}(1 - a_1 L - \dots - a_p L^p )y_t = \varepsilon_t \\ (1 + c_1 L + \dots + c_p L^p )y_t = \varepsilon_t \\ c(L) y_t = \varepsilon_t\end{split}\]

此形式的系数定义为 \(c_i = - a_i\),并且此函数期望提供的系数是 \(c_i\)


Last update: Oct 16, 2024