MyNixOS website logo
Description

Comprehensive Diagnostics for Statistical Models.

Provides a unified framework for diagnosing common issues in statistical models including linear models, generalized linear models (logistic and Poisson regression), and survival models. Implements tests for multicollinearity, heteroscedasticity, autocorrelation, normality, influential observations, overdispersion, zero-inflation, and proportional hazards assumptions. Includes visualization methods for graphical diagnostics. Methods are based on established approaches including Fox and Monette (1992) <doi:10.1080/01621459.1992.10475190>, Breusch and Pagan (1979) <doi:10.2307/1911963>, and Dean and Lawless (1989) <doi:10.1080/01621459.1989.10478792>.

modeldiag

R-CMD-check CRAN status

The goal of modeldiag is to provide comprehensive diagnostic checks for statistical models including linear models, generalized linear models, and survival models.

Installation

You can install the development version of modeldiag from GitHub with:

# install.packages("devtools")
devtools::install_github("Teniola17/modeldiag")

Example

This is a basic example which shows you how to diagnose a linear model:

library(modeldiag)

# Fit a linear model
model <- lm(mpg ~ wt + hp + disp, data = mtcars)

# Run diagnostics
diagnostics <- diagnose_model(model)

# View summary
summary(diagnostics)

# Plot diagnostics
plot(diagnostics)

Supported Models

The package currently supports:

  • Linear models (lm): Tests for multicollinearity, heteroscedasticity, autocorrelation, normality, and outliers
  • Generalized linear models (glm):
    • Binomial family: Tests for linearity of logit, goodness of fit, influential observations, and separation
    • Poisson family: Tests for overdispersion, zero-inflation, and residual analysis
  • Cox proportional hazards models (coxph): Tests for proportional hazards assumption, influential observations, and functional form

Features

Diagnostic Tests

Each model type has specific diagnostic tests:

Linear Models

  • Variance Inflation Factor (VIF) for multicollinearity
  • Breusch-Pagan test for heteroscedasticity
  • Durbin-Watson test for autocorrelation
  • Shapiro-Wilk test for normality of residuals
  • Cook's distance for influential observations

Logistic Regression

  • VIF for multicollinearity
  • Box-Tidwell test for linearity of logit
  • Hosmer-Lemeshow test for goodness of fit
  • Complete/quasi-complete separation detection
  • Cook's distance for influential observations

Poisson Regression

  • VIF for multicollinearity
  • Overdispersion test
  • Zero-inflation test
  • Residual analysis
  • Cook's distance for influential observations

Cox Models

  • VIF for multicollinearity (with warnings)
  • Schoenfeld residuals test for proportional hazards
  • dfbetas for influential observations
  • Guidance for functional form assessment

Visualization

The plot() method provides model-specific diagnostic plots:

  • Residuals vs Fitted values
  • Q-Q plots
  • Scale-Location plots
  • Cook's distance plots
  • ACF plots for time series residuals (linear models)
  • Schoenfeld residual plots (Cox models)
  • dfbeta plots (Cox models)
  • Martingale residual plots (Cox models)

Getting Help

If you encounter a bug, please file an issue with a minimal reproducible example on GitHub.# modeldiag

Metadata

Version

0.1.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows