statsmodels.tsa.deterministic.CalendarFourier支持的freq参数有哪些?
CalendarFourier 的 freq 参数可选值及查询方式
你使用的 CalendarFourier 是 statsmodels 中生成傅里叶特征的工具,它的 freq 参数本质复用了pandas 兼容的所有时间频率别名,可选值远不止你发现的 Y、Q、W,常用的包括:
- 年度:
Y(或等价的A) - 季度:
Q - 月度:
M - 周度:
W - 日度:
D - 小时:
H - 分钟:
T(或min) - 秒:
S - 更细粒度的时间单位如毫秒
L、微秒U等也完全支持
查询全部可选参数的方法
- 代码验证法:在本地运行以下代码,可直接获取 pandas 支持的所有频率字符串列表:
import pandas as pd # 打印所有支持的频率别名 print(pd.tseries.frequencies._freq_strings)
也可以通过pd.infer_freq()或pd.tseries.frequencies.get_freq_code()方法,验证自定义频率字符串是否有效。
- 源码追溯法:查看 statsmodels 中
CalendarFourier的实现逻辑,会发现它的freq参数最终会调用 pandas 的频率解析函数(如pandas.tseries.frequencies.to_offset),因此所有能被 pandas 识别的时间频率,都可以作为CalendarFourier的freq参数传入。
你的示例代码可保持如下写法:
dp = DeterministicProcess( index=data.date.unique(), constant=False, order=0, # Trend seasonal=False, # Seasonal variables additional_terms=[CalendarFourier(freq='Y', order=1)], # Fourier series drop=True)
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

