如何使Weibull分布适合包含零的输入数据?
我正在尝试重现由退休研究员传承的现有预测算法。第一步是将一些观察到的数据拟合为威布尔分布,以获得将用于预测未来值的形状和比例。我正在用R做到这一点。这是我的代码示例: x<-c(23,19,37,38,40,36,172,48,113,90,54,104,90,54,157,51,77,78,144,34,29,45,16,15,37,218,170,44,121) f<-fitdistr(x, 'weibull') 除非输入数组中有任何零,否则它将完全失败,这可以正常工作。SAS中也会发生同样的事情。据我了解,这是因为计算Weibull分布的步骤之一是采用自然对数,该自然对数未定义为0。是否有合理的方法来解决此问题? 到目前为止,我发现最好的方法是在所有输入值中加1,拟合曲线,然后从预测值中减去1(“上移”曲线,然后下移1)。这非常适合先前预测的数据,但是这样做似乎是错误的方法。 编辑:输入数组中的值是多年来观察到的真实数据(某物的出现次数)。因此,在某些年份中发生的次数为零。不管这是不是最好的方法(我同意可能不是),原始算法作者声称已经使用了Weibull分布,并且我不得不尝试复制他们的过程。