You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在StatsForecast中使用特征?含自定义特征前置创建问询

在StatsForecast中使用自定义特征的方法

你可以通过以下两种方式在StatsForecast中引入特征(如移动平均、滞后项、自定义函数生成的特征):

方法一:提前在Pandas中手动构造特征

这是最直接且自由度最高的方式——先在DataFrame里生成所需特征,再传入StatsForecast进行模型拟合,就像你给出的示例那样:

# 创建滞后项和时间特征
df['lag1'] = df['y'].shift(1)
df['day'] = df['timestamp'].dt.day

# 传入包含自定义特征的DataFrame初始化模型
fcst = StatsForecast(
    df,
    models = [(auto_arima,7)],
    freq = 'D',
    n_jobs = min(len(m4_daily_train.index.unique()),cpu_count())
)

你还可以用这种方式生成移动平均等其他特征:

# 添加7日移动平均特征
df['ma7'] = df['y'].rolling(window=7).mean()

方法二:结合StatsForecast内置能力(针对特定模型)

对于StatsForecast中的机器学习类模型(如MLP、XGBoost),可以通过features参数指定要使用的特征列,或结合ForecastHorizon自动生成时序相关特征。但对于AutoARIMA这类传统时序模型,更推荐用第一种手动构造的方式,因为这类模型对外部特征的支持需要明确传入已处理好的特征列。

注意:生成滞后项这类特征时,要处理好shift()等操作产生的缺失值(比如用填充、删除缺失行的方式),避免影响模型拟合。

内容的提问来源于stack exchange,提问作者Christian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:52:05