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

使用Kats做销量预测时,是否支持输入协变量(如广告支出)?

在Kats中使用协变量进行销量预测的实现方法

完全可以实现将未来广告支出作为协变量输入到Kats的预测模型中,以下是具体的操作步骤和代码示例:

1. 确认支持协变量的模型

Kats中多数主流预测模型都支持协变量输入,包括但不限于:

  • Prophet
  • ARIMA/SARIMA
  • LSTM
  • TBATS

注意:部分简单模型(如Naive、SNaive)不支持协变量,需避开这类模型。

2. 数据准备要求

需要两类数据:

  • 历史数据:包含时间戳、目标变量(销量)、对应历史广告投入(协变量)
  • 未来协变量数据:包含预测时间段的时间戳、已确定的未来广告支出数据

两类数据的时间列需为datetime类型,且未来数据的时间范围要和预测步数完全匹配。

3. 具体代码实现

以Prophet模型为例(最常用的支持协变量的模型之一):

导入依赖

import pandas as pd
from kats.consts import TimeSeriesData
from kats.models.prophet import ProphetModel, ProphetParams

构造历史时间序列(含协变量)

假设你已经有了包含历史销量和广告投入的DataFrame historical_df,转换为Kats的TimeSeriesData格式:

# 指定时间列、目标值列、协变量列
ts_data = TimeSeriesData(
    historical_df,
    time_col='time',
    value_col='sales',
    covariates_col=['ad_spend']
)

初始化并训练模型

# 设置Prophet模型参数(可根据业务调整)
prophet_params = ProphetParams(seasonality_mode='additive', yearly_seasonality=True)
model = ProphetModel(data=ts_data, params=prophet_params)
model.fit()

准备未来协变量数据并预测

假设你已经有了未来4周的广告支出数据future_ad_df,执行预测(这里预测28天,对应4周):

# steps对应预测的时间步数,future_covariates传入未来协变量数据
forecast_result = model.predict(steps=28, future_covariates=future_ad_df)

forecast_result中会包含预测的销量值,以及对应的置信区间等信息。

4. 其他模型的协变量使用方式

对于ARIMA、LSTM等模型,协变量的传入逻辑类似:

  • 历史数据需包含协变量列并传入TimeSeriesData
  • 预测时通过future_covariates参数传入未来协变量数据

你可以参考对应模型的官方文档确认具体参数细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:45:38