Skip to contents

Kernel functions to use with SSU schemas of type ideal (see ssu_schema).

Usage

kernel_gauss(distance, decay = 1)

kernel_epanechnikov(distance, decay = 1)

kernel_triangular(distance, decay = 1)

kernel_boxcar(distance, decay = 1)

kernel_bisquare(distance, decay = 1)

kernel_tricube(distance, decay = 1)

Arguments

distance

A numeric scalar giving a distance to the kernel center.

decay

A numeric scalar specifying the rate of decay. Higher values lead to a lower probability of being sampled far away from the kernel center.

Value

A function that takes one argument distance.

Details

Given a distance to the ideal \(d\) and a decay rate \(\lambda\), the following kernels can be computed:

Gaussian

\(K(d, \lambda) = exp \left( -\frac{\lambda ^2 d^2}{2} \right)\)

Epanechnikov

\(K(d, \lambda) = \begin{cases} 0.75 \left( 1 - \left( d\lambda \right)^2 \right) & \text{if } |d\lambda| \le 1 \\ 0 & \text{if } |d\lambda| > 1 \end{cases}\)

Bisquare

\(K(d, \lambda) = \begin{cases} \left( 1 - d\lambda ^2 \right) ^2 & \text{if } |d\lambda| \le 1 \\ 0 & \text{if } |d\lambda| > 1 \end{cases}\)

Tricube

\(K(d, \lambda) = \begin{cases} \left( 1 - d\lambda ^2 \right) ^3 & \text{if } |d\lambda| \le 1 \\ 0 & \text{if } |d\lambda| > 1 \end{cases}\)

Triangular

\(K(d, \lambda) = \begin{cases} 1 - |d\lambda| & \text{if } |d\lambda| \le 1 \\ 0 & \text{if } |d\lambda| > 1 \end{cases}\)

Boxcar

\(K(d, \lambda) = \begin{cases} 1 & \text{if } |d\lambda| \le 1 \\ 0 & \text{if } |d\lambda| > 1 \end{cases}\)

Examples

kernel_gauss(log(1000) - log(100))
#> Error in kernel_gauss(log(1000) - log(100)): could not find function "kernel_gauss"
kernel_gauss(log(1000) - log(500))
#> Error in kernel_gauss(log(1000) - log(500)): could not find function "kernel_gauss"
kernel_gauss(log(1000) - log(900))
#> Error in kernel_gauss(log(1000) - log(900)): could not find function "kernel_gauss"