如何找到R中Box-Cox变换中使用的参数lambda列表

jc3wubiy  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(116)

给定一个数据集X,如何找到Box-Cox变换中使用的lambda的参数列表。

x1 = c(1,2,0,5,1,4,2,6,2,0)
x2 = c(3,2,5,6,5,1,2,1,4,4)
x3 = c(4,0,1,3,2,4,5,3,1,0)

X = cbind(x1,x2,x3)
wljmcqd8

wljmcqd81#

假设你去掉了数据中的0,或者真实的数据中没有0(见我在你的问题之后的评论,这里我把0改成了0.0001),那么这个方法应该有效:

library(bestNormalize)

x1 = c(1,2,0.0001,5,1,4,2,6,2,0.0001)
x2 = c(3,2,5,6,5,1,2,1,4,4)
x3 = c(4,0.0001,1,3,2,4,5,3,1,0.0001)

X = cbind(x1,x2,x3)

temp <- apply(X, 2, boxcox)

listLambda <- lapply(temp, "[[" , "lambda")
listLambda

listBCconverted <- lapply(temp, "[[", "x.t")
listBCconverted

注:boxcox在此对平均值0附近的转换进行了标准化。

相关问题