Как я могу получить logLik или AIC VGLM подходят

Я не мог получить их обычными методами.

> x <- rnorm(1000, 10, 1)
> y <-rgamma(1000, shape=1, rate=x)
> myfit <- vglm(y~x, family=gammaff(link="reciprocal"))
> summary(myfit)

Call:
vglm(formula = y ~ x, family = gammaff(link = "reciprocal"))

Pearson residuals:
         Min     1Q  Median      3Q     Max
1/mu -6.4126 -0.404 0.32118 0.69281 0.99917

Coefficients:
            Estimate Std. Error  z value
(Intercept) 0.050464     2.9415 0.017156
x           0.987358     0.2974 3.320015

Number of linear predictors:  1 

Name of linear predictor: 1/mu 

(Estimated) Dispersion Parameter for gammaff family:   0.96865

Residual deviance: 1106.494 on 998 degrees of freedom

Number of iterations: 6 
> AIC(myfit)
numeric(0)

> showMethods("AIC")
Function: AIC (package stats)
object="ANY"
object="cao"
object="qrrvglm"
object="rrvglm"
object="vgam"
object="vglm"
object="vlm"

Здесь это относится к AIC.vglm, но этого даже не существует.

Ближайшая функция, которую я нашел, AICrrvglm или же AICvgamни то, ни другое не работает.

1 ответ

Кажется, проблема в том, что logLik.vlm(myfit) возвращается NULL, В деталях ?logLik.vlm, говорится, что

этот код опирается на лог-вероятность, определенную и вычисленную для объекта.

В вашем случае лог-правдоподобие не вычисляется: оно задокументировано в?"Vglmff-class" о лог-правдоподобии:

loglikelihood: объект класса "function", возвращающий лог-правдоподобие модели. Этот слот не является обязательным. Если присутствует, функция должна иметь функцию аргументов (mu, y, w, residuals = FALSE, eta, extra = NULL). Остатки аргумента могут быть проигнорированы, потому что остатки логарифмического правдоподобия не определены.

По-видимому gammaff не содержит этот необязательный интервал и, следовательно, логарифмическое правдоподобие не было вычислено, поэтому AIC также не может быть вычислена.

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