hoyt#

class agabpylib.stats.distributions.hoyt(momtype=1, a=None, b=None, xtol=1e-14, badvalue=None, name=None, longname=None, shapes=None, seed=None)#

Bases: rv_continuous

Hoyt distribution.

Notes

This distribution applies to the Euclidian norm of a 2-vector for which the components are distributed as indepenent random normal variables with zero mean and variances \(\sigma^2_1\) and \(\sigma^2_2\), with \(0 < \sigma^2_2 \leq \sigma^2_1\). The parameters \(a`and :math:`b\) of the Hoyt distribution are then given by:

\[a = \sqrt{\frac{\sigma^2_2}{\sigma^2_1}}\,,\quad b = \sigma^2_1+\sigma^2_2\]

See footnote (2) in https://members.noa.gr/tronto/IEEE_TR_WC_DEC08.pdf (page 5012). The probability density function for hoyt is:

\[f(x, a, b) = \frac{(1+a^2)x}{ab} \exp\left[-\frac{(1+a^2)^2 x^2}{4a^2b}\right] I_0\left(\frac{(1-a^4)x^2}{4a^2b}\right)\]

where \(I_0\) is the modified Bessel function of the first kind of order zero (scipy.special.iv). The PDF is zero for \(x\leq0\).

Note that for correlated random components of the vector one can use the variances \(\sigma^2_1\) and \(\sigma^2_2\) of the diagonalized covariance matrix.

Moments of the distribution were taken from https://www.wolframalpha.com/input/?i=hoyt+distribution

hoyt takes \(a\) and \(b\) as shape parameters.