进行多元线性回归统计数F, t 测验的小程序:
clear,clc
x=rand(50,10);y=rand(50,1); % example
[n,k]=size(x);
X=[ones(n,1),x];%构建结构阵X,
A=X'*X; %求算信息阵A,
C=inv(A); %求算信息阵的逆阵,
b=X\y, % 求算回归统计数向量,其中第一行为回归截距a,
RSS=y'*y-b'*X'*y, %求算离回归平方和,
MSe=RSS/(n-k-1),%求算离回归方差,
Up=b.*b./diag(C);%求算偏回归平方和,其中第一行是a与0差异的偏平方和,
F=Up/MSe,%F测验,其中第一行为a与0差异的F值,
sb=sqrt(MSe*diag(C)); %求算回归统计数标准误,
t=b./sb, % 回归统计数的 t 测验,其中第一行为a与0差异的t测验值。
[t, t.^2, F],%验证t^2=F
SSy=var(y)*(n-1)
R2=(SSy-RSS)/SSy
顺便说一下,你的ttest(x,m)的 t 测验指的是单个样本(平均数)与 m 之间差异显著性的 t 测验,而非多元线性回归系数的 t 测验。
spss直接输出结果的