Skip to content

StevenGolovkine/FDApy

Repository files navigation

FDApy: a Python package to analyze functional data

PyPI - Python Version PyPI Github - Workflow PyPI - License Coverage Code Quality Documentation Status JOSS DOI Contributors

Description

Functional data analysis (FDA) is a statistical methodology for analyzing data that can be characterized as functions. These functions could represent measurements taken over time, space, frequency, probability, etc. The goal of FDA is to extract meaningful information from these functions and to model their behavior.

The package aims to provide functionalities for creating and manipulating general functional data objects. It thus supports the analysis of various types of functional data, whether densely or irregularly sampled, multivariate, or multidimensional. Functional data can be represented over a grid of points or using a basis of functions. FDApy implements dimension reduction techniques and smoothing methods, facilitating the extraction of patterns from complex functional datasets. A large simulation toolbox, based on basis decomposition, is provided. It allows to configure parameters for simulating different clusters within the data. Finally, some visualization tools are also available.

Check out the examples for an overview of the package functionalities.

Check out the API reference for an exhaustive list of the available features within the package.

Documentation

The documentation is available here, which included detailled information about API references and several examples presenting the different functionalities.

Installation

Up to now, FDApy is availlable in Python 3.10 on any Linux platforms. The stable version can be installed via PyPI:

pip install FDApy

Installation from source

It is possible to install the latest version of the package by cloning this repository and doing the manual installation.

git clone https://github.com/StevenGolovkine/FDApy.git
pip install ./FDApy

Requirements

FDApy depends on the following packages:

  • lazy_loader - A loader for Python submodules
  • matplotlib - Plotting with Python
  • numpy (< 2.0.0) - The fundamental package for scientific computing with Python
  • pandas (>= 2.0.0)- Powerful Python data analysis toolkit
  • scikit-learn (>= 1.2.0)- Machine learning in Python
  • scipy (>= 1.10.0) - Scientific computation in Python

Citing FDApy

If you use FDApy in a scientific publication, we would appreciate citations to the following software repository:

@misc{golovkine_2024_fdapy,
  author = {Golovkine, Steven},
  doi = {10.5281/zenodo.3891521},
  title = {FDApy: A Python Package to analyze functional data},
  url = {https://github.com/StevenGolovkine/FDApy},
  year = {2024}
}

You may also cite the paper:

@article{golovkine_2024_fdapy_paper,
      title = {{{FDApy}}: A {{Python}} Package for Functional Data},
      author = {Golovkine, Steven},
      date = {2025-03-04},
      journaltitle = {Journal of Open Source Software},
      volume = {10},
      number = {107},
      pages = {7526},
      issn = {2475-9066},
      doi = {10.21105/joss.07526},
      url = {https://joss.theoj.org/papers/10.21105/joss.07526}
}

Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. Contributing guidelines are provided here. The people involved in the development of the package can be found in the contributors page.

License

The package is licensed under the MIT License. A copy of the license can be found along with the code.