电力系统朝大电网、超高压、大机组、远距离输电的方向发展,但是电力建设落后经济发展水平的局面还存在。电力系统运行在接近电网极限输送能力状态的几率大大增加,从而较大程度上存在着发生电压稳定事故的威胁。传统的故障为电力系统由于简单故障引起失去功角稳定或电压稳定从而直接导致大面积停电事故;回顾最近几年国内外出现的恶性系统事故,原因各异,连锁故障导致大面积停电的现象多次出现,如何定性地将事故分类并提出事故预防措施及相应的事故处理策略具有重要的研究意义。 成功举办2010年上海世博会,安全保障至关重要,而电力安全是整个世博园区安全保障体系中最重要的基础环节。如果世博会期间发生停电事故,将会造成整个世博园区混乱,对上海乃至中国的国际形象将产生极大的负面影响,其后果不堪设想。 为了提高供电的可靠性,当配电网出现故障时,必须快速确定故障区段。本文总结归类电网事故起因,提出事故区域划分方法,分析了电力系统故障定位的两种典型算法,比较分析通用矩阵算法和区域辨识算法应用在故障定位时的优缺点,并提出改进算法,分别采用通用矩阵算法和改进算法对某地区实际电网进行模型分析和验证。后续工作从遗传算法的角度研究电网故障定位的问题,证明了其有效性。 电网预防灾变性事故处理方法是研究系统的一个重要难题,本文从多角度研究事故处理方法,并对其优缺点进行了评价,以配电网为例,介绍其典型的故障恢复控制策略;以最小生成本算法为工具,对实际电网的事故恢复做了详细的计算和分析,有助于实际电网的应用推广。参考事故处理的规程,分别详细归纳了基于三道防线和基于调度操作的事故处理方法。 最后,从配电网络的特点和配电网重构的意义出发,提出了网络重构的重要作用,探讨了配电网优化重构的模型,简述了研究配电网重构的几种算法,相应的重构模型可以结合相应的算法来进行计算。
IT运维平台算法背后的两大“神助攻”
柴油车上的OBD是“车载自动诊断系统”的意思。以下是OBD的作用:1、OBD会根据特定的算法判断出具体的故障。该系统的主要作用就是在行驶的时候对发动机进行监控,一旦尾气排放超标故障灯就会被点亮,并且储存故障代码。2、只要尾气排放超过标准,故障灯就会亮起,提醒车主进行维修。货车需要每年上线一次,作OBD尾气检测,不及格则不能拿到合格标。3、系统自诊断后得到的有用信息可以为车辆的维修和保养提供帮助,维修人员可以利用汽车原厂专用仪器读取故障码,从而可以对故障进行快速定位,以便于对车辆的修理,减少人工诊断的时间。

便携式直流接地故障定位装置原理与功能?
智能运维(AIops)是目前 IT 运维领域最火热的词汇,全称是 Algorithmic IT operations platforms,正规翻译是『基于算法的 IT 运维平台』,直观可见算法是智能运维的核心要素之一。
本文主要谈算法对运维的作用,涉及异常检测和归因分析两方面,围绕运维系统Kale 中 skyline、Oculus 模块、Opprentice 系统、Granger causality(格兰杰因果关系)、FastDTW 算法等细节展开。
一、异常检测
异常检测,是运维工程师们最先可能接触的地方了。毕竟监控告警是所有运维工作的基础。设定告警阈值是一项耗时耗力的工作,需要运维人员在充分了解业务的前提下才能进行,还得考虑业务是不是平稳发展状态,否则一两周改动一次,运维工程师绝对是要发疯的。
如果能将这部分工作交给算法来解决,无疑是推翻一座大山。这件事情,机器学习当然可以做到。但是不用机器学习,基于数学统计的算法,同样可以,而且效果也不差。
异常检测之Skyline异常检测模块
2013年,Etsy 开源了一个内部的运维系统,叫 Kale。其中的 skyline 部分,就是做异常检测的模块, 它提供了 9 种异常检测算法 :
first_hour_average、
simple_stddev_from_moving_average、
stddev_from_moving_average、
mean_subtraction_cumulation、
least_squares
histogram_bins、
grubbs、
median_absolute_deviation、
Kolmogorov-Smirnov_test
简要的概括来说,这9种算法分为两类:
从正态分布入手:假设数据服从高斯分布,可以通过标准差来确定绝大多数数据点的区间;或者根据分布的直方图,落在过少直方里的数据就是异常;或者根据箱体图分析来避免造成长尾影响。
从样本校验入手:采用 Kolmogorov-Smirnov、Shapiro-Wilk、Lilliefor 等非参数校验方法。
这些都是统计学上的算法,而不是机器学习的事情。当然,Etsy 这个 Skyline 项目并不是异常检测的全部。
首先,这里只考虑了一个指标自己的状态,从纵向的时序角度做异常检测。而没有考虑业务的复杂性导致的横向异常。其次,提供了这么多种算法,到底一个指标在哪种算法下判断的更准?这又是一个很难判断的事情。
问题一: 实现上的抉择。同样的样本校验算法,可以用来对比一个指标的当前和历史情况,也可以用来对比多个指标里哪个跟别的指标不一样。
问题二: Skyline 其实自己采用了一种特别朴实和简单的办法来做补充——9 个算法每人一票,投票达到阈值就算数。至于这个阈值,一般算 6 或者 7 这样,即占到大多数即可。
异常检测之Opprentice系统
作为对比,面对相同的问题,百度 SRE 的智能运维是怎么处理的。在去年的 APMcon 上,百度工程师描述 Opprentice 系统的主要思想时,用了这么一张图:
Opprentice 系统的主体流程为:
KPI 数据经过各式 detector 计算得到每个点的诸多 feature;
通过专门的交互工具,由运维人员标记 KPI 数据的异常时间段;
采用随机森林算法做异常分类。
其中 detector 有14种异常检测算法,如下图:
我们可以看到其中很多算法在 Etsy 的 Skyline 里同样存在。不过,为避免给这么多算法调配参数,直接采用的办法是:每个参数的取值范围均等分一下——反正随机森林不要求什么特征工程。如,用 holt-winters 做为一类 detector。holt-winters 有α,β,γ 三个参数,取值范围都是 [0, 1]。那么它就采样为 (02, 04, 06, 08),也就是 4 3 = 64 个可能。那么每个点就此得到 64 个特征值。
异常检测之
Opprentice 系统与 Skyline 很相似
Opprentice 系统整个流程跟 skyline 的思想相似之处在于先通过不同的统计学上的算法来尝试发现异常,然后通过一个多数同意的方式/算法来确定最终的判定结果。
只不过这里百度采用了一个随机森林的算法,来更靠谱一点的投票。而 Etsy 呢?在 skyline 开源几个月后,他们内部又实现了新版本,叫 Thyme。利用了小波分解、傅里叶变换、Mann-whitney 检测等等技术。
另外,社区在 Skyline 上同样做了后续更新,Earthgecko 利用 Tsfresh 模块来提取时序数据的特征值,以此做多时序之间的异常检测。我们可以看到,后续发展的两种 Skyline,依然都没有使用机器学习,而是进一步深度挖掘和调整时序相关的统计学算法。
开源社区除了 Etsy,还有诸多巨头也开源过各式其他的时序异常检测算法库,大多是在 2015 年开始的。列举如下:
Yahoo! 在去年开源的 egads 库。(Java)
Twitter 在去年开源的 anomalydetection 库。(R)
Netflix 在 2015 年开源的 Surus 库。(Pig,基于PCA)

其中 Twitter 这个库还被 port 到 Python 社区,有兴趣的读者也可以试试。
二、归因分析
归因分析是运维工作的下一大块内容,就是收到报警以后的排障。对于简单故障,应对方案一般也很简单,采用 service restart engineering~ 但是在大规模 IT 环境下,通常一个故障会触发或导致大面积的告警发生。如果能从大面积的告警中,找到最紧迫最要紧的那个,肯定能大大的缩短故障恢复时间(MTTR)。
这个故障定位的需求,通常被归类为根因分析(RCA,Root Cause Analysis)。当然,RCA 可不止故障定位一个用途,性能优化的过程通常也是 RCA 的一种。
归因分析之 Oculus 模块
和异常检测一样,做 RCA 同样是可以统计学和机器学习方法并行的~我们还是从统计学的角度开始。依然是 Etsy 的 kale 系统,其中除了做异常检测的 skyline 以外,还有另外一部分,叫 Oculus。而且在 Etsy 重构 kale 20 的时候,Oculus 被认为是10 最成功的部分,完整保留下来了。
Oculus 的思路,用一句话描述,就是:如果一个监控指标的时间趋势图走势,跟另一个监控指标的趋势图长得比较像,那它们很可能是被同一个根因影响的。那么,如果整体 IT 环境内的时间同步是可靠的,且监控指标的颗粒度比较细的情况下,我们就可能近似的推断:跟一个告警比较像的最早的那个监控指标,应该就是需要重点关注的根因了。
Oculus 截图如下:
这部分使用的 计算方式有两种:
欧式距离,就是不同时序数据,在相同时刻做对比。假如0分0秒,a和b相差1000,0分5秒,也相差1000,依次类推。
FastDTW,则加了一层偏移量,0分0秒的a和0分5秒的b相差1000,0分5秒的a和0分10秒的b也相差1000,依次类推。当然,算法在这个简单假设背后,是有很多降低计算复杂度的具体实现的,这里就不谈了。
唯一可惜的是 Etsy 当初实现 Oculus 是基于 ES 的 020 版本,后来该版本一直没有更新。现在停留在这么老版本的 ES 用户应该很少了。除了 Oculus,还有很多其他产品,采用不同的统计学原理,达到类似的效果。
归因分析之 Granger causality
Granger causality(格兰杰因果关系)是一种算法,简单来说它通过比较“已知上一时刻所有信息,这一时刻 X 的概率分布情况”和“已知上一时刻除 Y 以外的所有信息,这一时刻 X 的概率分布情况”,来判断 Y 对 X 是否存在因果关系。
可能有了解过一点机器学习信息的读者会很诧异了:不是说机器只能反应相关性,不能反应因果性的么?需要说明一下,这里的因果,是统计学意义上的因果,不是我们通常哲学意义上的因果。
统计学上的因果定义是:『在宇宙中所有其他事件的发生情况固定不变的条件下,如果一个事件 A 的发生与不发生对于另一个事件 B 的发生的概率有影响,并且这两个事件在时间上有先后顺序(A 前 B 后),那么我们便可以说 A 是 B 的原因。』
归因分析之皮尔逊系数
另一个常用的算法是皮尔逊系数。下图是某 ITOM 软件的实现:
我们可以看到,其主要元素和采用 FastDTW 算法的 Oculus 类似:correlation 表示相关性的评分、lead/lag 表示不同时序数据在时间轴上的偏移量。
皮尔逊系数在 R 语言里可以特别简单的做到。比如我们拿到同时间段的访问量和服务器 CPU 使用率:
然后运行如下命令:
acc_count<-scale(acc$acc_count,center=T,scale=T)
cpu<-scale(acc$cpuload5,center=T,scale=T)
cortest(acc_count,cpu)
可以看到如下结果输出:
对应的可视化图形如下:
这就说明网站数据访问量和 CPU 存在弱相关,同时从散点图上看两者为非线性关系。因此访问量上升不一定会真正影响 CPU 消耗。
其实 R 语言不太适合嵌入到现有的运维系统中。那这时候使用 Elasticsearch 的工程师就有福了。ES 在大家常用的 metric aggregation、bucket aggregation、pipeline aggregation 之外,还提供了一种 matrix aggregation,目前唯一支持的 matrix_stats 就是采用了皮尔逊系数的计算,接口文档见:
https://wwwelasticco/guide/en/elasticsearch/reference/current/search-aggregations-matrix-stats-aggregationhtml
唯一需要注意的就是,要求计算相关性的两个字段必须同时存在于一个 event 里。所以没法直接从现成的 ES 数据中请求不同的 date_histogram,然后计算,需要自己手动整理一遍,转储回 ES 再计算。
饶琛琳,目前就职日志易,有十年运维工作经验。在微博担任系统架构师期间,负责带领11人的SRE团队。著有《网站运维技术与实践》、《ELKstack权威指南》,合译有《Puppet 3 Cookbook》、《Learning Puppet 4》。在众多技术大会上分享过自动化运维与数据分析相关主题。
诊断电气控制故障的标题有哪些
PDF3000型直流接地故障测试仪是新一代产品。它能够适用于任何电压等级的直流系统,配备了高精度的检测钳表,通过对多种信号的高效处理大大提高了检测范围与抗干扰能力;采用了优秀的算法和先进的模糊控制计算理论,将被检测绝缘支路的优势程度以数值的形式表示出来,充分体现了人工智能的优越性;对于接地点位置的断定,它们更是拥有准确的判断力,每次检测都能够指出接地点位置及方向。
PDF3000型直流接地故障测试仪以系统安全为首要前提,按行业标准的最高要求,以可靠的低频信号方式进行检测,并在现场进行了大量的实际应用,对系统无任何影响。
发电厂、变电站的直流系统为控制、保护、信号和自动装置提供电源,直流系统的安全连续运行对保证发供电有着极大的重要性。由于直流系统为浮空制的不接地系统,如果发生两点接地,就可能引起上述装置误动、拒动,从而造成重大事故。因此当发生一点接地时,就应在保证直流系统正常供电的同时准确迅速地探测出接地点,排除接地故障,从而避免两点接地可能带来的危害。
PDF3000型直流接地故障测试仪特性:
1、使用简单,本直流接地故障测试仪只需打开电源开关就可直接使用,无需别的按键操作
2、安全可靠,本仪器无需停浮充电机及其它一切电源,对直流系统没有任何影响
3、适用电压等级多,直流系统220V、110V、48V、24V都可以使用
4、适用范围广,任何类型电厂、变电站、煤矿、化工厂等供电部门都可使用
5、携带方便,信号接收器自带电池,无需外接电源,可以随身携带到任何地方查找接地点
6、直流系统不断电查找接地点,不影响系统正常工作
7、抗干扰能力强,克服了系统分布电容的影响
以下是一些可能用于诊断电气控制故障的标题:
1 电气控制系统的故障诊断方法和技术综述
2 电力控制系统的常见故障模式和故障排除方法
3 电气控制系统的失效分析和故障定位
4 故障树分析在电气控制系统故障诊断中的应用
5 电气控制系统故障的信号处理和智能诊断技术

6 基于机器学习的电气控制系统故障诊断算法研究
7 电气控制系统的可靠性评估和维修管理
8 基于远程监测技术的电气控制系统在线故障诊断和预警
9 电气控制系统的物联网化和智能化维修方法
10 基于虚拟仿真的电气控制系统故障模拟和诊断技术。


