曾听某大神说,数据挖掘其实就干四件事:分类、聚类、关联、预测。虽然我还不搞数据挖掘,但是感觉这四个也是平时用到最多的。然后,我就默默地把常用的模型又刷了一遍,整理一下写在这里,一来方便同学们学习交流,二来我非科班出身,不足之处,还请路过的大神指教一二。
当当当当~~~首先,让我们先来说说时间序列分析。
时间序列,顾名思义,就是一个以时间间隔为准则的序列,(官方说法:时间序列是一个变量在连续时点或连续时期上测量的观测值的序列),这个时间间隔可以是一小时,一天,一周,一个月或者一年等等等等。然后我们根据这些数据可以了解到过去的行为模式,如果这种行为预计可以持续到未来,则可根据过去的模式并结合合适的预测方法来预测未来的数据。
总而言之呢,时间序列分析就是要在历史资料或时间序列中发现规律性的模式,然后将这个模式外推到未来。
那么具体怎么操作呢,请听我细细道来~
第一步:绘制时间序列图,查看模式
第二步:根据模式分解时间序列
第三步: 对时间序列进行预测
PS:时间序列图就是以时间为横轴,时间序列值为纵轴的曲线图
然后我们先按照不同的模式把知识进行一个概括
水平模式:数据围绕一个不变的均值上下波动 (就是类似一条直线那样的)
预测方法:
- 1.移动平均法
- 2.加权移动平均法
- 3.指数平滑法
趋势模式:尽管时间序列的数据通常呈现随机起伏的状态,但在一段较长的时间内,它仍然呈现出逐步的改变或移动到相对较高或较低的值。
预测方法:
- 1.线性趋势回归
- 2.Holt线性指数平滑
- 3.非线性趋势回归
以上两个都为非季节性时间序列,分解时只需要分解为一个趋势部分和一个不规则部分。然后用TTR包中的SMA()函数去平滑时间序列数据。
季节模式:在超过一年的时间内,由于受季节的影响,时间序列图呈现重复模式
通常在连续的时间段观测同样的重复模式来确认季节模式
预测方法:
- 按时间进行移动平均
趋势与季节模式:当然是趋势模式与季节模式的结合啦~
预测方法:
- 将季节性的虚拟变量方法与处理线性趋势的时间序列回归方法结合起来
以上两个为季节性模式的时间序列,分解时要将它们分解为季节部分、趋势部分和不规则部分三个部分,用R中的decompose()函数,分解后分别存储在seasonal、tend和random三个变量中。
循环模式:持续时间超过一年的在在趋势线的上下交替的点序列(只为保证完整性,我们不讨论这个-_-||)
这里只是一个知识的概括,小伙伴们要想深入的话还是要去看书,俗话说,实践出真知,下一次,我们要用一个实例把这个过程跑一遍~