MLE экспоненциального распределения в R
60
5
Если мы будем генерировать случайный вектор из экспоненциального распределения:
exp.seq = rexp(1000, rate=0.10) # mean = 10
Теперь мы хотим использовать ранее сгенерированный вектор exp.seq
для переоценки лямбда
Таким образом, мы определяем функцию логарифмического правдоподобия:
fn <- function(lambda){
length(exp.seq)*log(lambda)-lambda*sum(exp.seq)
}
Теперь optim
или nlm
Я получаю совсем другое значение для лямбда:
optim(lambda, fn) # I get here 3.877233e-67
nlm(fn, lambda) # I get here 9e-07
Я использовал тот же метод для нормального распределения, и он отлично работает. Итак, где же ошибка?
Я использую свое собственное определение для экспоненциального распределения, потому что мне нужно будет изменить его позже.
спросил(а)
2017-03-01T19:50:00+03:00
3 года, 12 месяцев назад
добавить комментарий
пожаловаться
Ваш ответ