L2-boosting for high-dimensional linear models#

class EarlyStopping.L2_boost(design, response, true_signal=None)#

[Source] L2-boosting algorithm for high dimensional linear models.

Parameters

design: array. nxp-Design matrix of the linear model.

response: array. n-dim vector of the observed data in the linear model.

true_signal: array or None, default = None. For simulation purposes only. For simulated data the true signal can be included to compute theoretical quantities such as the bias and the mse alongside the boosting procedure.

Attributes

sample_size: int. Sample size of the linear model.

parameter_size: int. Parameter size of the linear model.

iter: int. Current boosting iteration of the algorithm.

boost_estimate: array. Boosting estimate at the current iteration for the data given in design.

residuals: array. Lists the sequence of the residual mean of squares betwean the data and the boosting estimator.

bias2: array. Only exists if true_signal was given. Lists the values of the squared bias up to current boosting iteration.

stoch_error: array. Only exists if true_signal was given. Lists the values of a stochastic error term up to current boosting iteration.

mse: array. Only exists if true_signal was given. Lists the values of the mean squared error betwean the boosting estimator and the true signal up to current boosting iteration.

Methods

iterate( number_of_iterations=1 )

Performs number of iterations of the boosting algorithm.

predict( design_observation )

Predicts the response based on the current boosting estimate.

discrepancy_stop( crit, max_iter )

Stops the boosting algorithm based on the discrepancy principle.

residual_ratio_stop( max_iter, alpha=0.05, K=1.2 )

Stops the boosting algorithm based on the residual ratios.

get_noise_estimate(K=1)

Computes a noise estimate for the model via the scaled lasso.

get_aic_iteration(K=2)

Computes the minimizer of a high dimensional Akaike criterion.

boost_to_balanced_oracle()

Iterates the boosting algorithm up to the balanced oracle.

L2_boost.iterate(number_of_iterations=1)#

Performs number_of_iterations iterations of the orthogonal boosting algorithm.

Parameters

number_of_iterations: int. Number of boosting iterations to be performed.

L2_boost.predict(design_observation)#

Predicts the output variable based on the current boosting estimate.

Parameters

input_variable: array. The size of input_variable has to match parameter_size.

L2_boost.discrepancy_stop(crit, max_iter)#

Early stopping for the boosting procedure based on the discrepancy principle. Procedure is stopped when the residuals go below crit or iteration max_iter is reached.

Parameters

crit: float. Critical value for the early stopping procedure.

max_iter: int. Maximal number of iterations to be performed.

L2_boost.residual_ratio_stop(max_iter, alpha=0.05, K=1.2)#

Stops the algorithm based on a residual ration criterion.

Parameters

alpha: float. accuracy level

K: float. Constant for the definition.

max_iter: int. Maximal number of iterations to be performed.

L2_boost.get_noise_estimate(K=1)#

Computes an estimator for the noise level sigma^2 of the model via the scaled Lasso.

Parameters

K: float. Constant in the definition. Defaults to 1, which is the choice from the scaled Lasso paper.

L2_boost.get_aic_iteration(K=2)#

Computes the iteration index minimizing a high dimensional Akaike criterion.

Parameters

K: float. Constant in the definition. Defaults to 2, which is common in the literature.

L2_boost.boost_to_balanced_oracle()#

Performs iterations of the orthogonal boosting algorithm until the balanced oracle index at which the squared bias is smaller than the stochastic error is reached.