flash网站模板免费下载,网站 关键词库 怎么做,常德建设局官方网站,wordpress能做app吗简而言之#xff0c;时间序列预测是根据以前的历史数据预测未来值的过程。目前使用时间序列预测的最热门领域之一是加密货币市场#xff0c;人们希望预测比特币或以太坊等流行加密货币的价格在未来几天甚至更长时间内将如何波动。另一个现实世界的案例是能源消耗预测。尤其是… 简而言之时间序列预测是根据以前的历史数据预测未来值的过程。目前使用时间序列预测的最热门领域之一是加密货币市场人们希望预测比特币或以太坊等流行加密货币的价格在未来几天甚至更长时间内将如何波动。另一个现实世界的案例是能源消耗预测。尤其是在能源成为主要讨论焦点之一的当今世界能够准确预测能源消耗需求对于任何电力公司来说都是至关重要的工具。在本文中 问题 我们将重点关注能源消耗问题给定一个城市中不同家庭日常能源消耗的足够大的数据集我们的任务是尽可能准确地预测未来的能源需求。出于本教程的目的我选择了伦敦能源数据集其中包含英国伦敦市 5,567 个随机选择的家庭在 2011 年 11 月至 2014 年 2 月期间的能源消耗。为了改进我们的预测我们将此数据集与伦敦天气数据集结合起来以便在此过程中添加天气相关数据。 这是这个迷你系列的第一部分。阅读完本文后请务必检查下一部分该部分通过合并滞后特征显着改善了结果。 预处理 在每个项目中我们要做的第一件事就是充分了解数据并在需要时对其进行预处理。要使用 pandas 查看数据我们可以执行以下操作 “LCLid”是标识每个家庭的唯一字符串“Date”是不言自明的“KWH”是该日期消耗的千瓦时总数并且根本没有缺失值。由于我们想要以一般方式而不是每个家庭来预测消耗量因此我们需要按日期对结果进行分组并平均千瓦时。 在这一点上如果我们能够了解这些年来消费的变化方式那就太好了。线图可以揭示这一点 整个数据集的能耗图 季节性特征十分明显。在冬季我们观察到能源需求较高而在整个夏季能源消耗处于最低水平。这种行为在数据集中每年都会重复具有不同的高值和低值。为了可视化一年内的波动我们可以这样做 年能源消耗 为了训练像 XGBoost 和 LightGB 这样的模型我们需要自己创建特征。目前我们只有一项功能完整日期。我们可以根据完整日期提取不同的特征例如星期几、一年中的某一天、月份等。为了实现这一目标我们可以这样做 因此“日期”功能目前是多余的。在删除它之前我们将使用它将数据集拆分为训练集和测试集。与传统的训练相反在时间序列中我们不能只是以随机的方式分割集合因为数据的顺序非常重要而且我们只能合并以前的数据。否则我们可能会被提示预测一个值同时也考虑到未来的值该数据集包含近 2.5 年的数据因此对于测试集我们将仅使用最近 6 个月的数据。如果训练集更大我们会使用去年全年作为测试集。 为了再次可视化训练集和测试集之间的分割和区分我们可以绘制 可视化训练-测试分离 现在我们可以删除“日期”功能并创建训练和测试集 训练模型 超参数优化将通过网格搜索来完成。网格搜索采用参数和一些值作为配置并尝试每种可能的组合。达到最佳结果的参数配置将是形成最佳估计器的参数配置。网格搜索也利用交叉验证因此提供适当的分割机制至关重要。同样由于问题的性质我们不能只使用简单的 k 折交叉验证。Scikit learn 提供了TimeSeriesSplit方法该方法以尊重连续性的方式增量地分割数据。 对于 LightGB 模型我们可以通过提供不同的参数来完成相同的操作 评估 为了评估测试集上的最佳估计器我们将计算一些指标。它们是平均绝对误差 (MAE)、均方误差 (MSE) 和平均绝对百分比误差 (MAPE)。其中每一个都提供了对训练模型的实际性能的不同视角。此外我们将绘制线图以更好地可视化模型的性能。 最后为了评估上述任何模型我们必须运行以下命令 XGBoost 结果 LightGBM 结果 尽管 XGBoost 可以更准确地预测冬季的能耗但为了严格量化和比较性能我们需要计算误差指标。通过查看下表很明显 XGBoost 在所有情况下都优于 LightGBM。 预处理天气数据 该模型表现相对较好但是有没有办法进一步改进呢答案是肯定的。有许多不同的提示和技巧可以用来获得更好的结果。其中之一是使用与能耗直接或间接相关的辅助功能。例如天气数据在预测能源需求时可以发挥决定性作用 首先我们看一下数据的结构 需要填写的缺失数据有多种。填充缺失数据并非易事取决于具体情况。由于我们的天气数据每天都取决于前几天和后几天因此我们将通过插值来填充这些值。此外我们将把“date”列转换为“datetime”然后合并两个数据帧以获得一个增强的数据帧。 请记住生成增强集后我们必须重新运行拆分过程并获取新的“training_data”和“testing_data”。不要忘记也包含新功能。 无需更新训练步骤。在新数据集上训练模型后我们得到以下结果 XGBoost 根据天气结果进行增强 LightGBM 根据天气结果进行增强 天气数据显着提高了两个模型的性能。特别是在 XGBoost 场景中MAE 降低了近 44%而 MAPE 从 19% 升至 16%。对于 LightGBMMAE 下降了 42%MAPE 从 19.8% 下降到 16.7%。 结论和未来的步骤 集成模型是非常强大的机器学习工具可用于时间序列预测问题。在本文中我们了解了在能源消耗的情况下这是如何完成的。首先我们仅使用日期因素来训练模型。后来我们在训练过程中考虑了与手头任务相关的其他数据以便显着提高结果。