R: Compare two nested models using D3-statistic

D3 {mice} | R Documentation

## Compare two nested models using D3-statistic

### Description

The D3-statistic is a likelihood-ratio test statistic.

### Usage

    D3(fit1, fit0 = NULL, dfcom = NULL, df.com = NULL)

### Arguments

`fit1` | An object of class `mira`, produced by `with()`.
`fit0` | An object of class `mira`, produced by `with()`. The model in `fit0` is a nested within `fit1`. The default null model `fit0 = NULL` compares `fit1` to the intercept-only model.
`dfcom` | A single number denoting the complete-data degrees of freedom of model `fit1`. If not specified, it is set equal to `df.residual` of model `fit1`. If that cannot be done, the procedure assumes (perhaps incorrectly) a large sample.
`df.com` | Deprecated

### Details

The `D3()` function implement the LR-method by Meng and Rubin (1992). The implementation of the method relies on the `broom` package, the standard `update` mechanism for statistical models in `R` and the `offset` function.

The function calculates `m` repetitions of the full (or null) models, calculates the mean of the estimates of the (fixed) parameter coefficients β. For each imputed imputed dataset, it calculates the likelihood for the model with the parameters constrained to β.

The `mitml::testModels()` function offers similar functionality for a subset of statistical models. Results of `mice::D3()` and `mitml::testModels()` differ in multilevel models because the `testModels()` also constrains the variance components parameters. For more details on

### Value

An object of class `mice.anova`

### References

Meng, X. L., and D. B. Rubin. 1992. Performing Likelihood Ratio Tests with Multiply-Imputed Data Sets. Biometrika, 79 (1): 103–11.

https://stefvanbuuren.name/fimd/sec-multiparameter.html#sec:likelihoodratio

http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#setting-residual-variances-to-a-fixed-value-zero-or-other

### See Also

`fix.coef`

### Examples

    # Compare two linear models:
    imp <- mice(nhanes2, seed = 51009, print = FALSE)
    mi1 <- with(data = imp, expr = lm(bmi ~ age + hyp + chl))
    mi0 <- with(data = imp, expr = lm(bmi ~ age + hyp))
    D3(mi1, mi0)

    # Compare two logistic regression models
    imp <- mice(boys, maxit = 2, print = FALSE)
    fit1 <- with(imp, glm(gen > levels(gen)[1] ~ hgt + hc + reg, family = binomial))
    fit0 <- with(imp, glm(gen > levels(gen)[1] ~ hgt + hc, family = binomial))
    D3(fit1, fit0)

[Package mice version 3.14.0 Index]