Skip to content

Gp

polars_ts.bayesian.gp

Gaussian Process regression for time series forecasting.

Non-parametric Bayesian forecasting with kernels designed for temporal data. Supports exact GP (Cholesky) and sparse GP (inducing points).

References

  • Rasmussen & Williams (2006), Gaussian Processes for Machine Learning
  • Roberts et al. (2013), Gaussian processes for time-series modelling
  • Wilson & Adams (2013), GP Kernels for Pattern Discovery and Extrapolation

Kernel

Base kernel class.

RBFKernel

Bases: Kernel

Radial Basis Function (squared exponential) kernel.

Matern32Kernel

Bases: Kernel

Matern 3/2 kernel.

Matern52Kernel

Bases: Kernel

Matern 5/2 kernel.

PeriodicKernel

Bases: Kernel

Periodic kernel for repeating patterns.

SpectralMixtureKernel

Bases: Kernel

Spectral mixture kernel (Wilson & Adams 2013).

SumKernel

Bases: Kernel

Sum of two kernels.

ProductKernel

Bases: Kernel

Product of two kernels.

GPResult dataclass

Gaussian Process regression result.

Attributes

kernel Fitted kernel (with optimized hyperparameters). noise_var Optimized observation noise variance. X_train Training time indices. y_train Training observations. alpha Cholesky solve vector for predictions. L Lower Cholesky factor of training covariance.

GaussianProcessTS

Gaussian Process time series forecaster.

Parameters

kernel Kernel name or Kernel instance. Default "rbf". optimize Whether to optimize hyperparameters via marginal likelihood. noise_var Initial observation noise variance. coverage Credible interval coverage (default 0.9). id_col Column identifying each time series. target_col Column with target values. time_col Column with timestamps.

fit(df)

Fit the GP to one or more time series.

predict(df, h)

Generate h-step forecasts with credible intervals.

make_kernel(name, **kwargs)

Create a kernel by name.

_stable_cholesky(K, jitter=1e-06)

Cholesky with increasing jitter for numerical stability.

_neg_log_marginal_likelihood(log_params, X, y, kernel, noise_idx)

Negative log marginal likelihood for hyperparameter optimization.

_optimize_hyperparams(X, y, kernel, noise_var)

Optimize kernel hyperparameters via marginal likelihood.

gp_forecast(df, h, kernel='rbf', optimize=True, noise_var=0.1, coverage=0.9, id_col='unique_id', target_col='y', time_col='ds')

Gaussian Process forecasting convenience function.

Parameters

df Input DataFrame. h Forecast horizon. kernel Kernel name or instance. Default "rbf". optimize Optimize hyperparameters via marginal likelihood. noise_var Initial noise variance. coverage Credible interval coverage (default 0.9). id_col, target_col, time_col Column names.

Returns

pl.DataFrame Forecasts with y_hat, y_hat_lower, y_hat_upper.