我有以下数据Y
,我想使用 R 中的 Weibull 分布对参数进行 MLE 估计。
1468, 1872, 475, 1372, 3830, 1849, 978, 1389, 909, 701, 1227, 962, 1781, 580, 584, 2675, 841, 1544, 452, 955, 556, 15537, 731,7, 1188、2649、1800、2718、808、1138、909、1359、846、1334、1397、719、1715、681、2002、994、2543、1564、1717、1106、1859
如果我尝试运行,fitdistr(Y, "weibull")
我会收到警告:
fit = fitdistr(Y, "weibull")
Warning message:
In densfun(x, parm[1], parm[2], ...) : NaNs produced
> warnings(fit)
Warning message:
In densfun(x, parm[1], parm[2], ...) : NaNs produced Error in
at(list(...), file, sep, fill, labels, append) :
argument 2 (type 'list') cannot be handled by 'cat'
但它仍然给了我一个 MLE。但是,该值与 SAS 给出的结果不同。
R的输出:
shape scale
2.1103684 1537.2344072
(0.2245888) (112.1596367)
SAS 的输出(使用 proc lifereg):
Weibull Scale 1550.559
Weibull Shape 2.1195
是什么导致了这种差异,是否有任何首选的包/函数来计算分布的 MLE 的简单MASS
估计fitdistr
?