# colldiag: Condition indexes and variance decomposition proportions In perturb: Tools for evaluating collinearity

## Description

Calculates condition indexes and variance decomposition proportions in order to test for collinearity among the independent variables of a regression model and identifies the sources of collinearity if present

## Usage

 ```1 2 3 4``` ```colldiag(mod, scale = TRUE, center = FALSE, add.intercept = TRUE) ## S3 method for class 'colldiag' print(x,dec.places=3,fuzz=NULL,fuzzchar=".",...) ```

## Arguments

 `mod` A model object or data-frame `scale` If FALSE, the data are left unscaled. Default is TRUE `center` If TRUE, data are centered. Default is FALSE `add.intercept` if TRUE, an intercept is added. Default is TRUE `x` A `colldiag` object `dec.places` number of decimal places to use when printing `fuzz` variance decomposition proportions less than fuzz are printed as fuzzchar `fuzzchar` character for small variance decomposition proportion values `...` arguments to be passed on to or from other methods

## Details

`Colldiag` is an implementation of the regression collinearity diagnostic procedures found in Belsley, Kuh, and Welsch (1980). These procedures examine the “conditioning” of the matrix of independent variables.

`Colldiag` computes the condition indexes of the matrix. If the largest condition index (the condition number) is large (Belsley et al suggest 30 or higher), then there may be collinearity problems. All large condition indexes may be worth investigating.

`Colldiag` also provides further information that may help to identify the source of these problems, the variance decomposition proportions associated with each condition index. If a large condition index is associated two or more variables with large variance decomposition proportions, these variables may be causing collinearity problems. Belsley et al suggest that a large proportion is 50 percent or more.

## Value

A colldiag object

 `condindx` A vector of condition indexes `pi` A matrix of variance decomposition proportions

`print.colldiag` prints the condition indexes as the first column of a table with the variance decomposition proportions beside them. `print.colldiag` has a `fuzz` option to suppress printing of small numbers. If fuzz is used, small values are replaces by a period “.”. `Fuzzchar` can be used to specify an alternative character.

## Note

Colldiag is based on the Stata program `coldiag` by Joseph Harkness [email protected], Johns Hopkins University.

## Author(s)

John Hendrickx [email protected]

## References

D. Belsley, E. Kuh, and R. Welsch (1980). Regression Diagnostics. Wiley.

Belsley, D.A. (1991). Conditioning diagnostics, collinearity and weak data in regression. New York: John Wiley & Sons.

`lm`, `scale`, `svd`, `[car]``vif`, `[rms]``vif`, `perturb`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43``` ```# Belsley (1991). "Conditioning Diagnostics" # The Consumption Function (pp. 149-154) data(consumption) ct1 <- with(consumption, c(NA,cons[-length(cons)])) # compare (5.3) m1 <- lm(cons ~ ct1+dpi+rate+d_dpi, data = consumption) anova(m1) summary(m1) # compare exhibit 5.11 with(consumption, cor(cbind(ct1, dpi, rate, d_dpi), use="complete.obs")) # compare exhibit 5.12 cd<-colldiag(m1) cd print(cd,fuzz=.3) ## Not run: # Example of reading UCLA data files from # http://www.ats.ucla.edu/stat/r/dae/rreg.htm library(foreign) elemapi <- read.dta("http://www.ats.ucla.edu/stat/data/elemapi2.dta") attach(elemapi) # Example of SAS collinearity diagnostics from # http://www.ats.ucla.edu/stat/sas/webbooks/reg/chapter2/sasreg2.htm # 2.4 Tests for Collinearity m2 <- lm(api00 ~ acs_k3+avg_ed+grad_sch+col_grad+some_col) summary(m2) library(car) vif(m2) library(perturb) cd2<-colldiag(m2,add.intercept=FALSE,center=TRUE) print(cd2,dec.places=5) # Same data, SPSS example at # http://www.ats.ucla.edu/stat/spss/webbooks/reg/chapter2/spssreg2.htm colldiag(m2,add.intercept=TRUE) ## End(Not run) ```