基于SAMEPERIODLASTYEAR与移动平均的预测问题排查
预测模型问题解答
问题背景
尝试基于SAMEPERIODLASTYEAR函数与移动平均创建预测模型:
- 初始设置权重:
Cost2YearsAgo=0.4、CostLastYear=0.6,结果曲线未按近3个月实际数据的向下趋势弯曲 - 加入移动平均(
MovingAverage,权重0.1)后,曲线出现异常波动 - 改用本年数据(
ThisYear,权重0.1)后曲线趋势改善,但存在逻辑疑问:2024年初的实际数据为何能影响未来时段的预测
1. 为何MovingAverage无效?
移动平均失效大概率是计算逻辑未匹配预测时段需求:
- 移动平均需基于连续有效历史时段计算,若模型处理未来预测时,误将未来空值或占位数据纳入计算,会直接拉低/拉高均值,引发异常波动
- 若移动平均窗口设置不合理(比如窗口过短,仅包含波动剧烈的1-2个月份),会让预测曲线跟随历史极端值出现跳变
- 检查
MovingAverage的DAX公式:如果未用DATESBETWEEN或FILTER限定仅计算到预测起始点的历史数据,而是包含未发生的未来时段,必然导致计算结果异常
2. ThisYear如何修复问题并影响未来曲线?
ThisYear能改善趋势,核心是引入了最新短期趋势信号:
- 2024年初的实际数据是当前最新的业务趋势体现,相比两年前、去年的数据,更贴近当下的业务变化(比如市场环境调整、成本结构变动)
- 给
ThisYear设置0.1权重,相当于在原有“两年前+去年”的历史权重基础上,加入了短期修正因子——原模型仅依赖过去两年历史,无法捕捉近3个月的向下趋势,而本年实际数据刚好提供了这个向下信号,因此曲线会跟随向下弯曲 - 关于“未来预测被当前实际数据影响”的逻辑合理性:预测本质是基于已知信息推导未知,最新实际数据是最有效的当前趋势指标,用它修正长期历史的预测结果,反而能让预测更贴合当前业务现状,这是短期预测中常见的优化手段
内容的提问来源于stack exchange,提问作者Francesco Mantovani
相关产品推荐
相关产品推荐

