时间序列之趋势

什么是趋势?

在时间序列中,趋势成分表示序列均值持续的、长期的变化。趋势是一个序列中移动最慢的部分,但却代表最重要的时间尺度。在产品销售的时间序列中,随着越来越多的人逐年了解该产品,市场扩张就可能会产生增长的趋势。

在这里插入图片描述

四种时间序列的趋势模式

移动平均图

通常情况下,为了了解时间序列可能具有什么样的趋势,我们可以使用移动平均图。为了绘制时间序列的移动平均图,我们需要计算一定宽度的滑动窗口(window)的平均值,移动平均线上的每个点表示序列中落在窗口两端之间的所有值的平均值,这样做的目的是消除短期波动,只留下长期变化。

在这里插入图片描述

线性趋势的移动平均图,平均线上每个点(蓝色)是一个大小为 12 的窗口内的点(红色)的平均值

注意上图中的莫纳罗亚火山是如何年复一年地重复上下运动的——这是一种短期的季节性变化,要使一个变化成为趋势的一部分,它应该比任何季节变化发生的时间更长。因此,为了使趋势可视化,我们取了相对较宽的窗口(12 码的窗口),以便使其平滑。


趋势的设计

一旦确定了趋势的形状,我们就可以尝试使用时间步长对其建模,最简单的一种方式是使用时间虚拟变量本身来模拟线性趋势:

target = a * time + b

我们也可以通过时间虚拟变量的变换来拟合许多其他类型的趋势。如果趋势是二次曲线抛物线,我们只需要将时间虚拟变量的平方添加到特征集中:

target = a * time ** 2 + b * time + c

在这里插入图片描述

线性趋势的时间序列和二次方趋势的时间序列

示例:隧道交通

在本例中,我们会刻画出一个隧道交通数据集的趋势模型。

from pathlib import Path
from warnings import simplefilter

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# Configuration
simplefilter("ignore")

sns.set(style="whitegrid")
plt.rc("figure", autolayout=True, figsize=(11, 5))
plt.rc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值