为考试方便,用matlab写了个简单线性回归的整套过程,包括所有参数检验和估计。意义不是很大,因为这些用SPSS等统计软件可以很快得出,但统计软件毕竟是黑箱,对原理感兴趣或熟悉的可以看看代码(其实就是写着玩的,确实没多大用)。下附代码:
clear
clc
load simple_regression;
n=length(y);
x=x';
y=y';
% regression function
X=[ones(size(y)),x];
[b,bint] = regress(y,X);
a=b(1,1); % intercept_hat
b=b(2,1); % slope_hat
disp('regression function:');
disp(['y_hat=',num2str(a),'+',num2str(b),'*x']);
y_hat=a*X(:,1)+b*X(:,2);
Y_bar=mean(y);
SSR=0;
for i=1:n
SSR=SSR+(y_hat(i,1)-Y_bar)^2;
end
disp(['SSR=',num2str(SSR)]);
SSE=0;
for i=1:n
SSE=SSE+(y_hat(i,1)-y(i,1))^2;
end
disp(['SSE