shunqinature
我是由一个很常见的问题想到这个问题的:比如说我们想做一个预测,Y~X1 + X2,(regression,classification等等)。其中X1和X2是一个对象的不同属性,比如X1是病人的血压,X2是病人的身高。这时一个很自然的问题就是:如何定X1和X2的单位?
很明显,以X2为例,用厘米(cm)做单位比用米(m)做单位对应的数值大,从而相应的方差也大,这样它在预测中的地位自然就提高了。
这个是很常见的问题,也有常见的应对方式:将数据标准化。但是这样就会使得数据的方差基本上都是1。如果大家对Principal Component Analysis很熟悉的话应该知道,它的一个基本观点就是:方差反映了数据所包含的信息量,其实这也是整个统计学的一个基本观点。我们这样做是不是人为地把观测到的信息给抹掉了呢?
一直没有想清楚,不知道这里的高手们有什么见解?先多谢啦:)
ly2007
以前没有想过这个问题,经你提醒拿数据做了一个二分类的LOGISTIC,发现变量的单位对预测是没有影响的(如以你提到的X2为例,用厘米(cm)做单位得出的系数要比用米(m)做单位得出的系数刚好大100倍)。
yihui
b=b*n*(1/n)恒成立,这用不着验算
shunqinature
多谢二位的观点:)
回复一楼的:logistic其实是关于logit(Prob(Y=1))的线性模型,所以单位的问题对estimation没有影响(唯一不同的就是估计出来的系数会被放大或缩小。)对于简单的inference(判断系数是否为0),也还好,因为那些t,F test自己就是又标准化了一遍。不过对于非线性的模型,比如说我们想用Support Vector Machine 或者random forest做分类的话,问题好像就没有这么简单了。
另外最直接的问题就是:对数据标准化之后,还能不能做PCA?即使硬做出来了,结果还有没有实际意义?
谢谢大家的探讨:)
ddtd
这个问题你可以去看看期刊,有不少文章探讨这个问题,
比较流行的观点好像是用均值化(Y=X/mean(X))代替标准化
shunqinature
[quote]引用第4楼ddtd于2007-10-30 23:38发表的“”:
这个问题你可以去看看期刊,有不少文章探讨这个问题,
比较流行的观点好像是用均值化(Y=X/mean(X))代替标准化[/quote]
多谢楼上的。是不是均值化一般是用在数据为比较大的正数的情况下?因为如果mean(x)太小的话,X/mean(X)就把原来的数据放大的太多了,可能会出问题的(比如说测量误差被放大很多)。
不过这个观点还是很好的:)不知你看的是什么文章,能不能告诉我一两篇?多谢多谢:)
statax
将数据标准化之后,分析时再注意标准化这一个变换就行了。如神经网络,输入都经过标准化了,但分析时注意到中间有一个变换就行了吧
statax
从数学上看,如果f(x) 和 h(x)是连续或可微的,那么 g=f(h(x)) 也应该是连续可微的。
ddtd
你可以去中国期刊网上搜索一下主成分分析的文章,有几篇在讲的,我也忘记了名字。
关于你说的问题,我倒是还没考虑过啊呵呵
yihui
对于Support Vector Machine等Machine Learning的方法中的标准化,你不妨参考这个页面:[url]ftp://ftp.sas.com/pub/neural/FAQ2.html#A_std[/url]