如何在 r 中执行朴素预测:示例
朴素预测是指给定时期的预测仅等于前一时期观察到的值。
例如,假设给定产品在今年前三个月的销售额如下:
4 月份的销售预测将简单地等于上一年 3 月份的实际销售额:
尽管这种方法很简单,但在实践中往往效果出奇的好。
本教程提供了如何在 R 中执行朴素预测的分步示例。
第 1 步:输入数据
首先,我们将输入一家虚构公司 12 个月内的销售数据:
#create vector to hold actual sales data
actual <- c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24)
第 2 步:生成朴素预测
接下来,我们将使用以下公式为每个月创建简单的预测:
#generate naive forecasts forecast <- c(NA, actual[- length (actual)]) #view naive forecasts forecast [1] NA 34 37 44 47 48 48 46 43 32 27 26
请注意,我们只是使用NA作为第一个预测值。
第 3 步:衡量预测准确性
最后,我们必须衡量预测的准确性。用于衡量准确性的两个常见指标包括:
- 平均绝对百分比误差 (MAPE)
- 平均绝对误差 (MAE)
我们可以使用以下代码来计算这两个指标:
#calculate MAPE mean(abs((actual-forecast)/actual), na. rm = T ) * 100 [1] 9.898281 #calculate MAE mean(abs(actual-forecast), na. rm = T ) [1] 3.454545
平均绝对百分比误差为9.898% ,平均绝对误差为3.45。
为了弄清楚这个预测是否有用,我们可以将其与其他预测模型进行比较,看看测量精度是更好还是更差。
第 4 步:可视化预测
最后,我们可以创建一个简单的线图来可视化每个时期的实际销售额和简单销售预测之间的差异:
#plot actual sales plot(actual, type=' l ', col = ' red ', main=' Actual vs. Forecasted Sales ', xlab=' Sales Period ', ylab=' Sales ') #add line for forecasted sales lines(forecast, type=' l ', col = ' blue ') #add legend legend(' topright ', legend=c(' Actual ', ' Forecasted '), col=c(' red ', ' blue '), lty=1)
请注意,预测卖出线本质上是实际卖出线的移动版本。
这正是我们所期望的,因为天真的预测只是预测当前期间的销售额将等于上一期间的销售额。