📜  什么是时间序列的趋势?

📅  最后修改于: 2022-05-13 01:54:27.913000             🧑  作者: Mango

什么是时间序列的趋势?

时间序列数据是一系列数据点,用于在有序的时间段内测量某些变量。它是增长最快的数据库类别,因为它被广泛用于各个行业以了解和预测数据模式。因此,在准备用于建模的时间序列数据时,检查时间序列组件或模式非常重要。这些组件之一是趋势。

趋势 是数据中的一种模式,它显示了一个系列在很长一段时间内向相对较高或较低值的移动。换句话说,当时间序列的斜率增加或减少时,就会观察到趋势。趋势通常会发生一段时间然后消失,它不会重复。例如,一些新歌来了,它流行了一段时间,然后就消失了。它很有可能再次流行。

一个趋势可能是:

  • 上升趋势时间序列分析显示了向上然后是上升趋势的一般模式。
  • 下降趋势时间序列分析显示一个向下的模式,然后它是下降趋势。
  • 水平或平稳趋势:如果没有观察到模式,则称为水平或平稳趋势。

您可以通过简单的可视化或分解数据集来发现数据的趋势。

可视化

通过简单地绘制数据集,您可以看到数据的总体趋势

方法 :

  • 导入模块
  • 加载数据集
  • 将月份列转换为日期时间对象
  • 将月份设置为索引
  • 创建情节

注意:在下面给出的示例中,相同的代码用于显示所有三种趋势,只是使用的数据集不同以反映该特定趋势。

数据集链接:点击这里

示例:上升趋势

Python3
# importing the libraries
import pandas as pd
import matplotlib
  
# importing dataset
data = pd.read_csv(r'C:\Users\admin\Downloads\Electric_Production.csv')
  
# casting Month column to datetime object
data['DATE'] = pd.to_datetime(data['DATE'])
  
# Setting Month as index
data = data.set_index('DATE')
  
# Creating the plot
data.plot()


Python3
import pandas as pd
import matplotlib
  
# importing dataset
data = pd.read_csv(r'C:\Users\admin\Downloads\AlcoholSale.csv')
  
# casting Date column to datetime object
data['DATE'] = pd.to_datetime(data['DATE'])
  
# Setting Date column as index
data = data.set_index('DATE')
  
# Creating the plot
data.plot()


Python3
# importing the libraries
import pandas as pd
import matplotlib
  
# importing dataset
data = pd.read_csv(
    r'C:\Users\admin\Downloads\monthly-beer-production-in-austr.csv')
  
# casting Month column to datetime object
data['Month'] = pd.to_datetime(data['Month'])
  
# Setting Month as index
data = data.set_index('Month')
  
# Creating the plot
data['1984':'1994'].plot()


Python3
# importing function
from statsmodels.tsa.seasonal import seasonal_decompose
  
# creating trend object by assuming multiplicative model
output = seasonal_decompose(data, model='multiplicative').trend
  
# creating plot
output.plot()


输出 :

示例:下降趋势

蟒蛇3

import pandas as pd
import matplotlib
  
# importing dataset
data = pd.read_csv(r'C:\Users\admin\Downloads\AlcoholSale.csv')
  
# casting Date column to datetime object
data['DATE'] = pd.to_datetime(data['DATE'])
  
# Setting Date column as index
data = data.set_index('DATE')
  
# Creating the plot
data.plot()

输出 :

示例:水平趋势

蟒蛇3

# importing the libraries
import pandas as pd
import matplotlib
  
# importing dataset
data = pd.read_csv(
    r'C:\Users\admin\Downloads\monthly-beer-production-in-austr.csv')
  
# casting Month column to datetime object
data['Month'] = pd.to_datetime(data['Month'])
  
# Setting Month as index
data = data.set_index('Month')
  
# Creating the plot
data['1984':'1994'].plot()

输出 :

分解

为了了解线性可视化背后的复杂性,我们可以分解数据。 statsmodels包中的seasonal_decompose函数可以帮助我们将数据分解为其组成部分/显示模式——时间序列的趋势、季节性和残差组成部分。在这里,我们只对趋势组件感兴趣,因此将使用season_decompose().trend访问它。

Season_decompose函数使用移动平均线方法来估计趋势。

例子 :

蟒蛇3

# importing function
from statsmodels.tsa.seasonal import seasonal_decompose
  
# creating trend object by assuming multiplicative model
output = seasonal_decompose(data, model='multiplicative').trend
  
# creating plot
output.plot()

输出 :