fisher_rao_phase_distance#

skfda.misc.metrics.fisher_rao_phase_distance(fdata1, fdata2, *, lam=0, eval_points=None, _check=True)[source]#

Compute the Fisher-Rao phase distance between two functional objects.

Let \(f_i\) and \(f_j\) be two functional observations, and let \(\gamma_{ij}\) the corresponding warping used in the elastic registration to align \(f_i\) to \(f_j\) (see elastic_registration()). The Fisher-Rao phase distance between \(f_i\) and \(f_j\) is defined as

\[d_{P}(f_i, f_j) = d_{FR}(\gamma_{ij}, \gamma_{id}) = arcos \left ( \int_0^1 \sqrt {\gamma_{ij}'(t)} dt \right )\]

where \(\gamma_{id}\) is the identity warping.

See [1] for a detailed explanation.

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.

  • lam (float) – Penalty term to restric the elasticity.

  • eval_points (array_like, optional) – Array with points of evaluation.

  • _check (bool) –

Returns:

Phase distance between the objects.

Raises:

ValueError – If the objects are not unidimensional.

Return type:

ndarray[Any, dtype[float64]]

References