马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
该案例的工作流如下:
1、商业目标
业务理解:该案例所用的数据是《销售数据.csv》,该数据包含销售日期、销量和利润(万元)三个指标,如下:
表1:销售数据预览
业务目标:建立预测分析系统,分析利润在未来的预测值。
数据挖掘目标:建立时间序列预测模型,该模型以日期为输入,以利润为目标,建立预测模型。
2、数据理解使用统计节点计算字段的特征统计量,输出结果如下:
3、分布趋势分析
分析时间序列趋势是时间序列建模的初步工作。目的是为了分析时间序列的规律和序列特征,如序列是否平稳?是否有周期性或者趋势性?并由此分析哪些分析模型更适合。
操作如下:
第一步,使用字符转化为日期节点将字符型的日期型转化为日期型。节点配置如下:
第二步,使用时间选择节点选择选择85年 - 95年的数据的进行分析。节点配置如下:
第三步,使用列过滤节点过滤日期字段,节点配置如下:
第四步,使用标准化节点对数据进行标准化。节点配置如下:
第五步,使用线图节点分析序列的趋势。从下图可以看出,序列整体呈下降趋势,且没有周期性。
4、简单序列预测
工作流如下:
接下来,我们选择一个简单的移动平均预测算法进行预测。步骤如下:
第一步,使用日期字段提取节点提取模型所需的日期字段,这里提取年和季度,配置如下:
提取前数据预览如下:
提取后数据预览如下:
第二步,使用汇总字段安装年和季度进行汇总,将数据粒度转化为我们要分析的粒度,节点配置如下:
点击 按钮可以对汇总值的计算方法进行配置,在这里我们数值字段取其平均值(也可以是其他,根据实际情况而定),如下:
执行后节点击右键菜单最下方的"组表"预览数据如下:
第三步,使用列过滤节点选择要分析的变量。节点配置如下:
第四步,使用移动平均节点进行移动平均计算。节点配置如下:
执行后预览数据如下:
第五步,使用Java代码(简单)节点计算残差,节点配置如下:
第六步,生成行ID字段,作为趋势图的横轴。
首先,使用日期转化为为字符串节点,转化字段类型,节点配置如下:
其次,使用行ID节点生成行ID。节点配置如下:
第七步,使用线图节点可视化预测结果。节点配置如下:
如上图所示,移动平均算法对该时间序列的趋势有一定预测能力,该模型也总结一些规律,但是尚有一些规律并未总结出。这是一个趋势性非平稳序列,您还可以考虑使用指数平滑模型、ARIMA模型、残差自回归模型等重新建模。
5、小结时间序列分析是数据挖掘最难的算法之一。当然它也有一个好处,就是建模之前的数据量一般都很小,一般只有几十条到几百条记录(如果您的预测粒度是月,那么每年才12条数据,10年才120条),因此模型计算很快。
时间序列分析的一般步骤是:首先,探索序列的趋势,看看序列是趋势特征还是周期性特征,平稳序列还是非平稳序列,是白噪声序列,还是非白噪声序列。根据这些信息我们可以把分析尝试的模型范围缩小,有方向的去优化模型。其次,开始使用工具去尝试模型,并解释模型的质量。最后,评估模型。以及考虑是否使用混合模型来提高模型的稳定性。
本文源自:http://wiki.smartbi.com.cn/pages/viewpage.action?pageId=13599873
|