1 基本使用方法
statsmodels.tsa.tsatools.detrend(x, order=1, axis=0)
2 参数说明
x | 数据。如果是二维数组,那么每一行或每一列将独立地去除趋势,但趋势的阶数是一样的。 |
order | 趋势的多项式阶数。0 表示常数趋势(即没有趋势),1 表示线性趋势,2 表示二次趋势。 |
axis | 指定数组的轴。0 表示按行处理(每行代表一个观察值),1 表示按列处理(每列代表一个观察值) |
3 举例
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
# 假设的时间序列数据
time = np.arange(100)
# 生成一个时间序列(0到99)
data = 0.5 * time + np.random.normal(size=100)
# 生成带有线性趋势的数据
detrended_data = sm.tsa.tsatools.detrend(data, order=1)
# 使用 detrend 函数去除线性趋势
plt.plot(data,label='raw data')
plt.plot(detrended_data,label='detrended data')
plt.legend()