Source code for tick.hawkes.simulation.hawkes_kernels.hawkes_kernel_time_func
# License: BSD 3 clause
from tick.hawkes.simulation.build.hawkes_simulation import (
HawkesKernelTimeFunc as _HawkesKernelTimeFunc)
from .hawkes_kernel import HawkesKernel
[docs]class HawkesKernelTimeFunc(HawkesKernel):
"""Hawkes kernel defined by an arbitrary time function.
Parameters
----------
time_function : `tick.base.TimeFunc`
Time function defining the kernel.
t_values : `np.ndarray` shape=(n_points,)
time array used to build the time function. Might be given together
with `y_values` instead of `time_function`.
y_values : `np.ndarray` shape=(n_points,)
values array used to build the time function. Might be given together
with `t_values` instead of `time_function`.
"""
[docs] def __init__(self, time_function=None, t_values=None, y_values=None):
HawkesKernel.__init__(self)
if (t_values is None and time_function is None) \
or (t_values is not None and time_function is not None):
raise ValueError("Either time_function or "
"t_values / y_values must be filled")
if t_values is not None and y_values is None:
raise ValueError("t_values and y_values must be filled")
if time_function is not None:
self._kernel = _HawkesKernelTimeFunc(time_function._time_function)
else:
self._kernel = _HawkesKernelTimeFunc(t_values, y_values)
@property
def time_function(self):
return self._kernel.get_time_function()
def __str__(self):
return "KernelTimeFunc"
def __repr__(self):
return "KernelTimeFunc"
def __strtex__(self):
return "TimeFunc Kernel"