我正在做一个机器控制项目。我们可以在运行过程中测量电机的电流。成功执行操作的两个电机的示例数据如下。红色迹线显示来自一个电机的电流,蓝色迹线显示来自另一个电机的电流。我想尝试提出一种算法来识别机器行为问题。问题可能是电机电流过高,电机电流接近于零,运行结束时电流增加,时间序列比正常时间短,一般情况下看起来不像下面的典型操作。任何人都可以提出一个好的算法来实现这一点吗?我唯一熟悉的是神经网络。我在电机电流处放置了一个实际数据的 Excel 文件
我正在做一个机器控制项目。我们可以在运行过程中测量电机的电流。成功执行操作的两个电机的示例数据如下。红色迹线显示来自一个电机的电流,蓝色迹线显示来自另一个电机的电流。我想尝试提出一种算法来识别机器行为问题。问题可能是电机电流过高,电机电流接近于零,运行结束时电流增加,时间序列比正常时间短,一般情况下看起来不像下面的典型操作。任何人都可以提出一个好的算法来实现这一点吗?我唯一熟悉的是神经网络。我在电机电流处放置了一个实际数据的 Excel 文件
我的方法是为数据形成一个 ARIMA 模型,然后采用各种“变化点检测方案”,以便对意外的“事物”提供早期预警。这些计划将包括
如果您希望实际发布您的系列之一,我们实际上可以向您展示这种分析,它可以“推出”事情正在发生变化或已经发生重大变化的想法。
我建议您使用这个处理时间序列分类的链接:http ://www.r-bloggers.com/time-series-analysis-and-mining-with-r/ 。
隐马尔可夫模型
对时间序列数据建模的最佳方法之一是隐马尔可夫模型 (HMM)。您可以为已知的非问题状态制作单个模型,为每个已知问题状态制作单独的模型,或者,如果您有足够的数据,则可以制作所有已知问题状态的单个复合模型。一个很好的开源库是 Matlab 的 Hidden Markov Model Toolbox。
http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html
卡尔曼滤波器
另一种涉及更多的方法是卡尔曼滤波器。如果您的数据有很多噪音,这种方法特别有用。一个好的开源库是 Matlab 的 Kalman Filter Toolbox。
http://www.cs.ubc.ca/~murphyk/Software/Kalman/kalman.html
贝叶斯模型
这两种方法都被认为是贝叶斯模型。一个好的开源库是用于 Matlab 的 Bayes Net Toolbox。
我希望这对你有用。