【MLOps】第 11 章 : MLOps 实践:消费预测

文章探讨了在电力系统中使用机器学习进行消费预测的重要性,涵盖数据采集、问题定义、空间和时间分辨率、执行、建模和部署等阶段。强调了预测技术的选择、数据处理和监控在确保电网安全运行中的作用。同时,指出MLOps在标准化流程和平台中的价值,帮助提升预测系统的效率和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎

📝个人主页-Sonhhxg_柒的博客_优快云博客 📃

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】  深度学习【DL】

​​

 🖍foreword

✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。

如果你对这个系列感兴趣的话,可以关注订阅哟👋

文章目录

动力系统

数据采集

问题定义:机器学习还是非机器学习?

空间和时间分辨率

执行

造型

部署

监控

总结


不同时间和地理范围的预测在电网运行中起着重要作用。它们允许模拟系统未来可能的状态,并确保它可以安全运行。本章将介绍用于消费预测的机器学习模型生命周期和 MLOps 用例,包括业务注意事项、数据收集和实施决策。虽然本章的重点是电网,但该用例的注意事项和特殊性可以推广到使用消费预测的其他工业案例。

动力系统

大部分电力系统是电网的支柱。它们也称为传输网络,构成了保持照明系统的核心。这些系统主要由线路和变压器组成,它们通过负责最后几公里输电的配电网与大多数生产者和消费者间接相连。如图11-1 所示,只有最大的生产者和消费者直接连接到散装系统。

图 11-1 仅最大的生产商和消费者直接连接的大容量电力系统样本

传输距离越远,传输的能量量越大,所使用的电压就越高:在低端,几十公里,几十兆瓦,需要几十千伏;在高端,几千公里内几千兆瓦的一百万伏特。(一条容量为 1 兆瓦的线路可为欧洲约 1000 名居民提供电力。)由于其特性,传输系统的运行始终需要大量通信和计算:

无储能

该网络存储了毫无意义的能量——电网消耗的能量不到一秒,而交流发电机和电机的消耗能量最多可达 30 秒。相比之下,天然气网络在其管道中存储了几个小时的消耗量。因此,必须迅速采取行动平衡生产和消费,避免停电。

弱流量控制

在电信网络上,通过丢弃数据包或不建立呼叫来处理拥塞。电网中没有等效机制,这意味着电网元件上的功率流可能高于其运行极限。根据技术和严重程度,必须在过载几秒钟到几小时后采取行动。流量控制技术确实存在,但流量控制和瞬时平衡之间需要权衡:电力必须找到从发电到消费的路径。

由于这两个属性,电网运营商必须始终预见到突发事件:如果这个电网元素出现故障,其余元素的过载是否仍然可以接受?预测是在几个时间尺度上进行的,从接下来的五分钟到接下来的五十年。要采取的行动取决于地平线。例如:

  • 五分钟以下:无法进行任何人为操作。自动操作应该已经被明确定义。

  • 提前五分钟到几个小时:生产计划和电网拓扑调整(断路器和其他流量控制技术的打开)。

  • 提前几天:维护计划调整。

  • 提前几个季节:调整维护计划,与生产者或消费者签订合同以保证电力容量或限制发电或消耗。

  • 未来 5 到 50 年:对电网元件的投资。线路和变压器的标准预期寿命为几十年;实际上,预计某些网格元素将持续一百多年。

另一个问题是对不同地理范围的预测。虽然一些突发事件只对电网的一小部分产生影响,但有些可能会产生大陆影响,并且可能需要多个国家之间采取协调行动来减轻其影响。因此,运行电网需要:

  1. 在具有严格时间限制的广泛地理区域收集数据。

  2. 处理数据以预测并采取相应行动。

数据采集

收集过去的数据是做出预测的第一步。有两个基本上独立的数据源:SCADA(监控和数据采集)系统和计量系统。根据预测用例,可以使用一个或另一个。

SCADA 系统实时收集数据,为操作员提供系统的最新视图。它还允许将命令发送到网络设备,例如打开和关闭断路器。该系统最令人印象深刻的表现形式是大多数控制室中的天气屏幕,如图11-2所示。

图 11-2 SCADA 系统通常每 10 秒或更短时间刷新数千个关于电网流量、消耗和发电量的测量值

有些测量故意是多余的,例如测量功率损耗。如果在线路的每一端测量功率流,则它们之间的差等于线路上的损耗。可以对这些损失进行物理估计,以便可以在缺少一项措施时处理情况、检测异常或提高估计的精度。

使用这种冗余来生成网络状态的过程称为状态估计,每隔几分钟运行一次。当不满足操作限制时,SCADA 系统会发出警报。然而,如果其中一个电网元件出现故障,则无法满足运行限制,SCADA 无法发出警报。

定期对状态估计产生的一致状态进行网元损失模拟(N-1模拟),SCADA数据的价值很快消失;因此,当它被历史化时,它并没有被合并;通常不输入缺失值,并且通常不纠正异常。状态估计被多种过程使用,因此它们通常会在几个月到几年内进行历史记录。

用于开票的计量系统不需要像 SCADA 系统那样反应灵敏,但应该是精确的。它关注的是发电和消费,而不是流量。它不是监测瞬时功率,而是记录一段时间内(从几分钟到一小时)提取或注入的能量。

它收集的信息以前是在延迟一天或更长时间后提供的。较新的系统可在几分钟内使用。然而,当存在缺失测量值或异常情况时,通常需要进行整合和验证,以便最终数据通常在几个工作日内仍然可用。这些数据历史悠久。

问题定义:机器学习还是非机器学习?

并非所有用例都是合适的用于机器学习。有些可以通过其他方式更容易和更便宜地解决。如表11-1 所示,用于对此处介绍的用例类型进行预测的技术在这三种情况下是不同的。

表 11-1 用例预测技术
用例预测技术
预测的不确定性来自于操作者无法改变的系统部分。实际上,改变天气是不可能的。因此,风能和光伏(PV)发电以及供暖和空调可以安全地被视为外生的。这使它们成为直接机器学习预测的良好候选者。这些预测可以根据时间范围利用气象预报或气候情景。尽管一些模型现在可以预测几个月内的趋势,但气象预报只能提前几天进行。
预测不确定性来自操作员可以以某种方式影响的系统部分。例如,严格来说,预测的不是消费,而是需求。消费和需求之间的区别在于,消费以某种方式掌握在运营商手中,运营商可以通过关闭消费者来选择不满足需求。出于同样的原因,预测的是光伏和风能生产潜力,而不是实际产量。
预测的不确定性来自其他参与者可以控制和预期的系统的一部分。例如,对于操作员可以打开或关闭的可调度动力装置,最好向操作员询问时间表。如果这不可能,最好重现制定计划的方式——例如,如果电价高于工厂燃料成本,运营商可能会启动工厂。在这种情况下,预测可能依赖于基于代理的建模等技术。
大型工厂可能会根据其运营生产计划制定消耗计划。配电网拓扑也可能提前安排,因为维护操作需要提前规划。在所有这些情况下,询问时间表通常比使用机器学习来预测时间表更好。

空间和时间分辨率

由于法律数量较大时,当消费在空间上分布时,预测不确定性会降低或暂时聚合。虽然很难预测单个家庭每小时的消费量,因为人不是机器,但对于几百万人口来说却出奇地容易,而且预测这样一个人口的每月消费量也相对容易。

因此,预测系统通常是分层的,具有通过约束链接在一起的多个预测级别。即区域预报应汇总到全国预报,每小时预报应汇总到每日预报。

让我们举一个引人注目的例子来说明这一点。电力牵引列车的消耗模式令电网运营商担忧,因为它们会移动,典型的列车线路每 10 至 50 公里就会由不同的变电站供电。因此,运营商每 10 分钟左右就会看到从一个变电站切换到另一个变电站的消耗量。它产生了几个问题:

  • 在线路层面上进行预测相对容易,因为火车总是在某个地方消耗,而且火车通常在固定的时间运行。因此,机器学习方法可能会奏效。

  • 预测给定变电站长期消耗的能量也相对容易,因为列车将经过线路的相应部分。

  • 但由于操作员想知道火车在运行时是否会造成超载,因此需要一组一致的预测:

    • 列车一次只能在一个位置撤电。

    • 每个变电站都应该在某个时间点看到消耗峰值,因此需要细粒度的时间分辨率。

因此,解决方案取决于预测的目标:

  • 在日常工作中,将列车消耗分散到所有变电站的平均解决方案是不可接受的,因为可能会错过潜在的过载。将列车消耗分配给所有变电站的最坏情况解决方案可能更容易接受,但由于总体消耗太大,它会预期出现虚假过载。

  • 然而,为了安排为该地区供电的一条线路的维护,只要不多次计算,消耗的确切位置可能不会产生影响。

在设计预测系统时,必须进行权衡,因为完美的系统不太可能存在。如果系统有很大的余量,则预计很少或没有过载,因此预测系统可以是粗略的。然而,如果电网运行接近其极限,则必须仔细设计系统。

执行

一旦数据是通过 SCADA 系统或通过计量系统,必须对其进行历史记录。除了存储原始数据外,还需要进行一些处理:

  • 时间聚合,例如超过五分钟周期:保留平均值或高分位数值。平均值代表该期间消耗的能量,高分位数可用于评估是否发生约束。

  • 分解:仅当衡量提取量后,必须分别估算生产和消费。通常,消耗量是去除分布式发电(风能、光伏发电等)的最佳估计后剩下的部分。机器学习可用于执行这些估计。

  • 空间聚合:由于系统是平衡,可以通过计算本地生产和与邻近区域的交换之间的差异来计算一个区域的消耗。这在历史上非常有用,因为生产很容易监控,因为只有几个非常大的发电机组和与邻国的几条线路。如今,随着分布式发电的普及,它变得更加复杂。

  • 缺失值插补:测量可能会丢失。在 SCADA 系统中,存在用旧值或典型值实时替换缺失值的规则。在计量系统中,归集是一个影响很大的过程,因为它将直接反映在客户的发票上。

然后数据被存储在不同的数据库中。短期关键流程中使用的数据存储在高可用性系统中,其中冗余允许从数据中心的丢失中快速恢复。长期流程(发票、报告、ML 模型训练)中使用的数据存储在普通 IT 数据库中。总体而言,受监控的网格元素数量将在 1,000 到 100,000 之间。这意味着按照今天的标准,它们生成了合理数量的数据。可扩展性也不是这样的问题,因为大型电网在发达国家不再增长。

造型

一旦数据准备工作已经完成,数据科学家通常可以在网格的各个退出点访问数百个生产和消费时间序列。他们必须开发方法在不同的视野中预测其中的一些。他们的重点通常是风能、光伏,有时还关注河流水力发电的生产潜力和需求。虽然风能和光伏主要取决于气象因素,但需求主要由经济活动驱动,但部分也取决于气象(例如加热和冷却)。

根据地平线,建模可能看起来非常不同:

  • 短期:在未来几天内,最后的已知值对于做出预测非常重要。此外,出于同样的原因,还可以进行气象预报。因此,方法将利用这些信息。在这种情况下,确定性预测是有意义的。

  • 中期:几天到几年之间,气象未知,但气候已知。除非发生经济危机,否则对过去一年趋势的统计推断是有意义的。因此,可以绘制场景以获得有关未来消耗的统计指标(平均值、置信区间、分位数等)。

  • 长期:投资决策需要对未来几十年的预测。从这个角度来看,鉴于全球变暖,无论是在社会经济方面还是在气候方面,对当前趋势的统计推断都是不够的。因此,统计方法必须通过自下而上的基于使用的方法和专家制定的关于未来的多样化情景来完成。

ML 和 MLOps 主要涉及短期和中期预测。在这两者中,在这种情况下,中期模型更容易开始:给定几年的数据,目标是根据以下内容预测消费:

  • 日、周、年循环叠加而成的日历。除夏令时外,银行假期和学校假期也有很大影响。

  • 气象变量(温度、风、太阳)。由于建筑物具有非常大的热惯性,因此可能需要至少两天到最多三周的过去温度。

虽然任何类型的机器学习算法都可以使用时,预测曲线的平滑度很重要,因为预测不是单独使用,而是作为每日、每周或每年的场景使用。许多算法不考虑其指标的平滑性,因为它们依赖于数据独立且同分布的假设,在我们的例子中,这是不正确的,因为给定一天的消耗通常与前一天和当天的消耗相关。前一周的一个。

广义加性模型 (GAM) 通常一个好的起点:它们基于样条线,因此保证了平滑度。事实上,消费预测是它们开发的用例之一。结合气候场景,机器学习模型就能够生成年度消费场景。

短期预测更为复杂。最简单的方法是从最近的历史数据中删除中期预测并使用标准时间序列技术,例如作为残差的 ARIMA(自回归积分移动平均)或指数平滑。这允许生成几天的预测。经过多年数据训练的集成短期模型比这种简单方法具有潜在优势。

例如,中期模型是根据已实现的气象数据而不是气象预报进行训练的。结果,它过分重视气象预报,即使它们可能是错误的。受过气象预报训练的短期模型将解决这个问题。然而,尽管长短期记忆 (LSTM) 神经网络等新算法很有前景,但很难找到一种方法能够以一致的方式同时在一天中的任何时间对多个时间范围进行预测。

当。。。的时候分辨率使得随机性太大而无法做出有意义的预测,最好在空间或时间上聚合时间序列,然后使用非 ML 启发式方法来分割聚合的预测:

  • 空间聚合情况下基于过去观察的共享密钥

  • 在时间聚合的情况下基于过去观察的平均轮廓

由于网格在不断演变,很可能会出现新的注入和提取,而没有可用的历史数据,并且消费模式会发生断裂,因此过去的数据不再相关。预测方法必须考虑这些边缘情况。可以使用异常检测方法发现破裂。一旦发现破裂,就可以根据需要使用简化模型,直到获得足够的历史数据。

再一次,神经网络可以成为一种有吸引力的替代方案,它承诺只能为所有消费训练一个模型,而不是使用标准方法为每次消费训练一个模型。事实上,只要有一个模型,就可以预测具有浅历史数据的消费,前提是其模式看起来与现有模式相似。

部署

如今,这些模型很可能由数据科学家制作原型在 R、Python 或 MATLAB 脚本中。该原型能够准备数据,在一个数据集上训练模型,并在另一个数据集上对其进行评分。操作化可以遵循以下几种路径:

  • 原型被完全重写。这是昂贵且不灵活的,但如果需要嵌入到运营技术 (OT) 系统中,则可能是必要的。

  • 仅重写数据准备和评分,从而允许按照不同的时间表进行训练。如果培训每年进行一次左右是有道理的,因为定期进行模型审查以确保其运作良好以及维护它的技能到位是一种很好的做法。

  • 数据科学和机器学习平台可用于操作原型。这些平台非常灵活,允许将原型转移到保证安全性和可扩展性的生产环境。大多数消耗预测模型将以批处理模式定期运行。对于更具体的用例,这些平台能够将训练好的模型导出为 JAR 文件、SQL、PMML、PFA 和 ONNX,以便它们可以灵活地集成到任何类型的应用程序中。

监控

本节主要讨论短期预测。事实上,中长期预测会系统地受到漂移的影响,因为过去看起来不像未来,所以它们在用于预测之前几乎要再次系统地训练。对于短期预测,除了 IT 监控以在未按时生成预测时发出警报以及对可能导致错过最后期限的事件发出警告之外,还应对模型本身进行监控。

第一种监测是漂移监测。对于用电,漂移监控与模型一起部署是至关重要的。异常检测和破裂检测使团队能够确保可以使用经过训练的模型。如果不是,则应使用基于浅层历史数据或多种消费预测的规范分解的回退模型。第一层将检测在线的剧烈漂移。

尽管数据科学家会尝试设计适应消费水平的模型(如 ARIMA),但它可以对于检测某些消耗水平高于或低于训练期间的水平很有用。这可能发生得很慢,因此在线上没有检测到。预测的离线分析(例如,如果每天计算第二天的预测,则每月一次)提供了检测这些缓慢漂移的可能性。在这些情况下,如果没有额外的基本事实可用,那么转向这些消费的后备模型是有意义的。

最后,在操作之后,可以通过各种方式评估预测的性能平均绝对百分比误差 (MAPE) 等指标。如果在很长一段时间内(例如一个月)检测到性能下降,则可以选择在有新数据可用时重新训练相应的模型,并且重新训练的模型可能会提高性能。

这需要将设计和生产环境与 CI/CD 流程紧密集成。如果可以每年手动处理一次新模型的部署,那么每月一次通常成本太高。借助先进的数据科学和机器学习平台,还可以使用新模型进行几天的影子评分,然后再将其用于预测。

总结

在本章中,我们了解了如何让数据说话来辅助传输电网的运行。各种机器学习和非机器学习技术可用于在从几分钟到几十年的时间尺度上提供多达数千个消耗的预测。

借助 MLOps,多个行业的设计、部署和监控流程已实现标准化,并且开发了数据科学和机器学习平台来支持此流程。消费预测系统的设计者可以利用这些标准流程和平台,从成本、质量或价值实现时间的角度提高这些系统的效率。

退一步看,很明显不同的行业有各种各样的机器学习用例,所有这些用例在定义问题、构建模型、推动生产方面都有自己的复杂性——我们在本节中介绍的所有内容。但无论行业或用例如何,MLOps 流程始终是允许数据团队(以及更广泛的整个组织)扩展其机器学习工作的主线。

### 数据中台与AI中台的概念 数据中台是一种专注于企业内部数据资源整合、治理和共享的技术平台[^2]。其主要目标是通过统一的数据管理和分析能力,提升企业的数据利用率,从而更好地服务于业务需求。而AI中台则是基于人工智能技术构建的一种智能化服务平台,旨在为企业提供算法模型训练、部署以及优化的能力[^1]。 两者的核心差异在于功能定位和技术侧重点的不同: #### 功能定位 - **数据中台**:侧重于数据的采集、清洗、存储、加工和分发,强调的是数据资产化的过程。它的作用是将散落在各处的企业数据进行标准化处理并形成可复用的数据资源[^3]。 - **AI中台**:则更加关注如何利用这些经过整理后的高质量数据来开发具体的智能应用和服务。这包括但不限于自然语言处理(NLP)、计算机视觉(CV)等领域内的高级计算任务实现自动化决策支持系统或者预测性维护方案等复杂场景下的实际操作指导[^1]。 #### 技术侧重点 - 对于前者来说, 它涉及到ETL流程(Extract Transform Load), 实时流式计算框架Kafka/Spark Streaming以及其他相关的大规模分布式文件管理系统HDFS等等; 同时还需要考虑元数据管理机制以确保整个生命周期内所有类型的信息都能得到有效追踪记录. - 而后者除了依赖上述提到的基础架构外还会引入更多专门针对机器学习项目周期特点所设计出来的工具链路比如TensorFlow Serving用于在线推理服务,Jupyter Notebook作为实验探索环境,MLOps实践促进持续交付效率等方面的内容. ### 应用场景对比 | 场景描述 | 数据中台适用范围 | AI 中台适用范围 | |------------------------------|----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------| | 用户行为分析 | 收集来自不同渠道的客户交互日志并通过维度建模生成可供BI工具展示的趋势图表 | 基于历史点击率建立推荐引擎向潜在消费者推送个性化商品链接 | | 销售业绩评估 | 整合财务报表与库存清单得出区域市场表现排名 | 运用强化学习方法论寻找最优价格策略提高整体利润水平 | | 设备状态监控 | 将传感器读数存入时间序列数据库便于后续查询 | 结合异常检测算法及时预警即将发生的硬件故障 | ```python import pandas as pd from sklearn.model_selection import train_test_split from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 示例代码片段展示了从简单的特征工程到基本神经网络结构搭建过程的一部分逻辑关系说明而非完整程序列表形式呈现出来供参考理解即可不需运行验证正确与否 def preprocess_data(df): X = df.drop('target', axis=1).values y = df['target'].values return train_test_split(X, y, test_size=0.2) X_train, X_val, y_train, y_val = preprocess_data(pd.read_csv("example.csv")) model = Sequential([ Dense(units=64, activation='relu', input_shape=(X_train.shape[1],)), Dense(units=1, activation='sigmoid') ]) model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"]) history = model.fit(X_train, y_train, validation_data=(X_val,y_val)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sonhhxg_柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值