⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regdata.m

📁 matlab高级统计工具箱
💻 M
字号:
function [std,varresid,r2,cor,vcv,varinf]=regdata(param,yfit,ydata,jac)%[std,varresid,r2,cor,vcv,varinf]=regdata(param,yfit,ydata,jac)% Calculate and Plot regression statistics from curvefit.m% OUT% std -standard error of each parameter% varresid- Variance of residuals% r2	- R^2 Correlation coefficient% cor	- Correlation matrix for Parameters% vcv	- Variance Covariance Matrix for Parameters% varinf- Variance inflation factors >10 implies Multicollinearity in x's% IN% param	-Least squares parameter values% yfit	-Response fit using param to get yfit from curvefit use yfit=F+ydata %                                  where F is the error matrix from curvefit
% ydata	-Response data% jac	-Jacobian value at Least squares parameter values% Arthur Jutan Univ of Western Ontario Dept of Chemical Engineering% ajutan@julian.uwo.ca
% Revised 11-20-98e=yfit(:)-ydata(:); %error vectorize the Y matrix for muliple ouputsss=e'*e; % best sum of squaresm=length(yfit);n=length(param);if (m~=n),varresid=ss./(m-n);else, var=NaN;end % variance of Residuals% CALC VARIANCE COV MATRIX AND CORRELATION MATRIX OF PARAMETERS      xtx=jac'*jac;      xtxinv=inv(xtx);            %calc correlation matrix cor and variance inflation varinf	varinf = diag(xtxinv);	cor = xtxinv./sqrt(varinf*varinf');% Plot the fit vs data      t=1:m;      plot(t,ydata,'o',t,yfit,'g-')      title(' ydata and ymodel versus observation number')      xlabel(' observation number');      ylabel(' ydata o and ymodel-')      grid;            disp(' Least Squares Estimates of Parameters')      disp(param')      disp(' correlation matrix for parameters ')      disp(cor)      vcv=xtxinv.*varresid; % mult by var of residuals~=pure error      disp('Variance inflation Factors >10 ==> Multicollinearity in x"s')      disp(varinf')%Formulae for vcv=(x'.vo.x)^-1 *sigma^2 where meas error Var, v=[vo]*sigma^2	      std=sqrt(diag(vcv)); % calc std error for each param      disp('2*standard deviation (95%CL) for each parameter')      disp(2*std')%Calculate R^2 (Ref Draper & Smith p.46)      r=corrcoef(ydata(:),yfit(:));      r2=r(1,2).^2;      disp('Variance of Residuals  ' )      disp(  varresid )      disp( 'Correlation Coefficient R^2')      disp(r2)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -