# spreg.vif¶

spreg.vif(reg)[source]

Calculates the variance inflation factor for each independent variable. For the ease of indexing the results, the constant is currently included. This should be omitted when reporting the results to the output text. [Gre03]

Parameters
regregression object

output instance from a regression model

Returns
vif_resultlist of tuples

each tuple includes the vif and the tolerance, the order of the variables corresponds to their order in the reg.x matrix

Examples

>>> import numpy as np
>>> import libpysal
>>> from libpysal import examples
>>> import spreg
>>> from spreg import OLS


Read the DBF associated with the Columbus data.

>>> db = libpysal.io.open(examples.get_path("columbus.dbf"),"r")


Create the dependent variable vector.

>>> y = np.array(db.by_col("CRIME"))
>>> y = np.reshape(y, (49,1))


Create the matrix of independent variables.

>>> X = []
>>> X.append(db.by_col("INC"))
>>> X.append(db.by_col("HOVAL"))
>>> X = np.array(X).T


Run an OLS regression.

>>> reg = OLS(y,X)


Calculate the variance inflation factor (VIF). >>> testresult = spreg.vif(reg)

Select the tuple for the income variable.

>>> incvif = testresult[1]


Print the VIF for income.

>>> print("%12.12f"%incvif[0])
1.333117497189


Print the tolerance for income.

>>> print("%12.12f"%incvif[1])
0.750121427487


Repeat for the home value variable.

>>> hovalvif = testresult[2]
>>> print("%12.12f"%hovalvif[0])
1.333117497189
>>> print("%12.12f"%hovalvif[1])
0.750121427487