1.介绍
Box-Cox变换的作用是把不怎么正态化的一组数,让它们变得更加正态化。详情可以参考百度百科:Box-Cox变换。
R语言有好几个包可以实现Box-Cox变换,比如car、MASS、forecast。发现用forecast包是最容易实现且容易理解的。
2.求最优的λ
对于一个数组y,例如
y=c(269,321,585,871,1475,2821,392,594,4950,2577,523,98,184,279)
要对它进行Box-Cox变换,求它的最优的λ的语句如下:
library(forecast)
best_lambda=forecast::BoxCox.lambda(y)
3.用给定的λ做正向变换
y1=forecast::BoxCox(y,lambda=best_lambda)
4.用给定的λ对变换之后的数据进行逆变换还原
y0=forecast::InvBoxCox(y1,lambda=best_lambda)