背景:我有一组双峰数据,所以我使用 R 中的 mixtools 包来拟合双峰正态分布。看起来法线似乎不太适合,并且考虑到我拥有的其他类似数据集(不是双峰的)并且是对数正态分布的,我认为对数正态可能更有意义。但是,mixtools 没有办法拟合双峰对数正态分布,所以我取了数据的对数并重新拟合。这张图片在下面,它符合我的要求。
确实,这是一个软件问题(不知道哪个包可以明确适合双峰对数正态),但这让我想到了我经常想知道的事情:将正态分布拟合到记录的数据相当于拟合对数正态分布到原始数据?我怀疑不是,但我不确定为什么?(忽略零或负数据的情况。假设所有数据都是相当大的正数,但有偏差)。还知道您当然需要进行反向转换才能获得原始值估计。
我试图用一些玩具数据对此进行测试,并意识到我什至不知道为什么与对数正态分布相关的均值对数不是当你取对数正态分布的平均值时得到的结果。因此,当涉及到对数法线的参数时,我的理解可能已经被打破了。
library(fitdistrplus)
set.seed(1)
test <- rnorm(1000, mean=100)
test[test<=0] <- NA #Unnecessary since no values <= 0, but just to prove
test<-na.omit(test)
log.test <- log10(test)
mean(log.test)
sd(log.test)
#1.999926 is mean for log.test
#0.004496153 is sd for log.test
fitdist(log.test, dist="lnorm", method="mle")
#However, "meanlog" is 0.693107737 and "sdlog" is 0.002247176
#The means are so different, not sure why?
