时间,数据分析的第四维度
时间序列(Time Series)是按时间顺序排列的数据点序列。与鸢尾花数据不同,时间序列数据的先后顺序不能随意打乱——时间的箭头只向前。
从股票价格到气温变化,从销售数据到失业率,时间序列无处不在。本章将带你掌握时间序列数据的分析方法,包括趋势识别、季节性分解、缺失值处理,以及如何用数据讲述动人的故事。
🎯本章学习目标
时间序列数据
股票价格、收益率与归一化
时间序列是某一特征在不同时间点上顺序观察得到的序列。时间戳(timestamp)可以精确到年份、月份、日期,甚至是小时、分、秒。本节以2020年度9支股票的每日收盘价数据为例,介绍时间序列数据的基本概念。
💰原始价格
📊归一化价格
📈收益率
处理时间序列缺失值
向前、向后、线性插值方法对比
时间序列数据在分析建模之前,需要注意缺失值处理。由于时间序列数据是顺序观察的,在处理缺失值时有其特殊性。除了均值、众数、中位数等一般方法,还可以采用向前填充(ffill)、向后填充(bfill)和线性插值等时间序列专用方法。
从时间数据中发现趋势
失业率数据的多维度分析
本节利用美国失业率数据介绍如何从时间数据中发现趋势。数据从1950年开始到2021年,每月一个数据点。通过同比(Year-over-Year)、环比(Month-over-Month)以及箱型图聚合,我们可以从不同角度观察失业率的变化规律。
📅同比与环比
- •同比:与历史同期比较,消除季节性影响
- •环比:与上一时期比较,发现短期变化
- •应用:经济指标分析、零售销售分析
📦箱型图聚合
时间序列分解
拆解趋势、季节、循环和随机成分
时间序列通常包含多个成分:趋势项T(t)表征长期变化方向,季节项S(t)表征固定周期的重复模式,循环项C(t)表征长周期波动,随机项I(t)表征不规则成分。根据成分的组合方式,可以分为加法模型和乘法模型。
🔍 季节调整的重要性
为什么要季节调整?
- • 消除季节性干扰,更清晰地观察趋势
- • 便于比较不同时期的数据
- • 提高预测模型的准确性
- • 发现真实的经济或业务变化
实现工具
时间数据讲故事
用Gapminder数据探索世界发展
本节采用Plotly提供的世界国家地区人口、预期寿命、人均GDP数据,展示如何用数据讲述动人的故事。通过交互式可视化,我们可以观察不同国家在经济发展与健康水平上的演变轨迹,发现发展模式的多样性。
5.1 全球人口分析
5.2 经济发展与健康水平关系
📖 Gapminder与Hans Rosling
数据讲故事的艺术
可视化设计要点
🎯本章核心要点
📚理论知识
- •时间序列的顺序性:数据点不能随意打乱
- •三种收益率:PnL、简单收益率、对数收益率
- •四大成分:趋势T、季节S、循环C、随机I
- •加法vs乘法:根据季节性波动特征选择
🛠️实践技能
- •归一化处理:消除量纲差异,便于对比
- •缺失值插值:ffill、bfill、线性插值
- •趋势发现:同比、环比、箱型图聚合
- •序列分解:seasonal_decompose()函数