【问题标题】:Estimating Lambda for Yeo and Johnson transform估计 Yeo 和 Johnson 变换的 Lambda
【发布时间】:2016-11-07 01:08:47
【问题描述】:

我在 csv 文件中有一个降雨值的时间序列。我绘制了数据的直方图。直方图向左倾斜。我想转换这些值,使其具有正态分布。我使用了 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)

Here is the csv file.

【问题讨论】:

  • 请提供一个可重现的例子,最好是模拟数据而不是链接数据。此处的链接已损坏,鉴于它是单个向量,因此没有必要。

标签: r csv lambda transformation r-car


【解决方案1】:

首先使用 car 包中的函数boxCox 以最大似然估计 λ,找到最优 lambda。

你可以这样绘制:

boxCox(your_model, family="yjPower", plotit = TRUE)

正如 Ben Bolker 在评论中所说,这里的模型可能类似于

your_model <- lm(dat~1)

然后在现有代码中使用优化的 lambda。

【讨论】:

  • 我对适用于我的数据的模型(Box-Cox 命令中的对象)感到困惑。到目前为止,我还没有为数据拟合任何模型。
  • 最明显的是拟合一个平凡的线性模型:your_model &lt;- lm(dat~1)
  • @Lyndz 是的,我会接受 Ben Bolker 的建议
  • 在阅读了一些关于 lm 函数的文章后,我现在明白了。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2021-09-21
  • 2021-09-21
  • 2018-09-02
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多