Оценка параметров настраиваемого распределения для MLE с использованием R
Я хочу оценить параметры моего пользовательского дистрибутива, используя mle (stats4). для этого кода R
library(stats4)
data=rweibull(1000, shape=5, scale = 1.5)
rn=data
n=length(rn)
r=max(rn)+0.05
ll= function(b,d){-(sum(log(r-rn)+n*log(d)-n*log(gamma(1+1/d)))-2*n*log(b)
+ (d-1)*sum(r-rn)-n*(d-1)*log(b)-sum((r-rn)^d)/(b^d))
}
fit <- mle(ll, start = list(b=2,d=1.5), nobs = NROW(rn), method = "L-BFGS-B", lower = 1, upper = 100)
fit
и вывод приходит
Call:
mle(minuslogl = ll, start = list(b = 2, d = 1.5), method = "L-BFGS-B",
nobs = NROW(rn), lower = 1, upper = 20)
Coefficients:
b d
1.447694 20.000000
Теперь проблема в том, что оценки b изменяются по мере того, как данные (случайное число) изменяются каждый раз, но оценки для d остаются постоянными и дают то же значение, которое я установил в качестве верхнего предела для L-BFGS-B. Пожалуйста, помогите в этом отношении