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

使用pymc_marketing的DelayedSaturatedMMM预测测试数据遇coord错误求助

解决pymc_marketing DelayedSaturatedMMM预测时"coord values need to be updated"错误

使用DelayedSaturatedMMM构建模型无报错,但用测试集预测时触发PyMC的"data_setter"错误,核心原因是测试数据的时间维度(Date列)未被正确纳入模型的坐标系统,且数据拆分与传递过程存在疏漏。

1. 修正数据拆分逻辑,保留时间列

原代码错误地将Date列从特征中移除,导致模型训练时无法构建正确的时间坐标,测试时自然无法匹配。正确拆分方式如下:

import datetime
import pandas as pd
from sklearn.model_selection import train_test_split
from pymc_marketing.mmm import DelayedSaturatedMMM

sampler_config = {"progressbar": True}

# 仅移除目标列,保留Date列及所有特征列
X = df_mmm.drop(["A"], axis=1)
y = df_mmm["A"]

# 按时间顺序拆分(shuffle=False保证时序性)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False)

# 构建训练DataFrame:将目标列加入训练特征,确保Date列存在
train_df = X_train.copy()
train_df["Joins"] = y_train  # 与模型的target_column参数保持一致

2. 初始化并训练模型

确保模型初始化时传入的train_df包含所有必要列(Date、目标列、渠道列、控制列),然后完成训练:

mmm = DelayedSaturatedMMM(
    model_config=mynew_model_config,
    sampler_config=sampler_config,
    data=train_df,
    target_column="Joins",
    date_column="Date",
    validate_data=True,
    channel_columns=['Audio_s','Cable_s','CTV_s','Display_s','META_s','Radio_s','Snapchat_s','TikTok_s','TV_s','YouTube_s'],
    control_columns=['google_trends'],
    adstock_max_lag=1,
    yearly_seasonality=2
)

# 训练模型(必须执行此步骤才能进行预测)
mmm.fit()

3. 准备测试数据并执行预测

测试数据需包含Date、所有渠道列和控制列,无需包含目标列(若包含也不影响),直接调用predict方法:

# 测试数据保留Date、渠道列、控制列即可
test_df = X_test.copy()

# 执行预测
predictions = mmm.predict(test_df)

4. 若仍触发坐标错误的补救方案

如果测试数据的日期范围超出训练数据的坐标范围,需手动更新模型的坐标:

# 获取测试数据的日期索引(根据你的时间粒度调整,比如周/月)
test_dates = test_df["Date"].dt.to_period("W")

# 更新模型的时间坐标
mmm.model.coords["date"] = test_dates

# 重新设置测试数据
with mmm.model:
    pm.set_data(
        {
            "date": test_dates,
            **{col: test_df[col].values for col in mmm.channel_columns + mmm.control_columns}
        }
    )

# 再次执行预测
predictions = pm.sample_posterior_predictive(mmm.idata, model=mmm.model)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:45:18