www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@mdev_local/LocalValidationRMSE.m
function [RMSE,ValDataSize]= LocalValidationRMSE(mdev,Tests,mdl,X,Y) %LOCALVALIDATIONRMSE calculate validation RMSE % % RMSE= LocalValidationRMSE(mdev,TestNo,mdl,Xdata,Ydata) % Copyright 2006-2015 The MathWorks, Inc. if ischar(Tests) && strcmp(Tests,':') Tests=1:size(getdata(mdev),3); end RMSE= NaN(size(Tests)); ValDataSize= zeros(size(Tests)); if nargin<5 [X,Y]= getLocalValidationData(mdev,Tests); end for i=1:length(Tests) TestNo= Tests(i); if mdev.FitOK(TestNo) if nargin < 3 || isempty(mdl) % default model is best model for node mdl= LocalModel(mdev,TestNo); end Xdata= X{i}; Ydata= Y{i}; if ~isempty(Ydata) % calculate residuals res= double(Ydata)-EvalModel(mdl,Xdata); % remove non finite data res= res(isfinite(res)); N= length(res); ValDataSize(i) = N; if N>0 RMSE(i)= sqrt( sum(res.^2)/N ); end end end end