def pclas(X_train, y_train, X_test, n_components): """ Function to implement the PCLAS procedure :param X_train: Array of predictors to train the model on :param y_train: Array of returns corresponding to X_train :param X_test: Out of sample array of predictors to predict the return on :param n_components: Number of principal components to be used :return: """ model = Lasso(alpha = 0.1).fit(X_train, y_train) model = SelectFromModel(model, prefit = True) X_train = model.transform(X_train) X_test = model.transform(X_test) yhat = pcr(X_train, y_train, X_test, n_components) return (yhat)