估计 Yeo 和 Johnson 变换的 Lambda
Estimating Lambda for Yeo and Johnson transform
我在 csv 中有一个时间序列的降雨量值 file.I 绘制了数据的直方图。直方图向左倾斜。我想转换这些值,使其呈正态分布。我使用了 R 中可用的 Yeo-Johnson 变换。变换后的值为 here.
我的问题是:
在上面的转换中,我对lambda使用了0.5的测试值,效果很好。有没有办法根据时间序列确定lambda的最优值?我会很感激任何建议。
到目前为止,代码如下:
library(car)
dat <- scan("Zamboanga.csv")
hist(dat)
trans <- yjPower(dat,0.5,jacobian.adjusted=TRUE)
hist(trans)
首先利用car包中的函数boxCox
找到最优的lambda,最大似然估计λ。
你可以这样画:
boxCox(your_model, family="yjPower", plotit = TRUE)
正如 Ben Bolker 在评论中所说,这里的模型可能类似于
your_model <- lm(dat~1)
然后在现有代码中使用优化的 lambda。
我在 csv 中有一个时间序列的降雨量值 file.I 绘制了数据的直方图。直方图向左倾斜。我想转换这些值,使其呈正态分布。我使用了 R 中可用的 Yeo-Johnson 变换。变换后的值为 here.
我的问题是:
在上面的转换中,我对lambda使用了0.5的测试值,效果很好。有没有办法根据时间序列确定lambda的最优值?我会很感激任何建议。
到目前为止,代码如下:
library(car)
dat <- scan("Zamboanga.csv")
hist(dat)
trans <- yjPower(dat,0.5,jacobian.adjusted=TRUE)
hist(trans)
首先利用car包中的函数boxCox
找到最优的lambda,最大似然估计λ。
你可以这样画:
boxCox(your_model, family="yjPower", plotit = TRUE)
正如 Ben Bolker 在评论中所说,这里的模型可能类似于
your_model <- lm(dat~1)
然后在现有代码中使用优化的 lambda。