一、p阶k步差分定义说明
n阶差分
▽xt\triangledown x_t▽xt为xtx_txt的1阶差分:▽xt=xt−xt−1\triangledown x_t=x_t-x_{t-1}▽xt=xt−xt−1
▽2xt\triangledown^2 x_t▽2xt为xtx_txt的2阶差分:▽xt=▽xt−▽xt−1\triangledown x_t=\triangledown x_t-\triangledown x_{t-1}▽xt=▽xt−▽xt−1
▽nxt\triangledown^n x_t▽nxt为xtx_txt的n阶差分:▽xt=▽n−1xt−▽n−1xt−1\triangledown x_t=\triangledown^{n-1} x_t-\triangledown^{n-1} x_{t-1}▽xt=▽n−1xt−▽n−1xt−1
k步差分
▽kxt\triangledown_k x_t▽kxt为xtx_txt的1阶差分:▽kxt=xt−xt−k\triangledown_k x_t=x_t-x_{t-k}▽kxt=xt−xt−k
二、python实现
1. n阶差分
diff_p = diff(data, n=n) #默认k=1
2. k步差分
diff_k_step = data.diff(k)
3. n阶k步差分
import numpy as np
# 定义一个长度为 10 的数组 x
x = pd.Series([1, 3, 6, 10, 15, 21, 28, 36, 45, 55])
n=2
k=3
for i in range(n):
x = x.diff(k)
y = x
print(y)