statsmodels.tsa.deterministic.CalendarFourier¶
- class statsmodels.tsa.deterministic.CalendarFourier(freq, order)[source]¶
基于日历时间的傅里叶级数确定性项
注释
每个i=1, …, order都包含一个正弦项和一个余弦项
\[\begin{split}f_{i,s,t} & = \sin\left(2 \pi i \tau_t \right) \\ f_{i,c,t} & = \cos\left(2 \pi i \tau_t \right)\end{split}\]其中 m 是周期的长度,\(\tau_t\) 是频率归一化时间。例如,当 freq 为“D”时,时间戳为 12:00:00 的观测值将具有 \(\tau_t=0.5\)。
示例
这里我们模拟不规则间隔的每小时数据,并为这些数据构建日历傅里叶项。
>>> import numpy as np >>> import pandas as pd >>> base = pd.Timestamp("2020-1-1") >>> gen = np.random.default_rng() >>> gaps = np.cumsum(gen.integers(0, 1800, size=1000)) >>> times = [base + pd.Timedelta(gap, unit="s") for gap in gaps] >>> index = pd.DatetimeIndex(pd.to_datetime(times))>>> from statsmodels.tsa.deterministic import CalendarFourier >>> cal_fourier_gen = CalendarFourier("D", 2) >>> cal_fourier_gen.in_sample(index)方法
in_sample(index)生成用于样本内拟合的确定性趋势。
out_of_sample(steps, index[, forecast_index])为样本外预测生成确定性趋势
属性
确定性项的频率
指示生成的值是否为虚拟变量的标志
包含的傅里叶项的顺序
Last update:
Oct 16, 2024