如何使用Facebook的Prophet来预测空气质量

这篇文章将为大家详细讲解有关如何使用Facebook的Prophet来预测空气质量,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

对于许多机器学习工程师来说,制作高质量的预测很难。它需要大量的经验和非常具体的技能。此外,其他预测工具太不灵活,无法纳入有用的假设。

出于这些原因,Facebook开源Prophet,这是Python和R中提供的预测工具。该工具允许专家和非专家以最小的努力生成高质量的预测。

在这里,将使用Prophet来帮助我们预测空气质量!

导入并清理数据

与往常一样,首先导入一些有用的库:

如何使用Facebook的Prophet来预测空气质量

然后导入数据集并预览它:

如何使用Facebook的Prophet来预测空气质量

你应该看到以下内容:

如何使用Facebook的Prophet来预测空气质量

数据集的前五个条目

如您所见,数据集包含有关不同气体浓度的信息。每天每小时记录一次。您可以在此处找到所有功能的说明。

如果更多地浏览数据集,会注意到有许多值为-200的实例。当然,负面集中是没有意义的,因此需要在建模之前清理数据。

首先,摆脱存在空值的所有实例:

如何使用Facebook的Prophet来预测空气质量

之后,需要将日期列解析为日期,并将所有测量值转换为浮点数:

如何使用Facebook的Prophet来预测空气质量

然后,通过取每个测量的平均值来按天汇总数据:

如何使用Facebook的Prophet来预测空气质量

此时,数据应如下所示:

如何使用Facebook的Prophet来预测空气质量

还有一些需要摆脱的NaN。可以看到每列中有多少NaN:

如何使用Facebook的Prophet来预测空气质量

摆脱超过8 NaN的列:

如何使用Facebook的Prophet来预测空气质量

完善!现在应该按周汇总数据,因为它会给出更平滑的分析趋势。

如何使用Facebook的Prophet来预测空气质量

真棒!现在准备更多地探索数据了。

探索性数据分析(EDA)

绘制数据集的每一列:

如何使用Facebook的Prophet来预测空气质量

花点时间查看每个情节并确定有趣的趋势。为了长度只考虑NOx的浓度。

氮的氧化物是非常有害的,因为它们反应形成烟雾和酸雨,并且负责形成细颗粒和地面臭氧。这些对健康有不利影响,因此NOx的浓度是空气质量的关键特征。

因此在继续建模之前,删除所有不相关的列:

如何使用Facebook的Prophet来预测空气质量

Modelling

首先导入Prophet:

如何使用Facebook的Prophet来预测空气质量

然后,Prophet要求将date列命名为ds,将要素列命名为y:

如何使用Facebook的Prophet来预测空气质量

现在,数据应该是这样的:

如何使用Facebook的Prophet来预测空气质量

然后,定义一个训练集。为此将保留最后30个用于预测和验证的条目。

如何使用Facebook的Prophet来预测空气质量

然后,简单地初始化Prophet,使模型适合数据,并进行预测!

如何使用Facebook的Prophet来预测空气质量

应该看到以下内容:

如何使用Facebook的Prophet来预测空气质量

 

这里,yhat表示预测,而yhat_loweryhat_upper分别表示预测的下限和上限。

Prophet允许轻松绘制预测:

如何使用Facebook的Prophet来预测空气质量

得到:

如何使用Facebook的Prophet来预测空气质量

NOx浓度预测

如您所见,Prophet只是使用直线向下线来预测未来的NOx浓度。

您还可以使用命令查看时间序列是否具有任何有趣的功能,例如季节性:

如何使用Facebook的Prophet来预测空气质量

得到:

如何使用Facebook的Prophet来预测空气质量

 

在这里,Prophet只发现了一个没有季节性的下降趋势。

现在,通过计算模型的平均绝对百分误差(MAPE)和平均绝对误差(MAE)来评估模型的性能:

如何使用Facebook的Prophet来预测空气质量

应该看到MAPE是13.86%而MAE是109.32,这并不是那么糟糕!请记住根本没有对模型进行微调。

最后,用它的上限和下限绘制预测:

如何使用Facebook的Prophet来预测空气质量

得到:

如何使用Facebook的Prophet来预测空气质量

预测每周平均NOx浓度

关于如何使用Facebook的Prophet来预测空气质量就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/229472.html

(0)
上一篇 2022年1月13日
下一篇 2022年1月13日

相关推荐

发表回复

登录后才能评论