1

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

> 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,但它甚至不存在。

我找到的最接近的函数是AICrrvglmor AICvgam,两者都不起作用。

4

1 回答 1

2

问题似乎是logLik.vlm(myfit)返回NULL。在 的细节中?logLik.vlm,它指出

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

在您的情况下,未计算对数似然:它记录在 ?"vglmff-class" 关于对数似然:

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

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

于 2014-07-25T14:03:55.413 回答