Added some criteria from Tencate et al. (2016)
This commit is contained in:
parent
06f1475194
commit
aec4b9767a
2 changed files with 32 additions and 0 deletions
|
|
@ -30,6 +30,7 @@ export TRLooCVUpdateNaive
|
|||
export TRLooCVUpdateExperimental
|
||||
|
||||
# From "variousRegressionFunctions.jl"
|
||||
export cVals
|
||||
export calculateRMSE
|
||||
export oldRegCoeffs
|
||||
export PCR
|
||||
|
|
|
|||
|
|
@ -1,3 +1,34 @@
|
|||
"""
|
||||
crit1minInd, crit2minInd, CvalCrit1, CvalCrit2 = function cVals(bcoeffs, rmsecv)
|
||||
Crit1 = 'norm(regcoeffs) + cverror'
|
||||
Crit2 = 'jaggedness(regcoeffs) + cverror'
|
||||
bcoeffs = matrix with bcoeffs
|
||||
"""
|
||||
function cVals(bcoeffs, rmse)
|
||||
|
||||
# Finding min and max of quantities used in criteria
|
||||
bminnorm = norm(bcoeffs[2:end,end]);
|
||||
bmaxnorm = norm(bcoeffs[2:end,1]);
|
||||
rmsecvmin = minimum(rmse);
|
||||
rmsecvmax = maximum(rmse);
|
||||
bjaggedness = [norm([bcoeffs[2:end,i] - bcoeffs[1:end-1,1]]) for i=1:size(bcoeffs,2)];
|
||||
bjagmin = minimum(bjaggedness);
|
||||
bjagmax = maximum(bjaggedness);
|
||||
|
||||
# Calculating the quantities used in the criteria
|
||||
CvalNorm = [((norm(bcoeffs[2:end,i]) - bminnorm) / (bmaxnorm - bminnorm)) for i=1:size(bcoeffs,2)];
|
||||
Cvalrmse = [((rmse[i] - rmsecvmin) / (rmsecvmax - rmsecvmin)) for i=1:length(rmse)];
|
||||
CvalJagged = [((bjaggedness[i] - bjagmin)/(bjagmax-bjagmin)) for i=1:length(bjaggedness)];
|
||||
|
||||
# Calculating the criteria as well as argmins
|
||||
CvalCrit1 = CvalNorm + Cvalrmse;
|
||||
CvalCrit2 = CvalJagged + Cvalrmse;
|
||||
crit1minInd = argmin(CvalCrit1);
|
||||
crit2minInd = argmin(CvalCrit2);
|
||||
|
||||
return crit1minInd, crit2minInd, CvalCrit1, CvalCrit2
|
||||
end
|
||||
|
||||
"""
|
||||
function rmse, ypred = calculateRMSE(X, y, beta)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue