M********0 发帖数: 1230 | 1 遇到这么一个问题 简单归纳之下大概是这样的:
每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
anomaly
维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
计算 怎么实现优化
这个系统怎么设计?有现成的吗? |
n******g 发帖数: 2201 | 2 Kalman filter 外行建议?
[在 Marcus2010 (马库斯) 的大作中提到:]
:遇到这么一个问题 简单归纳之下大概是这样的:
:每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做
:similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为
:anomaly
:维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离
:计算 怎么实现优化
:这个系统怎么设计?有现成的吗? |
b***i 发帖数: 3043 | 3 每一个信号是多少数据?要算点积吗?
【在 M********0 的大作中提到】 : 遇到这么一个问题 简单归纳之下大概是这样的: : 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做 : similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为 : anomaly : 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离 : 计算 怎么实现优化 : 这个系统怎么设计?有现成的吗?
|
w***g 发帖数: 5958 | 4 应该没现成的. 如果你的signal维度不是那么大, C++暴力算应该没啥压力.
因为你是要求farthest neighbor, 也没啥索引适合你用的.
可以用circular buffer来实现queue.
不够快再回帖, 我还有一些办法, 都要牺牲代码可读性.
你这个计算量不大, 估计没必要.
我倒觉得问题在与一个signal和2w个怎么定义差异. 既然你是detect anomaly,
显然之前的2w个里也会有anomaly. 你要是单取最大的distance, 很可能就是和
之前的anomaly比, 而不是和typical case比.
【在 M********0 的大作中提到】 : 遇到这么一个问题 简单归纳之下大概是这样的: : 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做 : similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为 : anomaly : 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离 : 计算 怎么实现优化 : 这个系统怎么设计?有现成的吗?
|
M********0 发帖数: 1230 | 5 raw大概不到100个 但有不少noise 最后大概40-50 optimal feature 不需要算点积
【在 b***i 的大作中提到】 : 每一个信号是多少数据?要算点积吗?
|
M********0 发帖数: 1230 | 6 谢大牛回复!
数据维度不大 最终可能在40-50左右 其中1/3可能是discrete value (a few binary)
我们的anomaly平均大概每天1%-2% 每小时可能spike时也就5% 所以多数signal是
normal的 在这种假设下 其实多数就是计算对比距离 continuous value可以考虑用高
斯分布
问题背景貌似比较简单 但是不确定具体实现要怎么做 不清楚目前的ML package里有
没有可用的算法 这算是一个density based local outlier detection问题
【在 w***g 的大作中提到】 : 应该没现成的. 如果你的signal维度不是那么大, C++暴力算应该没啥压力. : 因为你是要求farthest neighbor, 也没啥索引适合你用的. : 可以用circular buffer来实现queue. : 不够快再回帖, 我还有一些办法, 都要牺牲代码可读性. : 你这个计算量不大, 估计没必要. : 我倒觉得问题在与一个signal和2w个怎么定义差异. 既然你是detect anomaly, : 显然之前的2w个里也会有anomaly. 你要是单取最大的distance, 很可能就是和 : 之前的anomaly比, 而不是和typical case比.
|
g****t 发帖数: 31659 | 7 算coorelation coefficient是第一个要试的东西。
x(k),y(k-7200),python写一段recursive算C(k)
C是until now的关联系数。
you can use [email protected] to improve performance
【在 M********0 的大作中提到】 : 遇到这么一个问题 简单归纳之下大概是这样的: : 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做 : similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为 : anomaly : 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离 : 计算 怎么实现优化 : 这个系统怎么设计?有现成的吗?
|
g****t 发帖数: 31659 | 8 如果是电压电流的信号V(t),I(t)。
最实用的一个指标是功率角x。
cos(x)= A/(B1×B2)
A是V×I的积分
B1是V平方积分的平方根
B2是I平方积分的平方根
x表示V,I的相关程度。显然V,I成比例的时候,
做功最多。
【在 w***g 的大作中提到】 : 应该没现成的. 如果你的signal维度不是那么大, C++暴力算应该没啥压力. : 因为你是要求farthest neighbor, 也没啥索引适合你用的. : 可以用circular buffer来实现queue. : 不够快再回帖, 我还有一些办法, 都要牺牲代码可读性. : 你这个计算量不大, 估计没必要. : 我倒觉得问题在与一个signal和2w个怎么定义差异. 既然你是detect anomaly, : 显然之前的2w个里也会有anomaly. 你要是单取最大的distance, 很可能就是和 : 之前的anomaly比, 而不是和typical case比.
|
M********0 发帖数: 1230 | 9 没明白 这里k应该是时间t吧 x,y分别是什么? 求什么的correlation coefficient?
【在 g****t 的大作中提到】 : 算coorelation coefficient是第一个要试的东西。 : x(k),y(k-7200),python写一段recursive算C(k) : C是until now的关联系数。 : you can use [email protected] to improve performance
|
g****t 发帖数: 31659 | 10 X,Y就是你的信号啊
相关系数应该线性代数都学过吧
: 没明白 这里k应该是时间t吧 x,y分别是什么? 求什么的correlation
coefficient?
【在 M********0 的大作中提到】 : 没明白 这里k应该是时间t吧 x,y分别是什么? 求什么的correlation coefficient?
|
b***i 发帖数: 3043 | 11 根据前几万个输入求出平均值和一个范围,然后直接和平均值距离比较?
然后更新平均值和范围。
【在 M********0 的大作中提到】 : 遇到这么一个问题 简单归纳之下大概是这样的: : 每小时有1w个signal进入系统 最新进入的signal要去和之前2小时的signal做 : similarity比较 假如比较Euclidean distance就可以了 差异越大的signal认为 : anomaly : 维持两个小时的data感觉像是个queue 每个新的signal都要和queue里的每一项做距离 : 计算 怎么实现优化 : 这个系统怎么设计?有现成的吗?
|
m****o 发帖数: 182 | 12 你这个用deepbit做应该是最佳方案。
Learning compact binary descriptors with unsupervised deep neural network ,
cvpr16
神经网络训练好后,每一个信号都可以被转化成一个0-1 array,比较相似度直接做一
个xor就搞定了。 |