inuyashacas / air_pollutants_prediction_lstm

This is a project for predicting air pollutants in London by time series model, including lstm, bilstm, Convlstm, attention lstm, lightGBM and ARIMA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

English version README can be seen here English version

air_pollutants_prediction_lstm

这个项目是用于预测伦敦空气质量的状况。其中有五个监测站的数据被选用。这五个监测站分别是:Harlington, North Kensington, Marylebone, Bloomsbury and Eltham. 该数据来源为openair开源库。数据的时间跨度为2018-2019。数据的属性有:NOX, NO2, NO, O3, PM2.5, 风速, 风向和空气温度。因为是用于水毕业的论文,所以整个实验并没有采用面向对象的方式进行封装,所以比较杂乱,见谅。但这样也有好处,就是任何单独的一个Jupter notebook文件 都可以独立的运行实验,并且完成实验的结果。

image

运行环境

  • google colab (建议)

or

  • pytorch
  • numpy
  • matplotlib
  • seaborn

使用算法

在使用算法之前,先要对数据进行预处理并且理解他们。

注意: 除了BiLSTM以外,其余算法全都采用双层的全连接层。

介绍

数据集划分

80% 训练集, 10% 验证集,10%测试集。

评估方法

注意!该实验的评估方法有两种。一种是用10%的测试集去评测。这意味着模型只需要预测未来1小时的情况。然后预测10%个相应的1小时。预测出来的值是不会重新放回time window里的。 另外一种,就是用上面筛选出来的模型去预测未来96小时的情况。每预测1小时,预测出来的新的值,将会塞回时间窗口。所以这个过程,偏移将会越来越大。

image

结果

下面是预测Bloomsbury未来96小时的NOX含量的结果 image

致谢

About

This is a project for predicting air pollutants in London by time series model, including lstm, bilstm, Convlstm, attention lstm, lightGBM and ARIMA

License:MIT License


Languages

Language:Jupyter Notebook 100.0%