s********k 发帖数: 6180 | 1 首先非常感谢帮助,我可能没有表述清楚,我再写一下吧:
flow1-1,flow2-1 是输入, 为了表示清楚,我用flow1-input,flow2-input表示吧。原
帖figure1
flow1-2,flow2-2 是输出, 为了表示清楚,我用flow1-output,flow2-output表示吧。
原帖figure2
直观来看
simi(flow2-1, flow2-2)>simi(flow1-1, flow1-1)
也就是说
simi(flow2-input, flow2-output)>simi(flow1-input, flow1-output)
.这样也是我希望得到的结果。但是我用correlation算
cor(flow2-input, flow2-output)
因为这个是时间序列,是不是直接用correlation不是很合适,那么有什么更好的度量
方法能达到我希望的结果呢?
非常感谢大家的帮助 |
|
s********k 发帖数: 6180 | 2 原始数据见下面(附件好像不能贴),flowi-k,总共四个原始数据(第一列是采样时间
,第二列是数据)。i分别为1,2,表示flow1(red)和flow2(blue)。k表示两个不同
的图(实际系统中分别表示输入输出),k=1表示输入(首帖中的figure1),k=2表示
输出(首帖中的figure2).我所求的是flow1-1和flow1-2之间“相关性、相似性”x1。
然后是flow2-1和flow2-2之间“相关性、相似性”x2。直观感觉是x1>x2,但是用
correlation定义求出来相反。当然严格的说我可能用的correlation定义不对,因为这
个是时间序列。各位大侠有什么高见,先谢过了.
flow1-1
0.5 1
1 1
1.5 1
2 3
2.5 10
3 20.2981
3.5 21.4492
4 22.4971
4.5 23.5407
5 24.5806
5.5 25.6173
6 26.5383
6.5 27.4648
7 28.3963
7.5 29.2298
8 |
|
s********k 发帖数: 6180 | 3 时间序列的见附件1,2,有红色蓝色两个flow,直观看蓝色flow2之间的相似度更高,
红色flow1的相似度低一些(相反,红色flow1和蓝色flow2)的相似度更高(这也是我
希望得到的结论)。但是用correlation算出来红色序列的correlation更高。可能是噪
声以及shift的原因,所以想请问下有没有比较好的方法判断时间序列的相似度,我用
了一些比如distance或者FFT的方法,但是得到的效果都不好。哪位高人给指点下应该
怎么做? |
|
s********k 发帖数: 6180 | 4 【 以下文字转载自 CS 讨论区 】
发信人: silverhawk (silverhawk), 信区: CS
标 题: 怎样判断两个时间序列的相似度
发信站: BBS 未名空间站 (Tue Apr 13 14:02:44 2010, 美东)
时间序列的见附件1,2,有红色蓝色两个flow,直观看蓝色flow2之间的相似度更高,
红色flow1的相似度低一些(相反,红色flow1和蓝色flow2)的相似度更高(这也是我
希望得到的结论)。但是用correlation算出来红色序列的correlation更高。可能是噪
声以及shift的原因,所以想请问下有没有比较好的方法判断时间序列的相似度,我用
了一些比如distance或者FFT的方法,但是得到的效果都不好。哪位高人给指点下应该
怎么做? |
|
s********k 发帖数: 6180 | 5 【 以下文字转载自 CS 讨论区 】
发信人: silverhawk (silverhawk), 信区: CS
标 题: 怎样判断两个时间序列的相似度
发信站: BBS 未名空间站 (Tue Apr 13 14:02:44 2010, 美东)
时间序列的见附件1,2,有红色蓝色两个flow,直观看蓝色flow2之间的相似度更高,
红色flow1的相似度低一些(相反,红色flow1和蓝色flow2)的相似度更高(这也是我
希望得到的结论)。但是用correlation算出来红色序列的correlation更高。可能是噪
声以及shift的原因,所以想请问下有没有比较好的方法判断时间序列的相似度,我用
了一些比如distance或者FFT的方法,但是得到的效果都不好。哪位高人给指点下应该
怎么做? |
|
s********k 发帖数: 6180 | 6 【 以下文字转载自 CS 讨论区 】
发信人: silverhawk (silverhawk), 信区: CS
标 题: 怎样判断两个时间序列的相似度
发信站: BBS 未名空间站 (Tue Apr 13 14:02:44 2010, 美东)
时间序列的见附件1,2,有红色蓝色两个flow,直观看蓝色flow2之间的相似度更高,
红色flow1的相似度低一些(相反,红色flow1和蓝色flow2)的相似度更高(这也是我
希望得到的结论)。但是用correlation算出来红色序列的correlation更高。可能是噪
声以及shift的原因,所以想请问下有没有比较好的方法判断时间序列的相似度,我用
了一些比如distance或者FFT的方法,但是得到的效果都不好。哪位高人给指点下应该
怎么做? |
|
s********k 发帖数: 6180 | 7 【 以下文字转载自 CS 讨论区 】
发信人: silverhawk (silverhawk), 信区: CS
标 题: 怎样判断两个时间序列的相似度
发信站: BBS 未名空间站 (Tue Apr 13 14:02:44 2010, 美东)
时间序列的见附件1,2,有红色蓝色两个flow,直观看蓝色flow2之间的相似度更高,
红色flow1的相似度低一些(相反,红色flow1和蓝色flow2)的相似度更高(这也是我
希望得到的结论)。但是用correlation算出来红色序列的correlation更高。可能是噪
声以及shift的原因,所以想请问下有没有比较好的方法判断时间序列的相似度,我用
了一些比如distance或者FFT的方法,但是得到的效果都不好。哪位高人给指点下应该
怎么做? |
|
o****o 发帖数: 8077 | 8 in that case, don't standardize your data, using the original data for SVD,
the first eigenvector will be
series Prin1
flow11 0.0299
flow12 0.7391
flow21 0.0706
flow22 0.6692
what you find is that
simi(flow1-1, flow1-2)
closer than the red series
standarizing the data will dump the amplitude difference between red series
by a larger degree than to the difference between blue series. |
|
w****h 发帖数: 212 | 9 比如有N个数组,名字是flow1, flow2,...flown
那么如何用循环依次读取这N个数组里数据,比如flow{i}[4]?
在matlab里容易用eval实现,不知道C#里如何实现。 |
|
k*k 发帖数: 508 | 10 假设你有 flow1,flow2, flow3... flowN.
double[][] flow_ = new double[N][];
flow_[0] 就是一个一维的 double 数组,flow_[i] 跟 flow_[j]
的长度可以不同。 |
|
z****g 发帖数: 1978 | 11 can't understand "蓝色flow2之间的相似度更高". Shouldn't you compare the blue
-flow with the red-flow? |
|
s********k 发帖数: 6180 | 12 sorry, 可能我没有表述清楚,就是两个蓝色flow2之间有一个相似度s2,两个红色flow1
之间也有一个相似度s1,我想得到的结论是s2>s1(差距还比较大).
blue |
|
s********k 发帖数: 6180 | 13 我希望得到的结果是flow2(蓝色)序列的输出主要决定于自己的输入(和少部分flow1
的输入),所以输入输出之间的相似性高。而flow1(红色)序列的输出主要决定于蓝
色序列的输入,它自己本身的输入输出之间的相似性低。可能是我FFT没做好,我会再
试一下。但是FFT也有一个问题,我希望能够实时判断,有没有更好的办法?谢谢 |
|
s********k 发帖数: 6180 | 14 simi(flow11, flow12)>simi(flow21, flow22)
这个就是说两个红色flow1之间的相似性大于两个蓝色flow2之间的相似性,这个和我
correlation算出来的结果一样的,但是和直观感觉以及我想得到的结果不一样啊
obtain the right eigenvector matrix, and
eigenvector |
|