模式识别挑战

时间:2018-05-24 01:15:11

标签: python design-patterns scikit-learn anaconda

我会提前说明,我不是数据科学家,但有足够的资金去学习我需要知道的东西。但是,我需要建议在哪里寻找以及适当的算法来研究。

问题如下。我对传感器的输出进行了10年的1小时观察。为了论证,让我们使用气象站的输出,更具体地说,使用以毫伏为单位的浮子形式的太阳能电池板。

您可能会争辩说,如果将来自此时间序列(24点)的24小时数据子集作为与历史时间序列进行比较的矩阵,则可以确定"晴天"过去的日子。如果我们将最新的24小时数据作为比较,我们或许可以确定相似的日期"到今天,从而从匹配的位置获取下一个后续矩阵,"预测"从历史行动来看明天会发生什么。

这当然是一个粗略的比喻,但说明了我的问题。

我希望从时间序列中获取任意24小时的时间段(让我们称之为矩阵a)并从时间序列(矩阵的000s)中识别那些相似的24小时时段。

我已经以各种类型的回归形式围绕这个主题进行了很多回顾,并且在一个阶段确定数据压缩算法将是最有效的,如果你可以从该过程中获取后续词典,但是,我在这种情况下意识到匹配是"确切的"我希望"类似"。

我已经确定了我认为是正确的,"物流回归中的L1惩罚和稀疏性"位于here

我(如果我理解的话)采取比较矩阵,将其与其他人进行比较并得到"相似度" (在这种情况下称为C)。从这里开始,我可以继续我的实验。

如果有些善良的数据科学家帮我一个忙,1。确认我的方向有效,如果没有2.请指出我可以找到解决问题的过程,我会永远感激。

非常感谢提前

ApteryxNZ

2 个答案:

答案 0 :(得分:0)

请注意,这实际上取决于您如何定义“类似”。

一种简单的方法是“最近邻”方法:将您的数据点视为24维向量,然后找到距离目标点最短的欧几里德(或曼哈顿或......)距离的数据点。这些是最相似的日子。 (k-d树可以显着加快这个过程。)

但是,24个维度对于您的目的可能太多了。主成分分析(PCA)可以将它们从24维点减少到更低维数,同时尽可能地保留变化。然后找到最近的点会快得多。

请注意,这两种方法只有在比较逐个值时才会起作用,也就是说,如果你不认为“相同但一小时后”特别相似。

答案 1 :(得分:0)

对于时间序列预测(预测),您可以搜索LSTM神经网络,SVM甚至MLP。我已经看到时间序列预测有更简单的分类器,例如AODE。

要过滤您输入到时间序列的数据(如果适用),您可以搜索Granger因果关系,粒子Sworm优化甚至遗传算法

为了在时间序列中找到类似的模式,我认为您最好的选择是使用用于语音识别的动态时间扭曲(DTW)

您可以在某些期刊中搜索相关工作,例如:

  • 模式识别快报
  • 模式识别
  • 神经计算
  • Applied Soft Computing
  • 信息科学
  • 机器学习
  • 神经网络
  • IEEE神经网络和学习系统交易