Try again

This commit is contained in:
Joakim Skogholt 2024-04-25 17:35:22 +02:00
parent 5464f1e338
commit 3a4293b572

View file

@ -532,7 +532,7 @@ K-fold CV for the Ridge regression problem, using the 'SVD-trick' for calculatin
function TRSegCVUpdateFair(X, y, lambdas, cv, bOld) function TRSegCVUpdateFair(X, y, lambdas, cv, bOld)
n, p = size(X); n, p = size(X);
rmsecvman = zeros(length(lambdasu)); rmsecvman = zeros(length(lambdas));
nfolds = length(unique(cv)); nfolds = length(unique(cv));
for i = 1:nfolds for i = 1:nfolds
@ -547,8 +547,8 @@ for i = 1:nfolds
U, s, V = svd(Xs, full=false); U, s, V = svd(Xs, full=false);
denom = broadcast(.+, broadcast(./, lambdasu, s'), s')'; denom = broadcast(.+, broadcast(./, lambdas, s'), s')';
denom2 = broadcast(.+, ones(n-sum(inds)), broadcast(./, lambdasu', s.^2)); denom2 = broadcast(.+, ones(n-sum(inds)), broadcast(./, lambdas', s.^2));
# Calculating regression coefficients # Calculating regression coefficients
bcoeffs = V * broadcast(./, (U' * ys), denom) .+ bOld .- V * broadcast(./, V' * bOld, denom2); bcoeffs = V * broadcast(./, (U' * ys), denom) .+ bOld .- V * broadcast(./, V' * bOld, denom2);