statsmodels.tsa.tsatools.lagmat

statsmodels.tsa.tsatools.lagmat(x, maxlag, trim='forward', original='ex', use_pandas=False)[source]

创建滞后二维数组。

Parameters:
xarray_like

数据;如果是二维的,观测值在行中,变量在列中。

maxlagint

从零到最大滞后值的所有滞后值都包括在内。

trim{‘forward’, ‘backward’, ‘both’, ‘none’, None}

要使用的修剪方法。

  • ‘forward’ : 从前端修剪无效的观测值。

  • ‘backward’ : 修剪无效的初始观测值。

  • ‘both’ : 两边修剪无效的观测值。

  • ‘none’, None : 不修剪观测值。

original{‘ex’,’sep’,’in’}

原始内容如何处理。

  • ‘ex’ : 丢弃原始数组,仅返回滞后值。

  • ‘in’ : 返回原始数组和滞后值作为一个单一数组。

  • ‘sep’returns a tuple (original array, lagged values). The original

    数组被截断以具有与返回的lagmat相同的行数。

use_pandasbool

如果为真,当输入是 pandas Series 或 DataFrame 时,返回一个 DataFrame。如果为假,返回 numpy ndarray。

Returns:
lagmatndarray

包含滞后观测值的数组。

yndarray, optional

仅在 original == ‘sep’ 时返回。

注释

当使用带有 use_pandas=True 的 pandas DataFrame 或 Series 时,trim 只能为 ‘forward’ 或 ‘both’,因为无法一致地扩展索引值。

示例

>>> from statsmodels.tsa.tsatools import lagmat
>>> import numpy as np
>>> X = np.arange(1,7).reshape(-1,2)
>>> lagmat(X, maxlag=2, trim="forward", original='in')
array([[ 1.,  2.,  0.,  0.,  0.,  0.],
   [ 3.,  4.,  1.,  2.,  0.,  0.],
   [ 5.,  6.,  3.,  4.,  1.,  2.]])
>>> lagmat(X, maxlag=2, trim="backward", original='in')
array([[ 5.,  6.,  3.,  4.,  1.,  2.],
   [ 0.,  0.,  5.,  6.,  3.,  4.],
   [ 0.,  0.,  0.,  0.,  5.,  6.]])
>>> lagmat(X, maxlag=2, trim="both", original='in')
array([[ 5.,  6.,  3.,  4.,  1.,  2.]])
>>> lagmat(X, maxlag=2, trim="none", original='in')
array([[ 1.,  2.,  0.,  0.,  0.,  0.],
   [ 3.,  4.,  1.,  2.,  0.,  0.],
   [ 5.,  6.,  3.,  4.,  1.,  2.],
   [ 0.,  0.,  5.,  6.,  3.,  4.],
   [ 0.,  0.,  0.,  0.,  5.,  6.]])

Last update: Oct 16, 2024