时间序列入门
- 第一章 时间序列概述
- 1.1 时间序列简介
- 1.1.1 时间序列定义
- 1.1.2 时间序列分量
- 1.1.3 时间序列分类
- 第二章 时间序列绘图
- 2.1 单变量时序绘制
- 2.2 多变量时序绘制
- 第三章 时间序列基本特性
- 3.1 趋势性
第一章 时间序列概述
1.1 时间序列简介
1.1.1 时间序列定义
在进行时间序列之前,需要学习什么是时间序列。时间序列是一组按时间排列的数据。通常,这些数据在时间上是等间距的,即数据可以每小时或每分钟记录一次,也可以按周、月或按年取平均值记录。在统计学中,一般将按时间顺序排列的一组随机变量
X 1 , X 2 , ⋯ , X t , ⋯ X_1, X_2, \cdots, X_t, \cdotsX1,X2,⋯,Xt,⋯
称为时间序列,记为{ X t , t ∈ T } \{X_t, t \in T\}{Xt,t∈T}。用
x 1 , x 2 , ⋯ , x t , ⋯ x_1, x_2, \cdots, x_t, \cdotsx1,x2,⋯,xt,⋯
表示该随机序列的一组有序观察值。
1.1.2 时间序列分量
时间序列通常可以分解为三个主要成分:趋势分量、季节分量和残差分量。趋势分量反映数据的长期变化方向,表现为持续上升或下降的总体趋势;季节分量捕捉数据中周期性出现的规律性波动,这些波动以固定时间间隔重复出现;残差分量表示趋势和季节性分量无法解释的行为,通常被视为白噪声。这三个成分共同构成了时间序列的完整结构。
1.1.3 时间序列分类
时间序列可以根据观察点的变量数,划分为一元时间序列或多元时间序列;根据时间的连续性,可以分为连续时间序列和离散时间序列;根据统计性质,可以分为平稳时间序列和非平稳时间序列。
第二章 时间序列绘图
2.1 单变量时序绘制
importosimportpandasaspdfrommatplotlibimportpyplotasplt# 数据路径root=os.path.dirname(os.path.dirname(__file__))dataset_path=os.path.join(root,'dataset',"ETTh1.csv")# 读取数据data=pd.read_csv(dataset_path,parse_dates=['date'])# 可视化plt.figure(figsize=(12,8))plt.plot(data['date'],data['HUFL'])plt.xlabel('date')plt.ylabel('HUFL')plt.tight_layout()plt.show()2.2 多变量时序绘制
importosimportpandasaspdfrommatplotlibimportpyplotasplt root=os.path.dirname(os.path.dirname(__file__))dataset_path=os.path.join(root,'dataset',"ETTh1.csv")# 读取数据data=pd.read_csv(dataset_path,parse_dates=['date'])# 可视化plt.figure(figsize=(12,8))plt.plot(data['date'],data['HUFL'],color='red',linestyle="-",label='HUFL')plt.plot(data['date'],data['HULL'],color='blue',linestyle="--",label='HULL')plt.xlabel('date')plt.ylabel('HUFL')plt.legend()plt.tight_layout()plt.show()第三章 时间序列基本特性
不通领域的时间序列具有不同特性,包括趋势性、季节性、平稳性、非平稳性、漂移性、转移和相关性。本章将通过定义和可视化对其进行描述。理解这些特性不仅有助于理解数据内在规律,也决定选择何种方法进行数据处理、模型构建和分析,从而影响结果的准确性和可靠性。
对时间序列,使用局部加权回归分解法(Decomposition Method using Locally Weighted Scatterplot Smoothing,Loess),可以将其分解为趋势性、季节性和其他部分。其核心原理是通过在滑动窗口内对数据点进行动态加权拟合实现序列成分分离。该方法针对时间序列中每个数据点,采用三次方权重函数对邻近数据赋予随距离递减的权重,构建局部多项式模型以估计趋势成分;对于季节成分,则通过周期内局部拟合捕捉周期性波动模式。最终建广元市序列稳定分离为趋势项(反映长期变化)、季节项(体现周期波动)和其他部分(包含随机噪声)。
3.1 趋势性
趋势性是指时间序列长期变化或模式的总体方向。其本质上表现为方差与总方差的比值,趋势性定义如下:
T r e n d = m a x ( 0 , 1 − v a r ( R ) v a r ( X − S ) ) Trend = max(0, 1-\frac{var(R)}{var(X-S)})Trend=max(0,1−var(X−S)var(R))
该指标是解释方差在时间序列分解中的具体应用,分母v a r ( X − S ) var(X-S)var(X−S)代表去除季节项后序列的总变异,分子v a r ( R ) var(R)var(R)代表未被趋势项和季节项解释的变异。