时序电机数据分类的最佳算法


9

我正在从事机器控制项目。我们可以在运行期间测量电动机的电流。下面是来自成功执行操作的两个电机的样本数据。红色迹线显示来自一个电动机的电流,蓝色迹线显示来自另一电动机的电流。我想尝试提出一种算法来识别机器行为问题。问题可能是电动机电流过高,电动机电流接近于零,操作结束时电流增加,时间序列比正常时间短,一般而言,以下情况都不像典型操作。谁能建议一个好的算法来实现这一目标?我唯一熟悉的是神经网络。我已将实际数据的Excel文件放入电机电流下

电机电流-良好运行 电机电流-操作结束时卡住


可能更适合统计SE网站,因为这涉及时间序列的异常检测和统计建模。生存分析可能会起作用,尽管尚不清楚。
Iterator

您可以张贴“问题”图片吗?一种想法是计算“理想操作”(如红线)和“实际操作”(蓝线)之间的距离。如果任何一点都离“理想操作”太远,则将其标记为问题。
Zach

1
+1这是一个关键思想:使用特定应用程序的知识来表征行为。它比任何纯粹的统计技术都可能具有更多的针对性和功能。然后,统计信息可以提供数据与“基准”或理想序列进行比较的方法。
ub

使用理论或理想的想法可以很容易地并入传递函数模型中,作为预测变量/原因/右侧支持序列,然后得出我在答案中描述的变化点检测信息。
IrishStat

@爱尔兰我认为这不是那么简单。电流消耗具有典型的形状:最初的快速尖峰,较慢的(指数?)下降,(希望的)稳定电流的较长区域,最后是最终的下降(假定为典型形状) 。细节会有所不同,但是区分正常变化与“不良”变化是关键。令人担忧的是初始峰值的相对高度和稳定所需的时间。请记住,目标是确定问题,其中一些问题可能比标准分析所显示的要微妙。
whuber

Answers:


4

我的方法是为数据形成一个ARIMA模型,然后采用各种“变化点检测方案”以提供有关意外“事物”的早期警告。这些计划将包括

  1. 检测脉冲的存在/开始/电平移动/本地时间趋势,即误差平均值随时间的变化
  2. 检测参数随时间变化的存在/开始
  3. 检测残差方差随时间变化的存在/开始

如果您希望实际发表您的系列文章之一,我们实际上可以向您展示这种分析,它可以“推论”事物正在发生变化或已经发生重大变化的想法。



3

隐马尔可夫模型

对时间序列数据建模的最佳方法之一是隐马尔可夫模型(HMM)。您可以为您的已知非问题状态创建单个模型,也可以为每个已知问题状态创建单独的模型,或者,如果您有足够的数据,则可以为所有已知问题状态创建一个复合模型。一个很好的开源库是Matlab的隐马尔可夫模型工具箱。

http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html

卡尔曼滤波

涉及更多的另一种方法是卡尔曼滤波器。如果您的数据有很多杂音,则此方法特别有用。一个很好的开源库是Matlab的Kalman过滤器工具箱。

http://www.cs.ubc.ca/~murphyk/Software/Kalman/kalman.html

贝叶斯模型

这两种方法都被认为是贝叶斯模型。一个很好的开源库是用于Matlab的Bayes Net Toolbox。

http://code.google.com/p/bnt

希望这对您有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.