R中的MASS包:fitdistr的“lower”(x,“weibull”,lower = T)

时间:2015-12-04 15:05:15

标签: r

“lower”是否将densfunction更改为y = shape / scale *(x / scale)^(shape-1)* e ^((T ^ shape-x ^ shape)/(scale ^ shape))?< / p>

1 个答案:

答案 0 :(得分:0)

不,它会更改函数搜索最佳参数值的范围。分布仍然是(来自?dweibull):

  

f(x)=(a / b)(x / b)^(a-1)exp( - (x / b)^ a)

像往常一样,解决这个问题的最佳方法之一是进行实验。模拟一些数据并适合:

set.seed(101)
library(MASS)
z <- rweibull(1000,shape=2,scale=5)
fitdistr(z,"weibull")             
##     shape        scale   
##   1.99894352   5.06797419 
##  (0.04950087) (0.08437483)

现在设置一个下限,但是非绑定 - 即估计的参数都高于下限:

fitdistr(z,"weibull",lower=c(1,4))
##     shape        scale   
##  1.99894311   5.06797394 
## (0.04950086) (0.08437484)

答案实际上完全相同。

现在为其中一个参数设置绑定下限:

fitdistr(z,"weibull",lower=c(2.5,4))
##      shape        scale   
##  2.50000000   5.32522699 
## (0.05815129) (0.07329413)

好像您可能正在寻找截断的Weibull 分布:

library("sos")
findFn("{truncated weibull}")