为什么 gamlss 拟合不拟合且不可行的分布?

问题描述 投票:0回答:1

我有以下使用 gamlss 来拟合最佳分布的示例。

z0 是正态分布的随机变量,mu=1 且 sd=2 z1 应该适合最佳分布:在我的例子中,它返回 BCCG 为最佳分布 z2 符合正态分布 z3 应该适合建议的 BCCG,但是这失败了。为什么会出现这种情况?

此外,如果我绘制直方图,建议的 BCCG 似乎不是最合适的。

我哪里做错了?

我感谢任何帮助!

提前非常感谢您。

set.seed(123)
z0 <- rnorm(10000, 1,2)
z1 <- gamlss::fitDist(z0, k=2, type="realAll", trace=FALSE, try.gamlss=TRUE)  #realplus | realAll
z1$fits
#  BCCG    BCCGo     BCTo      ...
# 22381.32 22381.32 22383.13   ...
z1$mu.coefficient; z1$mu.link
# [1] 0.9461219
# [1] "identity"
z1$sigma.coefficients; z1$sigma.link
# [1] 0.7571287
# [1] "log"

z2 <- gamlss(z0~1, family=NO)
z2$mu.coefficient; z2$mu.link
# (Intercept) 
#    1.023001 
# [1] "identity
z2$sigma.coefficients; z2$sigma.link
# (Intercept) 
#   0.6889655 
# [1] "log"

z3 <- gamlss(z0~1, family=BCCG)
# Error in gamlss(z0 ~ 1, family = BCCG) : response variable out of range

hist(z0)
hist(rBCCG(n=10000, mu=(z1$mu.coefficients), sigma=exp(z1$sigma.coefficients)))
hist(rNO(n=10000, mu=(z2$mu.coefficients), sigma=exp(z2$sigma.coefficients)))

我查阅了手册,但没有变得更明智。

感谢您的帮助。

r distribution gamlss
1个回答
0
投票

我不知道你是如何得到结果的。 当我尝试代码时,它工作正常:

设置种子(123)

z0<- rnorm(10000, 1,2)

z1<- gamlss::fitDist(z0, k=2, type="realAll", trace=FALSE, try.gamlss=TRUE)

有 40 个警告(使用 warnings() 查看它们)

z1

家庭:c(“否”,“正常”) 拟合方法:“nlminb”

调用:gamlssML(公式 = y,族 = NO)

Mu 系数: [1] 0.9953

西格玛系数: [1] 0.6917

配合自由度:2 个剩余度。自由9998 全球偏差:42213.4 工商登记号码:42217.4 SBC:42231.8

z1$适合

  NO   exGAUS      PE2       PE      SN1       TF      TF2      SN2      ST4     SEP2     SEP4 

42217.43 42219.25 42219.27 42219.27 42219.31 42219.37 42219.37 42219.40 42221.08 42221.17 42221.21

SEP1     SEP3      ST1       GT      JSU     JSUo      ST2     EGB2 

沙什沙肖沙肖2

42221.22 42221.24 42221.27 42221.27 42221.27 42221.27 42221.27 42221.27 42221.27 42221.29 42221.29

 ST5      ST3      SST       LO      NET       RG       GU 

42221.33 42221.35 42221.35 42400.36 43011.09 43803.93 43885.79

© www.soinside.com 2019 - 2024. All rights reserved.