GAIC and Generalised (Pseudo) R-squared for GAMLSS Models

Description

Functions to compute the GAIC and the generalised R-squared of Nagelkerke (1991) for GAMLSS models.

Usage

## Information criteria.
GAIC(object, ...,
  k = 2, corrected = FALSE)

## R-squared.
Rsq(object, ...,
  type = c("Cox Snell", "Cragg Uhler", "both", "simple"),
  newdata = NULL)

Arguments

object A fitted model object
Optionally more fitted model objects.
k Numeric, the penalty to be used. The default k = 2 corresponds to the classical AIC.
corrected Logical, whether the corrected AIC should be used? Note that it applies only when k = 2.
type Which definition of R squared. Can be the “Cox Snell” or the Nagelkerke, “Cragg Uhler” or “both”, or “simple”, which computes the R-squared based on the median. In this case also newdata may be supplied.
newdata Only for type = “simple”, the R-squared can be evaluated using newdata.

Details

The Rsq() function uses the definition for R-squared:

\(R^2=1- \left(\frac{L(0)}{L(\hat{\theta})}\right)^{2/n}\)

where \(L(0)\) is the null model (only a constant is fitted to all parameters) and \(L(\hat{\theta})\) is the current fitted model. This definition sometimes is referred to as the Cox & Snell R-squared. The Nagelkerke /Cragg & Uhler’s definition divides the above by

\(1 - L(0)^{2/n}\)

Note that GAIC() function is fully represented by the AIC and BIC functions. We only included GAIC() because of the previous package so users who relied on this function would still have the option.

Value

Numeric vector or data frame, depending on the number of fitted model objects.

References

Nagelkerke NJD (1991). “A Note on a General Definition of the Coefficient of Determination.” Biometrika, 78(3), 691–692. doi:10.1093/biomet/78.3.691

See Also

gamlss2

Examples

library("gamlss2")


## load the aids data set
data("aids", package = "gamlss.data")

## estimate negative binomial count models
b1 <- gamlss2(y ~ x + qrt, data = aids, family = NBI)
GAMLSS-RS iteration  1: Global Deviance = 492.7033 eps = 0.148555     
GAMLSS-RS iteration  2: Global Deviance = 492.6374 eps = 0.000133     
GAMLSS-RS iteration  3: Global Deviance = 492.6373 eps = 0.000000     
b2 <- gamlss2(y ~ s(x) + s(qrt, bs = "re"), data = aids, family = NBI)
GAMLSS-RS iteration  1: Global Deviance = 408.2379 eps = 0.294520     
GAMLSS-RS iteration  2: Global Deviance = 377.3934 eps = 0.075555     
GAMLSS-RS iteration  3: Global Deviance = 374.3484 eps = 0.008068     
GAMLSS-RS iteration  4: Global Deviance = 374.1042 eps = 0.000652     
GAMLSS-RS iteration  5: Global Deviance = 374.1005 eps = 0.000009     
## compare models
Rsq(b1)
[1] 0.8095853
Rsq(b1, type = "both")
$CoxSnell
[1] 0.8095853

$CraggUhler
[1] 0.809588
Rsq(b1, b2)
       b1        b2 
0.8095853 0.9863321 
GAIC(b1, b2)
        AIC       df
b2 398.7415 12.32052
b1 504.6373  6.00000
AIC(b1, b2)
        AIC       df
b2 398.7415 12.32052
b1 504.6373  6.00000
BIC(b1, b2)
        BIC       df
b2 421.0005 12.32052
b1 515.4773  6.00000