使用Apache Spark进行预测性数据分析--简介篇


本文是Boutros El-Gamil的使用Apache Spark进行预测性数据分析系列文章的开篇http://www.data-automaton.com/2019/01/03/predictive-data-analytics-with-apache-spark-part-1-introduction/

1. Apache Spark

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

2. 动机

本教程背后的基本动机是以简单的方式介绍Apache Spark,尤其是对于熟悉R和Python等数据处理语言的数据科学家。本教程旨在使读者的体验从Python和R平稳过渡到Apache Spark。为了使这种转换更加容易,我在本教程的大部分内容中使用了Spark Dataframes作为基本数据结构。使用Spark数据框使读者可以快速发现Spark和Python / R中的数据框之间的异同。

我正在尝试通过本教程介绍Spark代码块,这些代码块通常是通用的。这些代码块无需改动即可重复使用,以满足不同的数据分析应用程序。我希望您发现该材料对于Spark编程的强大启动有用。

3. 用例

由于多种原因,我选择预测性维护作为本教程的用例。首先,我认为该教程对读者来说是一个很好的机会-在学习Apache Spark的同时,学习了诸如预测性维护之类的通用IoT(物联网)用例。其次,预测性维护用例使我们能够应对Apache Spark中的各种数据分析难题(例如特征工程,降维,回归分析,二维和多维分类)。这使本教程中包含的代码块对大多数的读者有用。最后,我正在尝试通过本教程来接触IoT和IIoT (工业IoT)领域的专家,并了解有关这些领域当前挑战的更多信息。

4. 数据概览

本教程中使用的数据集是涡轮风扇降级模拟数据集。它是一个开源数据,可以从此链接(https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/)下载。该数据集代表由相同型号的100台涡扇发动机产生的传感器和运行读数。在训练子集中,每个涡轮风扇发动机均以良好的功能启动,并以故障结束。在训练子集中的每个引擎的生命周期中,性能都会随着时间的推移而下降,直到最终出现故障。

4.1 预测性分析任务

在本教程中,我们处理三个预测分析任务:

  1. 预测引擎的剩余使用寿命(RUL):引擎失效前还剩下多少个运行周期?

  2. 预测故障前的警报时区和正常时区:给定新的传感器读数,预测发动机是处于警报区中(即故障前1到????1个工作周期)还是处于正常区中(故障前大于????1个工作周期) ?

  3. 预测故障前的警报,警告和正常时区:给定新的传感器读数,预测发动机是否处于警报区(即故障前1到????1个工作循环),警告区(即????1到????2运转)。失效前的周期)或在正常区域(失效前大于????2个操作周期)?

    下图说明了发动机的不同时区。

使用Apache Spark进行预测性数据分析--简介篇_第1张图片

重要的提示

本教程的目标完全是指导性的。这意味着本教程中包含的结果不是针对给定任务的最佳解决方案。我们鼓励读者以本教程中介绍的基本解决方案为基础,并以自己的方式改进结果。

P.S.

预测性维护(PdM)技术用于确定在役设备状况,以预测何时需要做维护。这比日常或定期进行的预防性维护能节约成本,因为只在确有必要时才做维护。

预测性维护的实现通常包含下述组成部分:

  • 数据收集与预处理

  • 早期故障检测

  • 故障检测

  • 失败预测

  • 维护计划

  • 资源优化

预测性维护有助于改善生产率、达成即时化生产。

维基百科

End

往期精彩:

本号精华合集(二)

精通 SQL 编程,你却只用来拉数据

偏见的背后,是你想象不到的无知

使用Apache Spark进行预测性数据分析--简介篇_第2张图片

    你可能感兴趣的:(使用Apache Spark进行预测性数据分析--简介篇)