对比分析与分类分析可参考:数据分析思维拓展之对比分析与分类分析 - 掘金 (juejin.cn)
时间序列数据处理可参考:数据分析之python进阶1.0(时间序列数据处理) - 掘金 (juejin.cn)
时间序列分析概述
定义
- 时间序列分析(Time series analysis)是一 种动态数据处理的统计方法.该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,用于解决实际问题.
- 时间序列又称动态数列或时间数列,就是把各个不同时间的统计指标数值,按时间先后顺序排列起来所形成的统计数列.
用途
- 系统描述:根据对系统进行观测得到的时间序列数据,用折线图等方式对系统进行客观的描述.
- 系统分析:当观测值取自两个以上变量时,可用一个时间序列中的变化去说明另一个时间序列中的变化.
- 预测未来:构建模型拟合时间序列,预测该时间序列未来值.
- 决策和控制:根据时间序列模型预测到过程要偏离目标时便可进行必要的控制.
分类
时间序列分为平稳序列、非平稳序列(有趋势序列、复合型序列)
时间序列的构成要素
时间序列的构成要素
时间序列的构成要素分为四种:
- 长期趋势(T):数据中对时间的变化相对稳定,往往是长期稳定的,上涨或下跌。是可预测的部分.
很多具有时间序列的数据都具有长期趋势
- 季节变动(S):多用在长期的宏观经济类指标中,颗粒度是季度,呈现季节性变化,一般引申为周期性波动,如指标在一周内的周末和工作日的差别,一个月内的月初和月末的差别,可以对未来的某个位置周期性因素进行估计,也是可预测部分。
- 周期性波动(C):与季节变动比较相似,有周期因素的存在,是可预测的.
- 随机性或不规则波动(|):不可预测.
时间序列要素的分解
时间序列要素的分解取决于:
- 数据序列本身隐藏着规律,不可预测的是其中的一小部分.
时间序列数据多数都会自带一定的趋势,有的序列还会伴随着周期性规律,我们可以利用这些特性对大多数数据进行一个预测
- 分解的方法要合适,尤其是周期的判断要准确.
时间序列分析思路
我们了解了时间序列的核心要素后,我们对核心要素进行简单的转换,将其变为可量化可统计的四个部分
强相关:时间越接近,两者之间相关性越强
例如,今天的天气和昨天的天气相对比较接近,但是今天的天气与前两个月的天气差别就相对较大了
利用这一特点,我们可以通过很多方式来构建/描述数据间的强相关性
趋势性:当数据量足够大时,数据的趋势性非常明显
我们可以通过观察,但是带趋势性的一些指标需要我们构建趋势
例如节假日出游趋势,较之前涨幅比例构建增长趋势、降低趋势
周期性:规定时间间隔内,数据变换相似
一般来说,时间序列数据的周期性主要集中在月、周、日。不同的周期内,时间自带周期性峰值,我们可以通过统计当前时间与峰值的距离,反映周期性的现阶段
异常点:
异常点的数据分析或预测是相对困难的
例如淘宝681,双11,双12的电商数据
我们在分析过程中需要对这类型的异常数据进行特定的标注,也可以根据实际情况进行剔除或修正,避免异常数据对分析结果的影响
历史平移
当我们想要去做某一个特征的统计时,我们经常会用到历史平移和划窗统计
例如我们想要把前一天的数据作为今天数据的特征时
由于相邻两天的数据存在一定的相关性,所以昨天的数据也能与今天的数据具有很大程度相关性
滑窗统计
滑窗统计常用于分析固定时间区间内数据的变化
构造统计特征,如均值,最大值,最小值来反映该区间内数据的情况
对于常见得时序问题时,都可以采用这两种方式来提取特征,构建训练集。