就我个人的粗浅理解:
x 经过 boxcox 变换后的形式 (x^λ+1)/λ 是正态分布,关键是如何选择λ。
先来模拟一组偏态数据:
<br />
x = rf(500,30,30)<br />
hist(x, breaks=12)<br />
</p>

再来寻找Box-Cox的λ:
<br />
result = boxcox(x~1, lambda=seq(-0.5,0,5,1/50))<br />
</p>

楼主可以看到一个λ的图形,我们选择那个使曲线最高点的λ值,一般就可以了。对于不同的数据,可能要调整lambda的取值范围,我选了-0.5~0.5。
选择最合适的λ:
<br />
mylambda = result$x[which.max(result$y)]<br />
</p>
现在我们看看效果:
<br />
x2 = (x^mylambda+1)/mylambda<br />
hist(x2)<br />

哇, 原来的偏态数据变成正态的了! [s:14] 牛不牛,有木有?
当然,这是针对原始数据全是正数的情况。如果数据中有负数,则在变换前加上一个正数α,使得全体数据为正数。对于α的最佳取值,要使用MASS包的logtrans函数来选择,类似于boxcox函数的用法。</p>
更进一步的,具体可以参考MASS(Modern Applied Statistics With S)这本书。
现在信心爆棚了吧?以为box-cox转换可以把你手里面不是正态分布的数据变成正态的了吧?
做梦!!!
一般的单峰稍微偏态的,box-cox变换还可以进行正态分布变换。但是,你试试双峰分布,看看能不能行?其它的变态分布,就更不用提了。
一定要读书哦,切不可养成单单依赖网上搜索的只言片语,断章取义的习惯。