我想将一种或多种数据挖掘技术应用于数据集,以了解广告对销售的影响。
我正在使用这个数据集。它有 36 个连续的销售和广告月度数据条目 - 它非常小。
我将数据集导出到“.csv”。我删除了日期列,因为我将使用 R 的 ts(时间序列对象)。“.csv”现在看起来像这样:
Advertising,Sales
12,15
20.5,16
21,18
..., ..., ...
23.4,17
16.4,1
下面编码的示例有效。HoltWinters()但是,由于函数的原因,我不得不将矩阵拆分为两个列表。我更愿意在后期一起分析广告和销售。还有哪些其他数据挖掘技术可能更有益?
data <- read.csv("./advertising_sales.csv", header=TRUE)
data_ts <- ts(data, start = c(2011,1), frequency = 12)
print(data_ts) # to check data has been correctly added
> Jan 2012 13 17.3 21
+ Feb 2012 14 25.3 29
+ ...
+ Nov 2013 35 23.4 17
+ Dec 2013 36 16.4 1
plot(decompose(data_ts))
data_ts_ad <- data_ts[,1] #assign advertising as list, for HoltWinters
data_ts_sa <- data_ts[,2] # assign sales as list, for HoltWinters
#do HoltWinters for advertising
plot(HoltWinters(data_ts_ad))
data_ts_ad.hw <- HoltWinters(data_ts_ad)
predict(data_ts_ad.hw,n.ahead=9)
> Jan Feb Mar Apr May Jun Jul Aug
+ 2014 18.52852 25.47521 27.16683 36.41340 38.14678 33.04452 33.22488 32.12758
Sep
+ 2014 32.58964
plot(data_ts_ad,xlim=c(2010,2014))
lines(predict(data_ts_ad.hw, n.ahead=24), col=2)
#do HoltWinters for sales
plot(HoltWinters(data_ts_sa))
data_ts_sa.hw <- HoltWinters(data_ts_sa)
predict(data_ts_sa.hw,n.ahead=9)
> Jan Feb Mar Apr May Jun Jul Aug
+ 2014 11.05723 23.27877 50.06859 57.22696 61.50669 26.35195 62.26159 70.83347
Sep
+ 2014 23.18957
plot(data_ts_sa,xlim=c(2010,2014))
lines(predict(data_ts_sa.hw, n.ahead=24), col=2)
我最近看到一本书,名为R 和数据挖掘:赵延昌的例子和案例研究。它有出色的工作示例,这就是我找到灵感的地方。但是,我无法让我的小脑袋思考哪些技术可以应用于这个数据集。
我是 R 的新手,所以请稍微降低你的答案。
编辑: data_ts 的输出如下。
dput(data_ts)
structure(c(12, 20.5, 21, 15.5, 15.3, 23.5, 24.5, 21.3, 23.5,
28, 24, 15.5, 17.3, 25.3, 25, 36.5, 36.5, 29.6, 30.5, 28, 26,
21.5, 19.7, 19, 16, 20.7, 26.5, 30.6, 32.3, 29.5, 28.3, 31.3,
32.2, 26.4, 23.4, 16.4, 15, 16, 18, 27, 21, 49, 21, 22, 28, 36,
40, 3, 21, 29, 62, 65, 46, 44, 33, 62, 22, 12, 24, 3, 5, 14,
36, 40, 49, 7, 52, 65, 17, 5, 17, 1), .Dim = c(36L, 2L), .Dimnames = list(
NULL, c("Advertising", "Sales")), .Tsp = c(2006, 2008.91666666667,
12), class = c("mts", "ts", "matrix"))
. 一个包含 3 个季节性脉冲和 3 个脉冲效应(仅限一次)的有用模型如下。
. 残差的 acf 表明充分性
,这在视觉上由残差图支持
。实际/拟合和预测图如下
它提供的预测比这里提供的其他预测更令人赏心悦目。请注意,我对 Y 的预测是基于明年的预期 X,使用最近一年的值作为典型基线。对 X 的不同预测将转化为对 Y 的不同预测。
. 请注意,AUTOBOX 和 auto.arima 的预测模式“有些相似但级别不同”。另请注意 auto.arima 对明年 7 月高位的“错误预测”,因为它认为 1992 年 7 月的值是基础,而不是像 AUTOBOX 那样挑战 1992/7 年的值。AUTOBOX 感觉 1992 年 7 月明显高于预期(前两年分别为 52 和 21 和 33),因此包含一个幅度为 +22.8623 的“异常值”。通过减去 22.8623 来调整 7 月份的值,得出的预测不会因异常而有缺陷。相比之下,8 月的值为 22,过去两年确认为 62 和 65,因此估计的 8 月效应为正值 35.698。在没有 ARIMA 效应的情况下,8 月的调整将是 [(62+65)/2] -22 或 41。
