library("maxLik")
Задача. Величины \(X_1\), \(X_2\), , \(X_n\) независимы и имеют функцию плотности \(f(x)=\theta x^{\theta-1}\) при \(x\in [0;1]\). По 200 наблюдениям оказалось, что \(\sum \ln x_i=-220\).
Оцените параметр \(\theta\) методом максимального правдоподобия, проверьте \(H_0\): \(\theta=1\) с помощью трёх тестов.
Функция правдподобия равна \[ \ell(\theta)=200\ln \theta + (\theta-1)\cdot (-220) \]
Задаём функцию правдоподобия в R:
ell <- function(theta) {
ans <- 200*log(theta) +
(theta-1)*(-220)
return(ans)
}
Пробуем функцию в нескольких точках
ell(0)
## [1] -Inf
ell(5)
## [1] -558.1124
Оцениваем модель:
report <- maxLik(logLik = ell, start = 1)
summary(report)
## --------------------------------------------
## Maximum Likelihood estimation
## Newton-Raphson maximisation, 4 iterations
## Return code 1: gradient close to zero
## Log-Likelihood: 0.937964
## 1 free parameters
## Estimates:
## Estimate Std. error t value Pr(> t)
## [1,] 0.90909 0.06428 14.14 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## --------------------------------------------
В этой задаче экстремум можно найти руками без R
10/11
## [1] 0.9090909
Проверяем гипотезу \(H_0\): \(\theta=1\) с помощью LR-теста:
LR <- 2*(ell(10/11)-ell(1))
LR
## [1] 1.875928
Критическое значение равно:
qchisq(0.95, df=1)
## [1] 3.841459
Вывод: \(H_0\) не отвергается
Тест Вальда:
info <- summary(report)
se <- info$estimate[1,2]
(10/11-1)^2/se^2
## Std. error
## 1.999972
Первая и вторая производные правдоподобия в точке \(\theta=1\) для LM-теста:
lp <- numericGradient(f=ell, t0 = 1)
lpp <- numericHessian(f=ell, t0 = 1)
lp
## [,1]
## [1,] -20
lpp
## [,1]
## [1,] -199.9996
LM-статистика:
lp^2/(-lpp)
## [,1]
## [1,] 2.000004