GAA-UAM / scikit-fda

Functional Data Analysis Python package
https://fda.readthedocs.io
BSD 3-Clause "New" or "Revised" License
287 stars 51 forks source link

Mixed effects model to convert irregular data to basis expansion #618

Open pcuestas opened 2 weeks ago

pcuestas commented 2 weeks ago

References to issues or other PRs

Describe the proposed changes

1. Mixed-effects model

Implementation of the mixed effects method for converting irregularly sampled functional data to basis expansion.

This implementation includes the addition of a new module: skfda.representation.conversion, which is meant for including classes (transformers) that convert between different FData sublasses.

For this type of conversion (FDataIrregular to FDataBasis) two classes have been added: EMMixedEffectsConverter and MinimizeMixedEffectsConverter, each of which implements the conversion with a different method to fit the MLE of the mixed-effects model.

The EMMixedEffectsConverter uses the EM algorithm and the MinimizeMixedEffectsConverter uses generic optimizers from scipy.optimize.minimize to find maxima of the loglikelihood function.

2. Create an FDataIrregular object from another FData

A function: irregular_sample has been added to skfda.datasets, which creates an irregular sample by randomly selecting points from another FData object.

Additional information

All implementation added has been adapted (and tested) for multidimensional domains and codomains.

However, some problems have been found regarding this topic and are described in #616 and #617 .

Checklist before requesting a review