Оценщик максимального правдоподобия для гамма-плотности в R

Я только что смоделировал 100 случайных наблюдений из гамма-плотности с альфа (параметр формы)=5 и лямбда (параметр скорости)=5:

x=rgamma(100,shape=5,rate=5)

Теперь я хочу вычислить оценки максимального правдоподобия альфа и лямбда с помощью функции, которая возвращает оба параметра и использует эти наблюдения.

Любые советы будут оценены. Спасибо.

1 ответ

Решение

Ты можешь использовать fitdistr(...) для этого в MASS пакет.

set.seed(1)   # for reproducible example
x <- rgamma(100,shape=5,rate=5)

library(MASS)
fitdistr(x, "gamma", start=list(shape=1, rate=1))$estimate
#    shape     rate 
# 6.603328 6.697338 

Обратите внимание, что с такой небольшой выборкой вы не получите хороших оценок.

x <- rgamma(10000,shape=5,rate=5)
library(MASS)    # may be loaded by default
fitdistr(x, "gamma", start=list(shape=1, rate=1))$estimate
#    shape     rate 
# 4.984220 4.971021 

fitdistr(...) также возвращает стандартную ошибку оценок и логарифмическую вероятность.

Другие вопросы по тегам