Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 62 commits into
base: develop
Choose a base branch
from

Conversation

pcuestas
Copy link
Contributor

@pcuestas pcuestas commented Jun 12, 2024

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

  • I have performed a self-review of my code
  • The code conforms to the style used in this package
  • The code is fully documented and typed (type-checked with Mypy)
  • I have added thorough tests for the new/changed functionality

pcuestas and others added 30 commits March 4, 2024 19:46
(testing included to assert equality with the `FDataGrid` case)
@pcuestas pcuestas marked this pull request as ready for review June 14, 2024 14:29
@pcuestas pcuestas requested a review from vnmabus June 14, 2024 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants