沒事的人別看
-
LAI
- 高級玩家

- 文章: 923
- 註冊時間: 週二 7月 03, 2001 8:00 am
function b=mregg(Xd,con,ar,lab)
if con==0
cst=0;
else
cst=1;
end
[p1,n]=size(Xd);p=p1-1;pc=p+cst;
y=Xd(p1,:)';
if cst==1
w=ones(n,1);
X=[w Xd(1:p,:)'];
else
X=Xd(1:p,:)';
end
a=zeros(pc,15)
if nargin==3
if cst==1
a(1,:)='Constant :';
end
for i=1+cst:pc
a(i,:)=strcat('Parameter',num2str(i-cst,2),' :');
end
else
if cst==1
a=['Constant ';lab]
else
a=lab;
end
end
C=inv(X'*X);
b=C*X'*y;
H=X*C*X'
SSE=y'*(eye(n)-H)*y;
s_sqd=SSE/(n-pc);
Z=(1/n)*ones(n);
num=y'*(eye(n)-Z)*y;
R_sqd=num/denom;
Cov=s_sqd*C;
SE=sqrt(diag(Cov));
t=b./SE;
V(:,j+1)=(eye(n)-Z)*y;
for j=1:p
v(:,j+1)=(eye(n)-Z)*X(:,j+cst);
end
SS=V'*V;
D=zeros(p+1,p+1);
for j=1:p+1
D(j,j)=1/sqrt(SS(j,j));
end
Corr_mtrx=D*SS*D;
for j=1+cst:pc
ym=X(:,j);
if cst==1
Xm=X(:,[1 2:j-1,j+1:p+1]);
else
Xm=X(:,[1:j-1,j+1:p]);
end
Cm=inv(Xm'*Xm);
Hm=Xm*Cm*Xm';
num=ym'*(Hm-Z)*ym;
denom=ym'*(eye(n)-Z)*ym;
R_sqr(j-cst)=num/denom;
end
VIF=1./(1-R_sqr);
if cst==1
fprintf('nError variance = %8.4f R_squared = %6.4f',s_sqd,R_sqd)
fprintf('n')
fprintf('n coeff SE t-ratio VIF')
else
fprintf('nError variance = %8.4f',s_sqd)
fprintf('n')
fprintf('n coeff SE t-ratio')
end
if cst==1
fprintf('n%12s %12.4f %8.4f %14.2f',a(1,:),b(1),SE(1),t(1))
end
for j=1+cst:pc
fprintf('n%12s %12.4f %8.4f %14.2f',a(j,:),b(j),SE(j),t(j))
if cst==1
fprintf('%14.2f',VIF(j-cst))
end
end
fprintf('n')
Corr_mtrx
if ar~=0
ee=(eye(n)-H)*y;
s=sqrt(s_sqd);
sr=ee./(s*sqrt(1-diag(H)));
cd=(1/(pc))*(1/s^2)*ee.^2.*(diag(H)./((1-diag(H)).^2));
fprintf('n y Residual St residual Cook dist.')
for i=1:n
fprintf('n 14.4f %10.4f %10.4f %10.4f',y(i),ee(i),sr(i),cd(i))
end
fprintf('n')
end
if con==0
cst=0;
else
cst=1;
end
[p1,n]=size(Xd);p=p1-1;pc=p+cst;
y=Xd(p1,:)';
if cst==1
w=ones(n,1);
X=[w Xd(1:p,:)'];
else
X=Xd(1:p,:)';
end
a=zeros(pc,15)
if nargin==3
if cst==1
a(1,:)='Constant :';
end
for i=1+cst:pc
a(i,:)=strcat('Parameter',num2str(i-cst,2),' :');
end
else
if cst==1
a=['Constant ';lab]
else
a=lab;
end
end
C=inv(X'*X);
b=C*X'*y;
H=X*C*X'
SSE=y'*(eye(n)-H)*y;
s_sqd=SSE/(n-pc);
Z=(1/n)*ones(n);
num=y'*(eye(n)-Z)*y;
R_sqd=num/denom;
Cov=s_sqd*C;
SE=sqrt(diag(Cov));
t=b./SE;
V(:,j+1)=(eye(n)-Z)*y;
for j=1:p
v(:,j+1)=(eye(n)-Z)*X(:,j+cst);
end
SS=V'*V;
D=zeros(p+1,p+1);
for j=1:p+1
D(j,j)=1/sqrt(SS(j,j));
end
Corr_mtrx=D*SS*D;
for j=1+cst:pc
ym=X(:,j);
if cst==1
Xm=X(:,[1 2:j-1,j+1:p+1]);
else
Xm=X(:,[1:j-1,j+1:p]);
end
Cm=inv(Xm'*Xm);
Hm=Xm*Cm*Xm';
num=ym'*(Hm-Z)*ym;
denom=ym'*(eye(n)-Z)*ym;
R_sqr(j-cst)=num/denom;
end
VIF=1./(1-R_sqr);
if cst==1
fprintf('nError variance = %8.4f R_squared = %6.4f',s_sqd,R_sqd)
fprintf('n')
fprintf('n coeff SE t-ratio VIF')
else
fprintf('nError variance = %8.4f',s_sqd)
fprintf('n')
fprintf('n coeff SE t-ratio')
end
if cst==1
fprintf('n%12s %12.4f %8.4f %14.2f',a(1,:),b(1),SE(1),t(1))
end
for j=1+cst:pc
fprintf('n%12s %12.4f %8.4f %14.2f',a(j,:),b(j),SE(j),t(j))
if cst==1
fprintf('%14.2f',VIF(j-cst))
end
end
fprintf('n')
Corr_mtrx
if ar~=0
ee=(eye(n)-H)*y;
s=sqrt(s_sqd);
sr=ee./(s*sqrt(1-diag(H)));
cd=(1/(pc))*(1/s^2)*ee.^2.*(diag(H)./((1-diag(H)).^2));
fprintf('n y Residual St residual Cook dist.')
for i=1:n
fprintf('n 14.4f %10.4f %10.4f %10.4f',y(i),ee(i),sr(i),cd(i))
end
fprintf('n')
end
-
超音波馬達
- 中級玩家

- 文章: 127
- 註冊時間: 週日 10月 28, 2001 8:00 am
誰在線上
正在瀏覽這個版面的使用者:沒有註冊會員 和 8 位訪客
