如何获得符合vglm的logLik或AIC

时间:2014-07-25 13:33:10

标签: r vgam

我无法通过常规方法获得它们。

> 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"

Here它引用AIC.vglm,但这甚至不存在。

我找到的最接近的功能是AICrrvglmAICvgam,但都不起作用。

1 个答案:

答案 0 :(得分:2)

问题似乎是logLik.vlm(myfit)返回NULL。在?logLik.vlm的详细信息中,它声明了

  

此代码依赖于定义和计算的对数似然,   对象。

在你的情况下,不计算对数似然性:在“vglmff-class”中记录了关于logligelihood:

  

loglikelihood:返回log-likelihood的类“function”的对象   该模型。此插槽是可选的。如果存在,该功能必须   有参数函数(mu,y,w,residuals = FALSE,eta,extra =   空值)。可以忽略参数残差,因为对数似然   残差未定义。

显然gammaff不包含此可选插槽,因此未计算对数似然,因此也无法计算AIC。