2016-11-07 410 views
2

我有一个csv文件中的降雨值时间序列。我绘制了数据的直方图。直方图偏向左侧。我想改变这些值,以便它具有正常的分布。我使用了R中的Yeo-Johnson变换。变换的值是here为Yeo和Johnson变换估算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

回答

2

首先使用汽车包装中的函数boxCox通过最大似然估计λ来找到最优lambda。

您可以绘制这样说:

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

example from CV

正如本Bolker在评论说,这里的模型可以像

your_model <- lm(dat~1) 

然后使用优化的拉姆达在你现有的代码中。

+1

我对什么模型(Box-Cox命令中的对象)适用于我的数据感到困惑。截至目前,我不适合任何数据模型。 – Lyndz

+2

最明显的将是拟合一个微不足道的线性模型:'your_model < - lm(dat〜1)'。 –

+0

@Lyndz是的,我会采取本博尔克的建议 –