pymc.AR#

class pymc.AR(name, rho, *args, steps=None, constant=False, ar_order=None, **kwargs)[源代码]#

具有 p 个滞后的自回归过程。

\[x_t = \rho_0 + \rho_1 x_{t-1} + \ldots + \rho_p x_{t-p} + \epsilon_t, \epsilon_t \sim N(0,\sigma^2)\]

创新可以用精度或标准差来参数化。这两种参数化之间的联系由以下公式给出:

\[\tau = \dfrac{1}{\sigma^2}\]
参数:
rho : 类似张量floattensor_like of float

自回归系数的张量。最后一个维度中的第 n 个条目是第 n 个滞后的系数。

sigma : 类似张量float,默认值为 1tensor_like of python:float, 默认值为 1

创新的标准差(sigma > 0)。仅在未指定tau时需要。

tau : 类似张量float, 可选tensor_like 的 python:float, 可选

创新的精确性(tau > 0)。

常量 : 布尔值,默认值 Falsebool, 默认 python:False

是否在AR过程中使用rho的第一个元素作为常数项。

init_dist : 未命名分布, 可选unnamed_distribution, 可选

标量或向量分布用于初始值。分布应具有形状 (*shape[:-1], ar_order)。如果不是,将自动调整大小。默认为 pm.Normal.dist(0, 100, shape=…)。

警告

init_dist 将被克隆,使其独立于作为输入传递的那个。

ar_order : int, 可选python:int, 可选

AR 过程的顺序。如果可能,根据 rho 的最后一个维度的长度推断。ar_order = rho.shape[-1] if constant else rho.shape[-1] - 1

步数 : int, 可选python:int, 可选

AR 过程中的步骤数(步骤 > 0)。仅在未提供形状时需要。

注释

初始化分布将被克隆,使其与作为输入传递的分布不同。

示例

# Create an AR of order 3, with a constant term
with pm.Model() as AR3:
    # The first coefficient will be the constant term
    coefs = pm.Normal("coefs", 0, size=4)
    # We need one init variable for each lag, hence size=3
    init = pm.Normal.dist(5, size=3)
    ar3 = pm.AR("ar3", coefs, sigma=1.0, init_dist=init, constant=True, steps=500)

方法

AR.dist(rho[, sigma, tau, init_dist, steps, ...])

创建一个与 cls 分布相对应的张量变量。