Source code for aleatory.processes.gaussian.gaussian_periodic

from aleatory.processes.gaussian.gaussian_processes_base import GaussianThreeParameter
from aleatory.utils.kernels import (
    periodic_kernel,
    periodic_kernel_diag,
)


[docs]class GPPeriodic(GaussianThreeParameter):
[docs] def __init__(self, length_scale=1.0, sigma=1.0, period=1.0, T=1.0, rng=None): super().__init__( length_scale=length_scale, sigma=sigma, nu=period, T=T, rng=rng ) self.name = ( f"Periodic GP (l={length_scale:.2f}, $\\sigma$={sigma:.2f}, p={period:.2f})" ) self.short_name = f"Periodic GP"
def covariance_function(self, times): return periodic_kernel( times, length_scale=self.length_scale, sigma=self.sigma, period=self.nu ) def variance_function(self, times): return periodic_kernel_diag( times, length_scale=self.length_scale, sigma=self.sigma, period=self.nu )