问一个求两组数比例相似程度的方法

HUNTON 2006-12-04 10:39:35
(1)有两组数A1,A2,......,An和B1,B2,......,Bn,这两组数的比例在理想状态下是相同的,即在理想状态下A1:A2:......:An = B1:B2:......:Bn,实际情况下,两组数的值有偏差,如何通过一个类似置信度的值确定这两组数是否属于同一个比例序列?
(2)如果这两组数中间随机插入了一些干扰数,即两组数变为A1,A2,......,An和B1,B2,......,Bm,如何去掉干扰数,找出这两组数的最长相似的比例段?
...全文
1492 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
HUNTON 2006-12-19
  • 打赏
  • 举报
回复
关于问题(2)大家又什么好方法啊?
xiaoyetao08 2006-12-19
  • 打赏
  • 举报
回复
Xb=Sigma(Xi)/n
Yb=Sigma(Yi)/n

B=Sigma((Xi-Xb)*(Yi-Yb))/Sigma((Xi-Xb)^2)
A=Yb-B*Xb
............


关注中.........
fosjos 2006-12-16
  • 打赏
  • 举报
回复
“NowCan(城市浪人)用的统计方法算出来的还是比较准的”

前段时间刚看过《概率》,相关系数就是那么定义的,应该是最准确的^_^

路过JF
HUNTON 2006-12-15
  • 打赏
  • 举报
回复
继续讨论。
HUNTON 2006-12-08
  • 打赏
  • 举报
回复
NowCan(城市浪人)用的统计方法算出来的还是比较准的,而arisujin()方法似乎不准,举个例子。
DataX[4] = {3.5, 2.1, 0.8, 0.6};
DataY[4] = {3, 2, 1, 1};
DataY0[4] = {4, 2, 1, 1};
对于这三组数,用NowCan(城市浪人)用的统计方法得到的DataX与DataY的相关系数为0.998150,而DataX与DataY0的相关系数为0.982910,所以DataX与DataY比较相似,这是我想要的结果。
而用arisujin()方法,不用协方差得到DataX与DataY的计算值为0.460000,DataX与DataY0的计算值为0.203750,所以DataX与DataY0比较相似,不是想要的结果。如果用了协方差(X的),得到DataX与DataY的计算值为0.085028,DataX与DataY0的计算值为0.037662,还是DataX与DataY0比较相似,仍不是想要的结果。
vbanglev 2006-12-06
  • 打赏
  • 举报
回复
MASK
isy84 2006-12-06
  • 打赏
  • 举报
回复
LiChenYue(李忱悦,爱与悲留住我心!暗恋未遂,独孤求偶!)


我觉得画出图像,人工用眼睛来判断重叠程度。
______________________________



Aris_SU 2006-12-06
  • 打赏
  • 举报
回复
a1:b1=a2:b2 可以得到 (a1+a2):(b1+b2)=a1:b1=a2:b2

那么 a1:a2:……:an=b1:b2:……:bn
相当于说 a1:b1=a2:b2=……=an:bn=(a1+a2+……+an):(b1+b2+…… +bn)

那么假如干扰的概率服从正态分布,干扰记为Ra1,Ra2,……,Ran,Rb1,Rb2,……,Rbn分别代表数列a和数列b的干扰值
那么如果干扰是随机的,根据上面的假设,有
(Ra1+Ra2+……+Ran)=0
(Rb1+Rb2+……+Rbn)=0
那么 这个时候
(a1+a2+……+an):(b1+b2+…… +bn)这个比值就等于ai:bi在没干扰下的情况

那么记c=(a1+a2+……+an):(b1+b2+…… +bn)

那么用
(a1-b1×c)^2+(a2-b2×c)^2+……+(an-bn×c)^2
或者
(a1/c-b1)^2+(a2/c-b2)^2+……+(an/c-bn)^2
的大小 表示相似程序
当然
也可以
均一化
去掉单位的影响
除以数列a的方差(b的方差) 得出与单位无关的数值来比较相似程序

smartcatiboy 2006-12-04
  • 打赏
  • 举报
回复
严重关注。

楼上的线数真实厉害啊
NowCan 2006-12-04
  • 打赏
  • 举报
回复
1)其实就是B=aA+b,求出a和b,还有相关系数,估计就差不多了吧。
Y=BX+A,相关系数R

Xb=Sigma(Xi)/n
Yb=Sigma(Yi)/n

B=Sigma((Xi-Xb)*(Yi-Yb))/Sigma((Xi-Xb)^2)
A=Yb-B*Xb

R=Sigma((Xi-Xb)*(Yi-Yb))/Sqrt(Sigma((Xi-Xb)^2)*Sigma((Yi-Yb)^2))
sunboyljp 2006-12-04
  • 打赏
  • 举报
回复
GO!俺要100分
LiChenYue 2006-12-04
  • 打赏
  • 举报
回复
我觉得画出图像,人工用眼睛来判断重叠程度。
HUNTON 2006-12-04
  • 打赏
  • 举报
回复
我自己也找了一个判别式。原理就是根据A1:A2 = B1:B2,A2:A3 = B2:B3,......计算每个比例的偏差,然后平均。最后用1减去平均偏差最为判别的值,值越大,说明两组数越相似。
1 - Sigma(|A[i]*B[i+1] - A[i+1]*B[i]| / Max{A[i]*B[i+1],A[i+1]*B[i]}) / (n - 1)
HUNTON 2006-12-04
  • 打赏
  • 举报
回复
不是线数吧,应该是统计学的。NowCan的不错,但似乎只要相关系数R就可以了。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧