第5章 需求预测分析
理论6课时 + 上机6课时
5.1 为什么需要预测
供应链各环节都要提前准备(采购、生产、库存),所以需要估计未来的需求量。准确的需求预测能帮助企业合理安排生产和采购,降低库存成本,减少缺货风险。
5.2 简单移动平均法
用最近N期的平均值作为下一期预测值。
公式:F(t+1) = (A(t) + A(t-1) + ... + A(t-N+1)) / N
N越大越平滑,但对变化反应越慢;N越小越敏感,但波动大。
5.3 加权移动平均法
给近期数据更高的权重。例如最近一期权重0.5,前两期0.3,三期0.2。
优点:比简单移动平均更重视近期数据,预测更贴近实际。
5.4 指数平滑法
只用一个平滑系数 alpha(0~1)。
公式:新预测 = alpha x 实际值 + (1-alpha) x 上期预测
alpha越大,对最新变化越敏感;alpha越小,预测越平稳。
5.5 预测误差指标
- MAE(平均绝对误差) = |实际-预测|的平均值
- RMSE(均方根误差) = sqrt(sum((实际-预测)^2)/n)
越小说明预测越准。RMSE对异常值更敏感(因为平方放大效应)。
5.6 季节性分析(了解)
如果数据有明显的淡旺季,可以计算季节指数,把趋势和季节分开预测。
5.7 Python示例:移动平均和指数平滑预测
import pandas as pd
import numpy as np
sales = [120, 135, 128, 142, 150, 138, 160, 155]
# 3期简单移动平均
ma3 = pd.Series(sales).rolling(window=3).mean()
print("3期移动平均:", ma3.tolist())
# 指数平滑(alpha=0.3)
alpha = 0.3
forecast = [sales[0]] # 初始预测值
for actual in sales[1:]:
f = alpha * actual + (1 - alpha) * forecast[-1]
forecast.append(f)
print("指数平滑预测:", [round(x,1) for x in forecast])
# 计算MAE
mae = np.mean([abs(a-f) for a,f in zip(sales, forecast)])
print("MAE:", round(mae,2))
自学自检小问题
- 移动平均的期数N选大一点好还是小一点好?各有什么优缺点?
- 指数平滑中,alpha=0.9和alpha=0.1有什么区别?
- MAE和RMSE都是误差指标,RMSE对异常值更敏感,为什么?
拓展学习素材
- 实训数据集:用Excel自建24个月的历史销售数据,用于练习各种预测方法
- 工具安装:Python matplotlib(pip install matplotlib),用于画预测曲线
- 线上教程:B站搜索"Excel预测功能",学习用Excel内置的预测工作表
基础巩固练习
0/5
1
选择题
指数平滑法中,平滑系数 alpha 的取值范围是?
答案解析
正确答案是 A. 0 < alpha < 1。alpha在0到1之间。alpha越接近1,预测越跟随最新实际值;alpha越接近0,预测越平稳,受最新值影响越小。
2
选择题
3期简单移动平均预测第4期,用的是哪几期的数据?
答案解析
正确答案是 A. 第1、2、3期。3期简单移动平均预测第4期,使用的是第1、2、3期的实际值的平均。即 F4 = (A1+A2+A3)/3。
3
选择题
MAE(平均绝对误差)的计算公式是?
答案解析
正确答案是 B。MAE(Mean Absolute Error)= sum|实际-预测|/n,即各期绝对误差的平均值。A是MSE,C是RMSE,D是平均偏差(不是误差)。
4
选择题
指数平滑法中,alpha越大说明?
答案解析
正确答案是 B. 对最新变化越敏感。alpha越大,最新实际值在预测中的权重越高,预测越紧跟最新变化。alpha=0.9时预测几乎等于上期实际值。
5
判断题
MAE和RMSE都是预测误差指标,RMSE对异常值更敏感。
答案解析
正确答案是 正确。RMSE在计算时对误差先平方再开方,因此对大的异常误差有放大效应,比MAE更敏感。当需要重点关注大误差时,应优先看RMSE。
0/5