fisher_rao_distance#

skfda.misc.metrics.fisher_rao_distance = FisherRaoDistance()#

Compute the Fisher-Rao distance between two functional objects.

Let \(f_i\) and \(f_j\) be two functional observations, and let \(q_i\) and \(q_j\) be the corresponding SRSF (see SRSF), the Fisher-Rao distance is defined as

\[d_{FR}(f_i, f_j) = \| q_i - q_j \|_2 = \left ( \int_0^1 sgn(f_i'(t))\sqrt{|f_i'(t)|} - sgn(f_j'(t))\sqrt{|f_j'(t)|} dt \right )^{\frac{1}{2}}\]

If the observations are distributions of random variables the distance will match with the usual Fisher-Rao distance in non-parametric form for probability distributions [1].

If the observations are defined in a domain different than (0,1) their domains are normalized to this interval with an affine transformation.

Parameters:
  • fdata1 (T) – First FData object.

  • fdata2 (T) – Second FData object.

  • eval_points (NDArrayFloat | None) – Array with points of evaluation.

  • _check (bool) –

Returns:

Fisher rao distance.

Raises:

ValueError – If the objects are not unidimensional.

Return type:

NDArrayFloat

References