时间序列分析的主要方法,时间序列分析计算的步骤

首页 > 教育 > 作者:YD1662024-05-09 01:53:26

时间序列是最流行的数据类型之一。视频,图像,像素,信号,任何有时间成分的东西都可以转化为时间序列。

在本文中将在分析时间序列时使用的常见的处理方法。这些方法可以帮助你获得有关数据本身的见解,为建模做好准备并且可以得出一些初步结论。

我们将分析一个气象时间序列。利用逐时ERA5 Land[1]研究2023年西伯利亚东南部点的2 m气温、总降水量、地表净太阳辐射和地表压力。

时间序列分析的主要方法,时间序列分析计算的步骤(1)

首先我们导入相关的库:

import pandas as pd import seaborn as sns import numpy as np import matplotlib.pyplot as plt import xarray as xr import statsmodels.api as sm from statsmodels.graphics.tsaplots import plot_ACF, plot_pacf from scipy import stats

matplotlib是可以设置不同的风格的,这里我们使用 opinionated和 ambivalent来进行风格的设置

from ambivalent import STYLES import opinionated plt.style.use(STYLES['ambivalent']) plt.style.use("dark_background")折线图

要观察一个时间序列,最简单的方法就是折线图。为了处理地理空间多维数组,我们将使用xarray库。

data = xr.open_dataset('Medium_data.nc') data

时间序列分析的主要方法,时间序列分析计算的步骤(2)

现在我们需要针对所选位置对数据进行切片,并将其转换为pandas DF,并创建一个线形图:

df = data.sel(latitude=52.53, longitude=101.63, method='pad').to_pandas().drop(['latitude', 'longitude'], axis=1) fig, ax = plt.subplots(ncols = 2, nrows = 2, figsize=(16,9)) df['t2m'].plot(ax=ax[0,0]) ax[0,0].set_title('Air Temperature') df['ssr'].plot(ax=ax[0,1]) ax[0,1].set_title('Surface Net Solar Radiation') df['sp'].plot(ax=ax[1,0]) ax[1,0].set_title('Surface Pressure') df['tp'].plot(ax=ax[1,1]) ax[1,1].set_title('Total Precipitation') plt.tight_layout() plt.show()

时间序列分析的主要方法,时间序列分析计算的步骤(3)

从线形图中可以清楚地看出,所有四个时间序列都有不同的特征,下面让我们使用数学工具来研究它们。

分解与平稳性

任何时间序列都有三个重要属性需要考虑:

1、趋势是时间序列中平稳的长期变化;

2、季节性指的是一个时间序列的平均值有规律的周期性变化;

3、噪声(残差),它是均值为零的信号的随机成分。

为了分别得到这些成分,可以使用经典分解(加性或乘法)。该操作是通过应用卷积滤波器产生的,因此每个时间序列分量被定义为

时间序列分析的主要方法,时间序列分析计算的步骤(4)

首页 1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.