Оценщик максимального правдоподобия для гамма-плотности в 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(...)
также возвращает стандартную ошибку оценок и логарифмическую вероятность.