Skip to content

Commit 5655385

Browse files
authored
Merge branch 'develop' into feature/RKHS_inner_product
2 parents 5c30710 + e484ca7 commit 5655385

File tree

86 files changed

+3924
-791
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+3924
-791
lines changed

Diff for: .github/workflows/tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
matrix:
1313
os: [ubuntu-latest, macos-latest, windows-latest]
14-
python-version: ['3.8', '3.9']
14+
python-version: ['3.9', '3.10']
1515

1616
steps:
1717
- uses: actions/checkout@v2

Diff for: binder/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-r ../readthedocs-requirements.txt
1+
scikit-fda[docs]
22
jupytext
33
sphinx-gallery<=0.7.0
44
.

Diff for: docs/_static/switcher.json

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[
2+
{
3+
"name": "dev",
4+
"version": "dev",
5+
"url": "https://fda.readthedocs.io/en/latest/"
6+
},
7+
{
8+
"name": "0.9 (stable)",
9+
"version": "stable",
10+
"url": "https://fda.readthedocs.io/en/stable/",
11+
"preferred": true
12+
}
13+
]

Diff for: docs/_templates/autosummary/class.rst

+4
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,16 @@
1010

1111
.. autosummary::
1212
{% for item in methods %}
13+
{% if item != "__init__" %}
1314
~{{ name }}.{{ item }}
15+
{% endif %}
1416
{%- endfor %}
1517
{% endif %}
1618

1719
{% for item in methods %}
20+
{% if item != "__init__" %}
1821
.. automethod:: {{ item }}
22+
{% endif %}
1923
{%- endfor %}
2024
{% endblock %}
2125

Diff for: docs/conf.py

+20-4
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,16 @@
4646
"Universidad Autónoma de Madrid"
4747
)
4848
github_url = "https://github.com/GAA-UAM/scikit-fda"
49-
rtd_version = os.environ.get("READTHEDOCS_VERSION", "latest")
50-
branch = "master" if rtd_version == "stable" else "develop"
49+
rtd_version = os.environ.get("READTHEDOCS_VERSION")
50+
rtd_version_type = os.environ.get("READTHEDOCS_VERSION_TYPE")
51+
52+
switcher_version = rtd_version
53+
if switcher_version == "latest":
54+
switcher_version = "dev"
55+
elif rtd_version_type not in {"branch", "tag"}:
56+
switcher_version = skfda.__version__
57+
58+
rtd_branch = os.environ.get(" READTHEDOCS_GIT_IDENTIFIER", "develop")
5159
language = "en"
5260

5361
try:
@@ -112,6 +120,14 @@
112120
html_theme_options = {
113121
"use_edit_page_button": True,
114122
"github_url": github_url,
123+
"switcher": {
124+
"json_url": (
125+
"https://fda.readthedocs.io/en/latest/_static/switcher.json"
126+
),
127+
"version_match": switcher_version,
128+
},
129+
"show_version_warning_banner": True,
130+
"navbar_start": ["navbar-logo", "version-switcher"],
115131
"icon_links": [
116132
{
117133
"name": "PyPI",
@@ -289,7 +305,7 @@ def linkcode_resolve(domain: str, info: Mapping[str, str]) -> str | None:
289305
else:
290306
linespec = ""
291307

292-
return f"{github_url}/tree/{branch}/skfda/{fn}{linespec}"
308+
return f"{github_url}/tree/{rtd_branch}/skfda/{fn}{linespec}"
293309

294310
# -- Options for "sphinx.ext.mathjax" --
295311

@@ -391,7 +407,7 @@ def __repr__(self) -> str:
391407
"binder": {
392408
"org": "GAA-UAM",
393409
"repo": "scikit-fda",
394-
"branch": branch,
410+
"branch": rtd_branch,
395411
"binderhub_url": "https://mybinder.org",
396412
"dependencies": ["../binder/requirements.txt"],
397413
"notebooks_dir": "../examples",

Diff for: docs/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Github you can find more information related to the development of the package.
3434
:caption: More documentation
3535

3636
apilist
37-
glossary
37+
Glossary <glossary>
3838
contributors
3939

4040
An exhaustive list of all the contents of the package can be found in the

Diff for: docs/modules/exploratory/stats.rst

+1
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@ statistics can be used.
3131

3232
skfda.exploratory.stats.cov
3333
skfda.exploratory.stats.var
34+
skfda.exploratory.stats.std
3435

Diff for: docs/modules/ml/regression.rst

+14-1
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,17 @@ regression is fitted using the coefficients of the functions in said basis.
5757
.. autosummary::
5858
:toctree: autosummary
5959

60-
skfda.ml.regression.FPCARegression
60+
skfda.ml.regression.FPCARegression
61+
62+
FPLS regression
63+
-----------------
64+
This module includes the implementation of FPLS (Functional Partial Least Squares)
65+
regression. This implementation accepts either functional or multivariate data as the regressor and the response.
66+
FPLS regression consists on performing the FPLS dimensionality reduction algorithm
67+
but using a regression deflation strategy.
68+
69+
70+
.. autosummary::
71+
:toctree: autosummary
72+
73+
skfda.ml.regression.FPLSRegression

Diff for: docs/modules/preprocessing/dim_reduction.rst

+5-2
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,12 @@ Other dimensionality reduction methods construct new features from
3636
existing ones. For example, in functional principal component
3737
analysis, we project the data samples into a smaller sample of
3838
functions that preserve most of the original
39-
variance.
39+
variance. Similarly, in functional partial least squares, we project
40+
the data samples into a smaller sample of functions that preserve most
41+
of the covariance between the two data blocks.
4042

4143
.. autosummary::
4244
:toctree: autosummary
4345

44-
skfda.preprocessing.dim_reduction.FPCA
46+
skfda.preprocessing.dim_reduction.FPCA
47+
skfda.preprocessing.dim_reduction.FPLS

Diff for: docs/refs.bib

+89
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,21 @@ @article{berrendero++_2022_functional
115115
keywords = {62J12,62R10,Functional data,Kernel methods in statistics,Logistic regression,Mathematics - Statistics Theory,Reproducing kernel Hilbert spaces}
116116
}
117117

118+
@article{borggaard+thodberg_1992_optimal,
119+
title = {Optimal Minimal Neural Interpretation of Spectra},
120+
author = {Borggaard, {\relax Claus}. and Thodberg, Hans Henrik.},
121+
year = {1992},
122+
month = mar,
123+
journal = {Analytical Chemistry},
124+
volume = {64},
125+
number = {5},
126+
pages = {545--551},
127+
issn = {0003-2700},
128+
doi = {10.1021/ac00029a018},
129+
url = {https://doi.org/10.1021/ac00029a018},
130+
urldate = {2018-12-09}
131+
}
132+
118133
@article{cuesta-albertos++_2017_ddgclassifier,
119134
title = {The {{DDᴳ}}-Classifier in the Functional Setting},
120135
author = {{Cuesta-Albertos}, J. A. and {Febrero-Bande}, M. and {Oviedo~de~la~Fuente}, M.},
@@ -310,6 +325,25 @@ @article{gutierrez++_1992_numerical
310325
pages={67--77},
311326
year={1992},
312327
publisher={Wiley Online Library}
328+
329+
@article{hastie++_1995_penalized,
330+
title = {Penalized Discriminant Analysis},
331+
author = {Hastie, Trevor and Buja, Andreas and Tibshirani, Robert},
332+
year = {1995},
333+
month = feb,
334+
journal = {The Annals of Statistics},
335+
volume = {23},
336+
number = {1},
337+
pages = {73--102},
338+
issn = {0090-5364, 2168-8966},
339+
doi = {10.1214/aos/1176324456},
340+
url = {https://projecteuclid.org/euclid.aos/1176324456},
341+
urldate = {2018-12-09},
342+
abstract = {Fisher's linear discriminant analysis (LDA) is a popular data-analytic tool for studying the relationship between a set of predictors and a categorical response. In this paper we describe a penalized version of LDA. It is designed for situations in which there are many highly correlated predictors, such as those obtained by discretizing a function, or the grey-scale values of the pixels in a series of images. In cases such as these it is natural, efficient and sometimes essential to impose a spatial smoothness constraint on the coefficients, both for improved prediction performance and interpretability. We cast the classification problem into a regression framework via optimal scoring. Using this, our proposal facilitates the use of any penalized regression technique in the classification setting. The technique is illustrated with examples in speech recognition and handwritten character recognition.},
343+
langid = {english},
344+
mrnumber = {MR1331657},
345+
zmnumber = {0821.62031},
346+
keywords = {discrimination,regularization,Signal and image classification}
313347
}
314348

315349
@article{li++_2012_ddclassifier,
@@ -366,6 +400,14 @@ @article{marron++_2015_functional
366400
keywords = {alignment,dynamic time warping,elastic metric,Fisher–Rao metric,Functional data analysis,registration,warping}
367401
}
368402

403+
@misc{meteorologicalstateagencyofspainaemet_2009_meteorological,
404+
title = {Meteorological Data of {{Spanish}} Weather Stations between Years 1980 and 2009.},
405+
author = {{Meteorological State Agency of Spain (AEMET)}},
406+
year = {2009},
407+
url = {http://www.aemet.es/},
408+
abstract = {The data were obtained from the FTP of AEMET in 2009.}
409+
}
410+
369411
@article{pini++_2018_hotelling,
370412
title = {Hotelling's {{T2}} in Separable {{Hilbert}} Spaces},
371413
author = {Pini, Alessia and Stamm, Aymeric and Vantini, Simone},
@@ -383,6 +425,35 @@ @article{pini++_2018_hotelling
383425
keywords = {Functional data,High-dimensional data Hotelling’s,Hilbert space,Nonparametric inference,Permutation test}
384426
}
385427

428+
@incollection{pintado+romo_2005_depthbased,
429+
title = {Depth-Based Classification for Functional Data},
430+
shorttitle = {Data {{Depth}}},
431+
booktitle = {Data {{Depth}}: {{Robust Multivariate Analysis}}, {{Computational Geometry}} and {{Applications}}},
432+
author = {Pintado, Sara and Romo, Juan},
433+
year = {2005},
434+
month = nov,
435+
series = {{{DIMACS Series}} in {{Discrete Mathematics}} and {{Theoretical Computer Science}}},
436+
volume = {72},
437+
pages = {103--119},
438+
publisher = {{American Mathematical Society}},
439+
doi = {10.1090/dimacs/072/08},
440+
isbn = {978-0-8218-3596-8}
441+
}
442+
443+
@inproceedings{ramos-carreno++_2022_scikitfda,
444+
title = {{{scikit-fda}}: {{Computational}} Tools for Machine Learning with Functional Data},
445+
shorttitle = {Scikit-Fda},
446+
booktitle = {2022 {{IEEE}} 34th {{International Conference}} on {{Tools}} with {{Artificial Intelligence}} ({{ICTAI}})},
447+
author = {{Ramos-Carre{\~n}o}, Carlos and Torrecilla, Jos{\'e} Luis and Hong, Yujian and Su{\'a}rez, Alberto},
448+
year = {2022},
449+
month = oct,
450+
pages = {213--218},
451+
issn = {2375-0197},
452+
doi = {10.1109/ICTAI56018.2022.00038},
453+
abstract = {Machine learning from functional data poses particular challenges that require specific computational tools that take into account their structure. In this work, we present scikit-fda, a Python library for functional data analysis, visualization, preprocessing, and machine learning. The library is designed for smooth integration in the Python scientific ecosystem. In particular, it complements and can be used in combination with scikit-learn, the reference Python library for machine learning. The functionality of scikit-fda is illustrated in clustering, regression, and classification problems from different areas of application.},
454+
keywords = {Data analysis,data visualization,Data visualization,Documentation,Ecosystems,Extrapolation,functional data analysis,Interpolation,machine learning,Machine learning,Python toolbox}
455+
}
456+
386457
@inbook{ramsay+silverman_2005_functionala,
387458
title = {From Functional Data to Smooth Functions},
388459
booktitle = {Functional Data Analysis},
@@ -440,6 +511,24 @@ @inbook{ramsay+silverman_2005_registration
440511
keywords = {Multivariate analysis}
441512
}
442513

514+
@incollection{romeo+marzoljaen_2014_analisis,
515+
title = {{An\'alisis del viento y la niebla en el aeropuerto de Los Rodeos (Tenerife). Cambios y tendencias}},
516+
booktitle = {{Cambio clim\'atico y cambio global.}},
517+
author = {Romeo, V{\'i}ctor M. and Marzol Ja{\'e}n, M{\textordfeminine} Victoria},
518+
editor = {Fern{\'a}ndez Montes, Sonia and S{\'a}nchez Rodrigo, Fernando},
519+
year = {2014},
520+
series = {{Publicaciones de la Asociaci\'on Espa\~nola de Climatolog\'ia. Serie A.}},
521+
number = {9},
522+
pages = {325--334},
523+
publisher = {{Asociaci\'on Espa\~nola de Climatolog\'ia}},
524+
url = {https://repositorio.aemet.es/handle/20.500.11765/8173},
525+
urldate = {2022-07-28},
526+
abstract = {[ES]La particular localizaci\'on del aeropuerto Tenerife Norte-Los Rodeos, en el nordeste de la isla de Tenerife, es la causa de la modificaci\'on de la direcci\'on habitual de los vientos alisios del NE a vientos del NO, acompa\~nados frecuentemente por nubosidad. Esto ocasiona que en un n\'umero significativo de d\'ias al a\~no este aeropuerto est\'e cubierto por la niebla, lo que afecta de una forma muy importante a su operatividad. El objetivo del trabajo es caracterizar su r\'egimen de vientos y de la niebla durante los \'ultimos trece a\~nos (2000-2012) y comprobar si se han producido cambios significativos en ambas variables clim\'aticas con respecto a los periodos normales de 1961-1990 y 1971-2000. Los resultados indican que las dos direcciones dominantes del viento, NO y SE, mantienen sus frecuencias no as\'i la niebla que ha aumentado su presencia en los \'ultimos a\~nos.},
527+
copyright = {Licencia CC: Reconocimiento CC BY},
528+
isbn = {978-84-16027-69-9},
529+
langid = {spanish}
530+
}
531+
443532
@article{ruiz-meana++_2003_cariporide,
444533
title = {Cariporide Preserves Mitochondrial Proton Gradient and Delays {{ATP}} Depletion in Cardiomyocytes during Ischemic Conditions},
445534
author = {{Ruiz-Meana}, Marisol and {Garcia-Dorado}, David and Pina, Pilar and Inserte, Javier and Agull{\'o}, Luis and {Soler-Soler}, Jordi},

Diff for: examples/full_examples/README.txt

-5
This file was deleted.

0 commit comments

Comments
 (0)