class eelbrain.BoostingResult(y, x, tstart, tstop, scale_data, delta, mindelta, error, selective_stopping, y_mean, y_scale, x_mean, x_scale, _h, _isnan, t_run, basis, basis_window, splits=None, n_samples=None, _y_info=<factory>, _y_dims=None, i_test=None, l1_residual=None, l2_residual=None, l1_total=None, l2_total=None, r=None, r_rank=None, r_l1=None, partition_results=None, version=14, algorithm_version=-1, eelbrain_version='< 0.39.6', y_pred=None, fit=None)

Result from boosting

Fit metrics are computed from all time points in y.

  • For models estimated with test=False, the entire y_pred is predicted with the averaged TRF from the different runs (with each run corresponding to one validation set).

  • For models estimated with test=True, y_pred in each test segment is predicted from the averaged TRF from the corresponding training runs (each non-test segment used as validation set once), and the different test segments are then concatenated to compute the fit-metrics in comparison with y.

  • h (NDVar | tuple of NDVar) – The temporal response function (the average of all TRFs from the different runs/partitions). Whether h is an NDVar or a tuple of NDVar depends on whether the x parameter to boosting() was an NDVar or a sequence of NDVar.

  • h_scaled (NDVar | tuple of NDVar) – h scaled such that it applies to the original input y and x. If boosting was done with scale_data=False, h_scaled is the same as h.

  • h_source (NDVar | tuple of NDVar) – If h was constructed using a basis, h_source represents the source of h before being convolved with the basis.

  • h_time (UTS) – Time dimension of the kernel.

  • r (float | NDVar) – Correlation between the measured response y and the predicted response h * x. When using cross-validation (calling boosting() with test=True), each partition of y is predicted using the h estimated from the corresponding training partitions. Otherwise, all of y is estimated using the average h. For vector data, measured and predicted responses are normalized, and r is computed as the average dot product over time. The type of r depends on the y parameter to boosting(): If y is one-dimensional, r is scalar, otherwise it is a NDVar. Note that r does not take into account the model’s ability to predict the magnitude of the response, only its shape; for a measure that reflects both, consider using proportion_explained.

  • r_rank (float | NDVar) – As r, the Spearman rank correlation.

  • t_run (float) – Time it took to run the boosting algorithm (in seconds).

  • error (str) – The error evaluation method used.

  • residual (float | NDVar) –

    The residual of the final result

    • error='l1': the sum of the absolute differences between y and h * x.

    • error='l2': the sum of the squared differences between y and h * x.

    For vector y, the error is defined based on the distance in space for each data point.

  • delta (scalar) – Kernel modification step used.

  • mindelta (None | scalar) – Mindelta parameter used.

  • n_samples (int) – Number of samples in the input data time axis.

  • proportion_explained (float | NDVar) – The proportion of the variation in y that is explained by the model. Calculated as 1 - (variation(residual) / variation(y)). Variation is caculated as the l1 or l2 norm, depending on the error that was used for model fitting. Note that this does not correspond to r**2 even for error='l2', because residuals are not guaranteed to be orthogonal to predictions.

  • scale_data (bool) – Scale_data parameter used.

  • y_mean (NDVar | scalar) – Mean that was subtracted from y.

  • y_scale (NDVar | scalar) – Scale by which y was divided.

  • x_mean (NDVar | scalar | tuple) – Mean that was subtracted from x.

  • x_scale (NDVar | scalar | tuple) – Scale by which x was divided.

  • splits (Splits) – Data splits used for cross-validation. Use splits.plot() to visualize the cross-validation scheme.

  • partition_results (list of BoostingResuls) – If boosting() is called with partition_results=True, this attribute contains the results for the individual test paritions.

  • algorithm_version (int) –

    Version of the algorithm with which the model was estimated

    • -1: results from before this attribute was added

    • 0: Normalize x after applying basis

    • 1: Numba implementation

    • 2: Cython multiprocessing implementation (Eelbrain 0.38)

    • 3: Cython based convolution (Eelbrain 0.40)

  • eelbrain_version (int) – Version of Eelbrain with which the model was estimated.



To compare the fit of models estimated with different loss metrics (error parameter) calculate the proportion of explained variance, for example:

data = datasets._get_continuous()
trf_l1 = boosting('y', 'x1', 0, 1, data=data, error='l1', partitions=3, test=1)
trf_l2 = boosting('y', 'x1', 0, 1, data=data, error='l2', partitions=3, test=1)
l1_explained_variance = 1 - (trf_l1.l2_residual / trf_l1.l2_total)
l2_explained_variance = 1 - (trf_l2.l2_residual / trf_l2.l2_total)


cross_predict([x, data, scale, name])

Predict responses to x using complementary training data


Results from the different test partitions in a Dataset