ML之VAR:基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例

ML之VAR:基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例

目录

基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例

# 1、定义数据集

# 2、数据集预处理

# 2.1、缺失值填充:对时间序列数据进行前向填充

# 2.2、筛选入模特征

# 3、模型训练与评估

# 3.1、切分数据集:验证集仅用来对比

# 3.2、模型训练

# 3.3、自动获取lag_order

# 3.4、模型预测:基于lag_order和预测样本个数实现多变量预测

# 3.5、模型评估:逐个特征评估

# 3.6、绘制预测值对比真实值


相关文章
ML之VAR:基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例
ML之VAR:基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例实现代码

基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例

# 1、定义数据集

           week  max_temperature  ...  air_quality_index air_quality_level
date                              ...                                     
2021-01-01   周五                4  ...               52.0                 良
2021-01-02   周六                7  ...               69.0                 良
2021-01-03   周日               10  ...               66.0                 良
2021-01-04   周一               13  ...               44.0                 优
2021-01-05   周二                8  ...               49.0                 优
...         ...              ...  ...                ...               ...
2023-03-12   周日               12  ...               68.0                 良
2023-03-13   周一               14  ...               52.0                 良
2023-03-14   周二               20  ...               55.0                 良
2023-03-15   周三               23  ...               52.0                 良
2023-03-16   周四               15  ...               69.0                 良

[805 rows x 8 columns]
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 805 entries, 2021-01-01 to 2023-03-16
Data columns (total 8 columns):
 #   Column             Non-Null Count  Dtype  
---  ------             --------------  -----  
 0   week               805 non-null    object 
 1   max_temperature    805 non-null    int64  
 2   min_temperature    805 non-null    int64  
 3   weather            805 non-null    object 
 4   wind_direction     805 non-null    object 
 5   wind_level         805 non-null    object 
 6   air_quality_index  667 non-null    float64
 7   air_quality_level  775 non-null    object 
dtypes: float64(1), int64(2), object(5)
memory usage: 56.6+ KB

# 2、数据集预处理

# 2.1、缺失值填充

对时间序列数据进行向填充

# 2.2、筛选入模特征

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 805 entries, 2021-01-01 to 2023-03-16
Data columns (total 3 columns):
 #   Column             Non-Null Count  Dtype  
---  ------             --------------  -----  
 0   max_temperature    805 non-null    int64  
 1   min_temperature    805 non-null    int64  
 2   air_quality_index  805 non-null    float64
dtypes: float64(1), int64(2)
memory usage: 25.2 KB
after select None
(764, 3)

# 3、模型训练与评估

# 3.1、切分数据集:验证集仅用来对比

# 3.2、模型训练

lag_order 1
(1, 3)

# 3.3、自动获取lag_order

# 获取了已拟合(trained)的VAR模型对象的滞后阶数(lag order)。滞后阶数是指在多变量自回归模型中,用来预测当前时刻的变量值所使用的过去观测值的数量。

# 3.4、模型预测:基于lag_order和预测样本个数实现多变量预测

# 定义预测样本个数

# 输出多变量预测结果

    max_temperature  min_temperature  air_quality_index
0          7.985491         2.331710          55.248152
1          8.271345         2.674797          57.089048
2          8.637829         3.020773          58.096087
3          9.017162         3.364621          58.597781
4          9.389668         3.703368          58.790258
……

30        15.907383         9.875085          53.593724
31        16.069888        10.029798          53.441149
32        16.227586        10.179934          53.293086
33        16.380618        10.325628          53.149404
34        16.529124        10.467013          53.009971
35        16.673237        10.604216          52.874663
36        16.813086        10.737359          52.743358
37        16.948798        10.866564          52.615937
38        17.080496        10.991947          52.492285
39        17.208298        11.113621          52.372291
40        17.332319        11.231695          52.255847

# 3.5、模型评估:逐个特征评估

max_temperature
VAR_model_val_RMSE: nan
VAR_model_val_MSE: 20.01365459529838
VAR_model_val_R2: 0.389065276118679
min_temperature
VAR_model_val_RMSE: nan
VAR_model_val_MSE: 10.518481162716537
VAR_model_val_R2: -0.10454565433074081
air_quality_index
VAR_model_val_RMSE: nan
VAR_model_val_MSE: 498.12373855288257
VAR_model_val_R2: -0.1276536779817219

# 3.6、绘制预测值对比真实值

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/130715428