% EXAMPLE TO DISPLAY LEAST SQUARES ESTIMATION TECHNIQUE % Load in Data clc; n = 51; M = importdata('matlabex10data.txt','\t',1); data = M.data; n = size(data,1); % Name Variables year = data(:,1); undergrads = data(:,2); oilprice = data(:,3); seniors = data(:,4); % Calculate Values for Normal Equations y = undergrads; x = oilprice; meanx = mean(x); meany = mean(y); % Calculating a & b -- Method #1: Using Univariate Formulae demeanxy = (y - meany) .* (x - meanx); demeanx = x - meanx; b2 = sum(demeanxy)/sum(demeanx.^2); a2 = meany - b2*meanx; disp(['a = ' num2str(a2)]); disp(['b = ' num2str(b2)]); % Calculating a & b -- Method #2: Using Matrix Formula constant = ones(n,1); xmat = [constant,x]; b = inv(xmat' * xmat)*(xmat' * y); disp(' '); disp('b vector = '); disp(b); % Predicted Values yhat = xmat*b; % Graphs scatter(x,y); hold on; line(x,yhat); title('Regression of UW Resident Enrollment on the Price of Oil'); ylabel('UW resident undergraduate enrollment'); xlabel('Price of oil');