工况是设备和系统运行的基本面,不同工况下系统运行规律、变量分布差异很大,因此,工况划分是很多工业分析课题的前置条件。对于工业设备本体,工况类型通常有明确的机理与规则,例如发电机组的起停、升降负荷等,这时候可以根据设计机理与规则进行划分。但实际运行是动态变化的,对于一个具体课题来说不够详细,因为数据分析需要一段时间上的工况(而不是一个时间点上的工况)。对这种没有明确机理或机理规则不够细的情形,可以采用数据驱动的方式去分割,通常有如下三类策略。
1) 一次性分割策略:例如在风电机组中,根据风速、有功功率、叶轮转速、桨距角等变量,采用Autoplait算法进行工况分割,结果示例如图1所示,顶部子图是多个原始的时序曲线,底部10个子框代表算法计算出的10类工况,横坐标表示该工况的起止时间。
2)分组分割的策略:首先根据业务语义,形成若干变量组(一个组里可以包含1个或少数几个指标,一个指标也可以出现在多个组)。对于每个组,做时序分割,然后对这些分割段进行聚类,最后对多个组的类别进行组合。整体过程示意图如图2所示。在单变量时序分割中,可以采用PELT算法按照均值或方差变化分成若干段,也可以采用SAX、PAA、PLA等时序再表征算法。
3)聚类合并策略:对每个时刻点的向量X(t)进行聚类,标记t时刻对应的类别是c(t),根据类别时序进行自然分割。
需要注意,数据挖掘结果和业务语义可能不一致,数据驱动的工况分割算法通常用来做探索性建模,在部署版本的模型中,工况划分最好采用规则模型。时序分割算法通常基于统计量(例如PELT算法根据均值、方差的变化进行切分)、局部结构(例如PLA用分段线性模型去逼近原序列)或局部动力学模型(例如AR模型)的稳定性进行显性分割,或者建立全局的生成式概率模型(例如Autoplait用两层HMM模型)进行隐形分割(体现在隐含的状态类别变量上),这些假设与领域问题的契合度需要数据分析师的评估研判,因此,在数据分析项目中,常采用通用算法做探索性分割,对于分割结果做业务语义上的探讨,并进行一定的修正。部署版本的模型采用规则模型,要么采用规则算法实现完全分割,要么采用规则算法做后修正。