Cross-validation utilities for kernel regression and density estimation.

This module defines a CVScorer class that can be used to evaluate leave-one-out cross-validation (LOOCV) or K-fold cross-validation for kernel regression or density estimation.

class hessband.cv.CVScorer(X: ndarray, y: ndarray, folds: int = 5, kernel: str = 'gaussian')[source]

Bases: object

Cross-validation scorer for kernel regression.

Parameters:
  • X – Input values.

  • y – Target values.

  • folds – Number of folds for K-fold cross-validation.

  • kernel – Kernel type (‘gaussian’ or ‘epanechnikov’).

score(predict_fn: Callable[[ndarray, ndarray, ndarray, float, str], ndarray], h: float) float[source]

Computes the cross-validation MSE for a given bandwidth.

Parameters:
  • predict_fn – Function that takes (X_train, y_train, X_test, h, kernel) and returns predictions.

  • h – Bandwidth value.

Returns:

Cross-validation mean squared error.