赞
踩
时间序列是按时间顺序排列的一系列值。不管任何领域,我们都可能会遇到时间序列数据。典型的例子包括天气预报、汇率、销售数据、声波等。时间序列可以是表示为有序序列的任何类型的数据。
在这篇文章中,我们将创建不同模式的时间序列数据。合成数据集的一个优点是,我们可以测量机器学习模型的性能,并了解它在实际数据中的表现。
时间序列的常见模式包括:
注意:图像并非总是平滑的,通常会有一些噪音。此外,时间序列可能包括不同模式的组合。
我们将使用numpy来生成数值数组,并使用matplotlib来绘制序列。让我们从导入所需的Python库开始:
import numpy as npimport matplotlib.pyplot as plt%matplotlib inline
我们可以定义一个将数组作为输入并创建图形的Python函数:
def plot_time_series(time, values, label): plt.figure(figsize=(10,6)) plt.plot(time, values) plt.xlabel("Time", fontsize=20) plt.ylabel("Value", fontsize=20) plt.title(label, fontsize=20) plt.grid(True)
这是最简单的一个,它是一个具有上升趋势的时间序列。我们创建一个具有时间和斜率的数组。然后将这些数组作为参数传递给我们的函数,Python代码如下:
time = np.arange(100)values = time*0.4plot_time_series(time, values, "Upward Trend")
现在,我们可以绘制具有季节性的时间序列。我我们需要一个重复相同模式的序列。Python实现如下:
# Just a random patterntime = np.arange(50)values = np.where(time < 10, time**3, (time-9)**2)# Repeat the pattern 5 timesseasonal = []for i in range(5): for j in range(50): seasonal.append(values[j])# Plottime_seasonal = np.arange(250)plot_time_series(time_seasonal, seasonal, label="Seasonality")
这只是一个随机模式。您可以用numpy尝试不同的模式。
我们可以使用np.random.randn函数创建随机噪声。然后将该噪声添加到季节性序列中,Python实现如下:
noise = np.random.randn(250)*100seasonal += noisetime_seasonal = np.arange(250)plot_time_series(time_seasonal, seasonal, label="Seasonality with Noise")
我们可以在时间序列中看到不同模式的组合。例如,下面的时间序列包含上升趋势和季节性,也含有一些噪声。
seasonal_upward = seasonal + np.arange(250)*10time_seasonal = np.arange(250)plot_time_series(time_seasonal, seasonal_upward, label="Seasonality + Upward Trend + Noise")
有些过程会产生不遵循任何模式的随机数据。这种时间序列被称为白噪声,很难分析和预测。让我们使用Python来创建一个白噪声示例:
time = np.arange(200)values = np.random.randn(200)*100plot_time_series(time, values, label="White Noise")
到目前为止,我们看到的时间序列总是遵循某种模式,这种时间序列称为平稳序列。让我们创建一个非平稳时间序列:
big_event = np.zeros(250)big_event[-50:] = np.arange(50)*-50non_stationary = seasonal_upward + big_eventtime_seasonal = np.arange(250)plot_time_series(time_seasonal, non_stationary, label="Non-stationary Time Series")
时间序列分析是数据科学领域的一个大领域,对时间序列分析的全面理解需要机器学习、统计知识以及领域专业知识。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。