require(SFSI)
data(wheatHTP)
y = as.vector(Y[,"E1"]) # Response variable
X = scale(X_E1) # Predictors
# Training and testing sets
tst = which(Y$trial %in% 1:10)
trn = seq_along(y)[-tst]
# Calculate covariances in training set
XtX = var(X[trn,])
Xty = cov(X[trn,],y[trn])
# Run the penalized regression
fm1 = LARS(XtX,Xty,method="LAR-LASSO")
# Predicted values
yHat1 = fitted(fm1, X=X[trn,]) # training data
yHat2 = fitted(fm1, X=X[tst,]) # testing data
# Penalization vs correlation
plot(-log(fm1$lambda[-1]),cor(y[trn],yHat1[,-1]), main="training")
plot(-log(fm1$lambda[-1]),cor(y[tst],yHat2[,-1]), main="testing")
# \donttest{
if(requireNamespace("float")){
# Using a 'float' type variable
XtX2 = float::fl(XtX)
fm2 = LARS(XtX2,Xty,method="LAR-LASSO")
max(abs(fm1$beta-fm2$beta)) # Check for discrepances in beta
max(abs(fm1$lambda-fm2$lambda)) # Check for discrepances in lambda
}
# }
Run the code above in your browser using DataLab