/* ** Lesson 5.3: Variance Inflation Factors (VIF) */ use gpe2; output file = gpe\output5.3 reset; load data[17,7] = gpe\longley.txt; data = data[2:17,.]; year = data[.,1]; pgnp = data[.,2]; gnp = data[.,3]; af = data[.,5]; em = data[.,7]; call reset; print "Aux Regression 1: YEAR = PGNP GNP AF"; y = year; x = pgnp~gnp~af; _names = {"year","pgnp","gnp","af"}; call estimate(y,x); r2x1 = __r2; print "Aux Regression 2: PGNP = YEAR GNP AF"; y = pgnp; x = year~gnp~af; _names = {"pgnp","year","gnp","af"}; call estimate(y,x); r2x2 = __r2; print "Aux Regression 3: GNP = YEAR PGNP AF"; y = gnp; x = year~pgnp~af; _names = {"gnp","year","pgnp","af"}; call estimate(y,x); r2x3 = __r2; print "Aux Regression 4: AF = YEAR GNP PGNP"; y = af; x = year~gnp~pgnp; _names = {"af","year","gnp","pgnp"}; call estimate(y,x); r2x4 = __r2; r2=r2x1|r2x2|r2x3|r2x4; print "Variance Inflation Factors:"; print " Model R-Square VIF";; print seqa(1,1,4)~r2~(1/(1-r2)); end;