Как я могу получить 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 также не может быть вычислена.