我正在尝试使用软件包actuar
和fitdistplus
来适应各种发行版。然后,我希望能够根据AIC得分选择合适的分布(通常,越低越好)。
例如,如果我们要适合这三个分布:
fitweibull <- fitdist(y, "weibull")
fitgamma <- fitdist(y, "gamma", start = list(shape=1, scale = 1))
fitlnorm <- fitdist(y, "lnorm")
然后查看AIC值,如下所示:
AIC<-gofstat(list(fitweibull,fitgamma,fitlnorm)$aic
给我们
1-mle-weibull 2-mle-gamma 3-mle-lnorm
125382.4 125550.6 126041.2
使用以下代码为我们提供三种分布的最小值(按AIC得分):
distlist<-list(fitweibull,fitgamma,fitlnorm)
fitaicselected<-distlist[match(min(AIC),AIC)]
然后我的问题是我希望提取下面的形状和比例参数,分别为"1.628077"
和"61594.311261"
以用于仿真目的:
> fitaicselected
[[1]]
Fitting of the distribution ' weibull ' by maximum likelihood
Parameters:
estimate Std. Error
shape 1.628077 0.01950925
scale 61594.311261 828.15654962
我尝试使用典型的fitaicselected$estimate
方法,但是它似乎不像通常那样起作用,因为它似乎没有认识到fitaicselected
是分布。有任何想法吗?我肯定有一个明显的解决方案!
谢谢,戴夫。