anova | R Documentation |

Performs a Likelihood Ratio Test between two nested IRT models.

## S3 method for class 'gpcm' anova(object, object2, simulate.p.value = FALSE, B = 200, verbose = getOption("verbose"), seed = NULL, ...) ## S3 method for class 'grm' anova(object, object2, ...) ## S3 method for class 'ltm' anova(object, object2, ...) ## S3 method for class 'rasch' anova(object, object2, ...) ## S3 method for class 'tpm' anova(object, object2, ...)

`object` |
an object inheriting from either class |

`object2` |
an object inheriting from either class |

`simulate.p.value` |
logical; if |

`B` |
the number of Bootstrap samples. |

`verbose` |
logical; if |

`seed` |
the seed to be used during the parametric Bootstrap; if |

`...` |
additional arguments; currently none is used. |

`anova.gpcm()`

also includes the option to estimate the *p*-value of the LRT using a parametric Bootstrap approach.
In particular, `B`

data sets are simulated under the null hypothesis (i.e., under the generalized partial credit model
`object`

), and both the null and alternative models are fitted and the value of LRT is computed. Then the *p*-value is
approximate using *[1 + {\# T_i > T_{obs}}]/(B + 1),* where *T_{obs}*
is the value of the likelihood ratio statistic in the original data set, and *T_i* the value of the statistic in the *i*th
Bootstrap sample.

In addition, when `simulate.p.value = TRUE`

objects of class `aov.gpcm`

have a method for the `plot()`

generic function
that produces a QQ plot comparing the Bootstrap sample of likelihood ration statistic with the asymptotic chi-squared distribution. For instance,
you can use something like the following: `lrt <- anova(obj1, obj2, simulate.p.value = TRUE); plot(lrt)`

.

An object of either class `aov.gpcm`

, `aov.grm`

, class `aov.ltm`

or class `aov.rasch`

with components,

`nam0` |
the name of |

`L0` |
the log-likelihood under the null hypothesis ( |

`nb0` |
the number of parameter in |

`aic0` |
the AIC value for the model given by |

`bic0` |
the BIC value for the model given by |

`nam1` |
the name of |

`L1` |
the log-likelihood under the alternative hypothesis ( |

`nb1` |
the number of parameter in |

`aic1` |
the AIC value for the model given by |

`bic1` |
the BIC value for the model given by |

`LRT` |
the value of the Likelihood Ratio Test statistic. |

`df` |
the degrees of freedom for the test (i.e., the difference in the number of parameters). |

`p.value` |
the |

The code does not check if the models are nested! The user is responsible to supply nested models in order the LRT to be valid.

When `object2`

represents a three parameter model, note that the
null hypothesis in on the boundary of the parameter space for the guessing parameters. Thus, the Chi-squared reference
distribution used by these function might not be totally appropriate.

Dimitris Rizopoulos d.rizopoulos@erasmusmc.nl

`GoF.gpcm`

,
`GoF.rasch`

,
`gpcm`

,
`grm`

,
`ltm`

,
`rasch`

,
`tpm`

## LRT between the constrained and unconstrained GRMs ## for the Science data: fit0 <- grm(Science[c(1,3,4,7)], constrained = TRUE) fit1 <- grm(Science[c(1,3,4,7)]) anova(fit0, fit1) ## LRT between the one- and two-factor models ## for the WIRS data: anova(ltm(WIRS ~ z1), ltm(WIRS ~ z1 + z2)) ## An LRT between the Rasch and a constrained ## two-parameter logistic model for the WIRS data: fit0 <- rasch(WIRS) fit1 <- ltm(WIRS ~ z1, constraint = cbind(c(1, 3, 5), 2, 1)) anova(fit0, fit1) ## An LRT between the constrained (discrimination ## parameter equals 1) and the unconstrained Rasch ## model for the LSAT data: fit0 <- rasch(LSAT, constraint = rbind(c(6, 1))) fit1 <- rasch(LSAT) anova(fit0, fit1) ## An LRT between the Rasch and the two-parameter ## logistic model for the LSAT data: anova(rasch(LSAT), ltm(LSAT ~ z1))

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.