时间序列的数据分析(一):主要成分

时间序列是一组按照时间发生先后顺序进行排列,并且包含一些信息的数据点序列,在时间序列数据中通常包含了数据的发展趋势(向上、向下、保持)和数据的变化规律(季节性)等特征。而这些特征往往具有一定的规律性和可预测性,具体来说时间序列数据具有如下几种特点:

  1. 趋势性:某个变量随着时间进展或自变量变化,呈现一种比较缓慢而长期的持续上升、下降、保存不变的趋向,但变动幅度可能不相等。
  2. 季节性:某因素由于外部影响如随着自然季节的交替出现高峰与低谷的规律。
  3. 随机性:个别时刻呈现随机变动,整体呈统计规律。

在某些应用场景中需要对时间序列数据进行预测,比如在零售,电商等行业需要对未来一段时间的销售金额,客流量,订单量等进行预测,准确的预测结果可以为企业的领导层提供决策参考,并有助于提高企业的人效,为企业带来更多的利润。

一,趋势(Trend)

时间序列的数据往往包含了一定的数据发展趋势,比如下图中的数据有非常明显的趋势:

时间序列的数据分析(一):主要成分

二,季节性(Seasonal)

时间序列数据中的季节性指的是数据中包含的周期性变化的规律,这些周期性变化规律往往和年度,月,季度,周等季节性时间点有密切的关系。通常季节性因子又可以分为1.加法季节性,2.乘法季节性。

2.1 加法季节性(Additive)

所谓加法季节性是指时间序列数据周期性变化的幅度不会随着时间的发展而发生变化,换句话说数据变化的幅度不受时间的影响(幅度保持不变)如下图所示:

时间序列的数据分析(一):主要成分

从上图中可以看到,数据呈现出季节性变化规律,但是这种变化的幅度没有随着时间的发展而发生变化,即时间对季节性变化没有影响。

2.2 乘法季节性(Multiplicative)

所谓乘法季节性是指时间序列数据周期性变化的幅度会随着时间的发展而发生变化,换句话说数据变化的幅度和时间呈现线性关系如下图所示:

时间序列的数据分析(一):主要成分

从上图中可以看到,数据呈现出季节性变化规律,并且这种季节性变化的幅度随着时间的发展而发生变化(比如逐渐变大或变小)。

三,残差(Residual)

残差是指当时间序列数据中删除了趋势和季节性特征以后剩余的部分,我们一般认为具有季节性特征的时间序列数据的残差的服从均值为0的正太分布,残差一般被认为是一种白噪声信号,我们可以通过逐步删除时间序列数据中的趋势和季节性特征来得到残差:

时间序列的数据分析(一):主要成分

如上图所示当从原始数据中删除了趋势以后,剩余的成分就是:季节性+残差,接下来我们要从季节性+残差的成分中删除季节性成分后得到残差。

时间序列的数据分析(一):主要成分

下面我们通过python的第三方类库statsmodes的seasonal_decompose来分解时间序列数据:

from statsmodels.tsa.seasonal import seasonal_decompose

df=pd.read_csv("airline_Passengers.csv")
df.set_index('Period',inplace=True)
df.index = pd.to_datetime(df.index)
data = df["#Passengers"]
seasonal_decomp = seasonal_decompose(data, model="additive")
seasonal_decomp.plot();

时间序列的数据分析(一):主要成分

总结

时间序列数据的主要成分包含: 趋势、季节性、残差。季节性又分为加法季节性和乘法季节性。可以使用statsmodes包的seasonal_decompose方法来分解时间序列。

参考资料

statsmodels.tsa.seasonal.seasonal_decompose — statsmodels

Original: https://blog.csdn.net/weixin_42608414/article/details/125850603
Author: -派神-
Title: 时间序列的数据分析(一):主要成分

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/694203/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球