
Welcome to scikit-fda’s documentation!#
Functional Data Analysis, or FDA, is the field of Statistics that analyses data that depend on a continuous parameter.
This package offers classes, methods and functions to give support to FDA in Python. Includes a wide range of utils to work with functional data, and its representation, exploratory analysis, or preprocessing, among other tasks such as inference, classification, regression or clustering of functional data. See documentation for further information on the features included in the package.
In the project page hosted by Github you can find more information related to the development of the package.
Documentation#
The documentation is available at fda.readthedocs.io/en/stable/, which includes detailed information of the different modules, classes and methods of the package, along with several examples showing different functionalities.
The documentation of the latest version, corresponding with the develop version of the package, can be found at fda.readthedocs.io/en/latest/.
How do I start?#
If you want a quick overview of the package, we recommend you to try the new tutorial. For articles about specific topics, feel free to explore the examples. Want to check the documentation of a particular class or function? Try searching for it in the API list.
Installation#
Currently, scikit-fda is available in Python versions above 3.8, regardless of the platform. The stable version can be installed via PyPI:
pip install scikit-fda
It is also available from conda-forge:
conda install -c conda-forge scikit-fda
Installation from source#
It is possible to install the latest version of the package, available in the develop branch, by cloning this repository and doing a manual installation.
git clone https://github.com/GAA-UAM/scikit-fda.git
pip install ./scikit-fda
Make sure that your default Python version is currently supported, or change
the python and pip commands by specifying a version, such as python3.8
:
git clone https://github.com/GAA-UAM/scikit-fda.git
python3.8 -m pip install ./scikit-fda
Requirements#
scikit-fda depends on the following packages:
fdasrsf - SRSF framework
findiff - Finite differences
matplotlib - Plotting with Python
multimethod - Multiple dispatch
numpy - The fundamental package for scientific computing with Python
pandas - Powerful Python data analysis toolkit
rdata - Reader of R datasets in .rda format in Python
scikit-datasets - Scikit-learn compatible datasets
scikit-learn - Machine learning in Python
scipy - Scientific computation in Python
setuptools - Python Packaging
The dependencies are automatically installed.
Citing scikit-fda#
Please, if you find this software useful in your work, reference it citing the following paper:
@article{ramos-carreno++_2024_scikit-fda,
author = {Ramos-Carreño, Carlos and Torrecilla, José L. and Carbajo Berrocal, Miguel and Marcos Manchón, Pablo and Suárez, Alberto},
doi = {10.18637/jss.v109.i02},
journal = {Journal of Statistical Software},
month = may,
number = {2},
pages = {1--37},
title = {{scikit-fda: A Python Package for Functional Data Analysis}},
url = {https://www.jstatsoft.org/article/view/v109i02},
volume = {109},
year = {2024}
}
You can additionally cite the software repository itself using:
@misc{ramos-carreno++_2024_scikit-fda-repo,
author = {The scikit-fda developers},
doi = {10.5281/zenodo.3468127},
month = feb,
title = {scikit-fda: Functional Data Analysis in Python},
url = {https://github.com/GAA-UAM/scikit-fda},
year = {2024}
}
If you want to reference a particular version for reproducibility, check the version-specific DOIs available in Zenodo.
Contributions#
All contributions are welcome. You can help this project grow in multiple ways, from creating an issue, reporting an improvement or a bug, to doing a repository fork and creating a pull request to the development branch.
The people involved at some point in the development of the package can be found in the contributors file.
License#
The package is licensed under the BSD 3-Clause License. A copy of the license can be found along with the code.
Acknowledgements#
The project has received financial support from projects PID2019-109387GB-I00, PID2019-106827GB-I00, and PID2022-139856NB-I00, funded by MCIN/ AEI / 10.13039/501100011033 / FEDER, UE, project IDEA-CM (TEC-2024/COM-89) from the Autonomous Community of Madrid, and from the ELLIS Unit Madrid. The authors acknowledge computational support from the Centro de Computación Científica-Universidad Autónoma de Madrid (CCC-UAM).