/* EXAMPLE TO DISPLAY LEAST SQUARES ESTIMATION TECHNIQUE */ /* Load in Data */ load path = c:\gauss\classes\econ5340\; load xydata[52,2] = crime.dat; data = xydata[2:52,.]; /* Calculate Values for Normal Equations */ nobs = 51; x = data[.,1]; y = data[.,2]; meanx = meanc(x); meany = meanc(y); /* Calculating a and b -- Method #1: Using Univariate Formulae */ demeanxy = (y - meany) .* (x - meanx); demeanx = x - meanx; b2 = sumc(demeanxy)/sumc(demeanx^2); a2 = meany - b2*meanx; print "a = " a2; print "b = " b2; /* Calculating a and b -- Method #2: Using Matrix Formula */ constant = ones(51,1); xmat = constant~x; b = inv(xmat' * xmat)*(xmat' * y); print " "; print "b vector = " b; /* Predicted Values */ yhat = xmat*b; /* Graphs */ library pgraph; graphset; title("Regression of Prison Population on Violent Crimes"); ylabel("Prisoners/10 thousand people"); xlabel("Violent Crimes/100 thousand people"); _plctrl = -1~0; xy(x,y~yhat);