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.
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/.
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: .. code:
conda install -c conda-forge scikit-fda
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
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.
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.
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.
The package is licensed under the BSD 3-Clause License. A copy of the license can be found along with the code.