jzhang04
两组数据做covariation。
如:(用R语言写的几个步骤)
> data=data.frame(x=runif(10,0,100),y=runif(10,0,100))
> data
x y
1 51.217041 33.598066
2 55.952014 8.464192
3 66.639631 18.800217
4 86.345058 76.785054
5 5.455462 15.435875
6 30.690393 83.432612
7 61.444597 23.873343
8 90.375886 18.146036
9 9.819438 2.683782
10 84.965661 1.095123
> cov(data$x,data$y)
[1] 69.03162
这个应该没有什么问题。
假如data中的x或者y项中,有一些值等于“0”。听一个老师说“0”是一个非常特殊的值。这种情况下要是做covariation最好把有“0”的那个项给删除,不要考虑。但是如果“0”这一项比较重要,而且比较多的话,就会删除很多数据。在一些情况下,“0”的出现也是一个非常有用的信息。
这个应该怎么考虑或者处理呢?
谢谢!
hexm26
去问你的那个老师。
jzhang04
[quote]引用第1楼hexm26于2007-08-25 12:42发表的“”:
去问你的那个老师。[/quote]
他就是建议删除“0”这一项,其他的没有说。
他也不知道该怎么办了。早问了!
yihui
你的老师又是一个小祖宗……
谁说不可以有0的?乱订些规矩,郁闷
jzhang04
[quote]引用第3楼谢益辉于2007-08-25 18:38发表的“”:
你的老师又是一个小祖宗……
谁说不可以有0的?乱订些规矩,郁闷[/quote]
不是说不可以有“0”。这是说“0”是一个比较特殊的值,需要特殊的考虑。有“0”的话,结果好像会有偏差。有这么回事吗?
非常惭愧!挨谢老师骂了!
rtist
假如你把所有的x都加上任何一个常量,那么相关系数是不变的。
这样你可以把数据中的任何一个数字变成零而不改变相关系数。
所以有0在里面没啥关系。
hexm26
这怎么可能?你把数据中的任何一个数字变成零,相关系数肯定会改变,况且楼主说的是covariation呀,改变或删除任何一个数据都会影响到结果的。
rtist
我的意思是任何一个,而不是所有的。
比如原来的x里面有0,假定x的第一个数字是6,我可以把所有的x都减去6,这样的相关系数显然没有变化,而x第一个数字现在就已经变成0了。可见有没有0都是一样的相关系数。
cov(x,y)=cov(x+const,y)
var(x)=var(x+const)
cor(x,y)=cov(x,y)/sd(x)/sd(y)=cov(x+const,y)/sd(x+const)/sd(y)=cor(x+const,y)
hexm26
你的解释是没有错的,任何一个数字为0,1,-1,1000都没有关系。可是楼主的问题是数据中出现了0的观测值以后,要将整个行删除(我的理解没有错吧?)那么整个数据的行列数的发生变化了,怎么可能不影响到最后的covariation(包括correlation)?这种做法除非是从数据考虑(比如说0是不可能存在的现象),否则从统计意义上看是无论如何说不通的。
hexm26
喔,我突然好像明白楼主的意思了,在真实数据里面很有可能出现极小的数据,0是没有意义的却仍然可能出现,删除数据可以避免不合理的解释(0甚至有可能在别的统计量里要用到,比如说做除数),但删除会损失很大的信息量。我的个人建议是将0替换为一个很小的正数,比如说1E-16,应该是可以解释的了。
jzhang04
[quote]引用第9楼hexm26于2007-08-26 13:25发表的“”:
喔,我突然好像明白楼主的意思了,在真实数据里面很有可能出现极小的数据,0是没有意义的却仍然可能出现,删除数据可以避免不合理的解释(0甚至有可能在别的统计量里要用到,比如说做除数),但删除会损失很大的信息量。我的个人建议是将0替换为一个很小的正数,比如说1E-16,应该是可以解释的了。[/quote]
是啊,是这样的意思。“0”要考虑它的生物学意义。比较麻烦。我这里是树种的个数。“0”代表着该树种没有出现。用一个比较小的数值替代“0”也许是个方法。
还有没有其他的方法啊。
谢谢!
hangover
[quote]引用第4楼jzhang04于2007-08-26 10:05发表的“”:
这是说“0”是一个比较特殊的值,需要特殊的考虑。有“0”的话,结果好像会有偏差。有这么回事吗?
[/quote]
能举个产生偏差的例子么?
yihui
还是不太懂,把0改成极小的正数,对于covariation的影响也是微乎其微的啊
我的问题和hangover一样,“偏差”是怎样因为0而产生的?或者说你怎么知道有偏差,或者说是相对于哪个真实值的偏差?
rtist
也许是说ties的影响?