anova.lax: Comparison of nested models

anova.laxR Documentation

Comparison of nested models

Description

anova method for objects of class "lax". Compares two or more nested models using the adjusted likelihood ratio test statistic (ALRTS) described in Section 3.5 of Chandler and Bate (2007). The nesting must result from the simple constraint that a subset of the parameters of the larger model is held fixed.

Usage

## S3 method for class 'lax'
anova(object, object2, ...)

Arguments

object

An object of class "lax", inheriting from class "chandwich", returned by alogLik.

object2

An object of class "lax", inheriting from class "chandwich", returned by alogLik.

...

Further objects of class "lax" and/or arguments to be passed to anova.chandwich, and then on to compare_models, in particular type, which chooses the type of adjustment.

Details

The objects of class "lax" need not be provided in nested order: they will be ordered inside anova.lax based on the values of attr(., "p_current").

Value

An object of class "anova" inheriting from class "data.frame", with four columns:

Model.Df

The number of parameters in the model

Df

The decrease in the number of parameter compared the model in the previous row

ALRTS

The adjusted likelihood ratio test statistic

Pr(>ALRTS)

The p-value associated with the test that the model is a valid simplification of the model in the previous row.

The row names are the names of the model objects.

References

Chandler, R. E. and Bate, S. (2007). Inference for clustered data using the independence loglikelihood. Biometrika, 94(1), 167-183. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/biomet/asm015")}

See Also

anova.chandwich: the anova method on which anova.lax is based.

alogLik: loglikelihood adjustment for model fits.

Examples

got_evd <- requireNamespace("evd", quietly = TRUE)
if (got_evd) {
  library(evd)
  small <- fgev(ow$temp, nsloc = ow[, "loc"])
  adj_small <- alogLik(small, cluster = ow$year)
  tiny <- fgev(ow$temp)
  adj_tiny <- alogLik(tiny, cluster = ow$year)
  anova(adj_small, adj_tiny)

  set.seed(4082019)
  uvdata <- evd::rgev(100, loc = 0.13, scale = 1.1, shape = 0.2)
  M0 <- fgev(uvdata)
  M1 <- fgev(uvdata, nsloc = (-49:50)/100)
  adj0 <- alogLik(M0)
  adj1 <- alogLik(M1)
  anova(adj1, adj0)
}

got_texmex <- requireNamespace("texmex", quietly = TRUE)
if (got_texmex) {
  library(texmex)
  large <- evm(temp, ow, gev, mu = ~ loc, phi = ~ loc, xi = ~loc)
  medium <- evm(temp, ow, gev, mu = ~ loc, phi = ~ loc)
  small <- evm(temp, ow, gev, mu = ~ loc)
  tiny <- evm(temp, ow, gev)
  adj_large<- alogLik(large, cluster = ow$year)
  adj_medium <- alogLik(medium, cluster = ow$year)
  adj_small <- alogLik(small, cluster = ow$year)
  adj_tiny <- alogLik(tiny, cluster = ow$year)
  anova(adj_large, adj_medium, adj_small, adj_tiny)
}

lax documentation built on Sept. 3, 2023, 1:07 a.m.