SPCANOVA
is a GitHub repository containing all the figures and simulations results
shown in the paper
@article{NAVARROGARCIA2024,
title = {On mathematical optimization for shape-constrained generalized additive models using $P-$splines},
year = {2024},
url = {https://www.researchgate.net/publication/370492139},
author = {Navarro-García, Manuel and Guerrero, Vanesa and Durbán, María},
keywords = {Shape-constrained regression, Generalized additive models, Penalized splines, Conic optimization},
}
All the simulation studies carried out in this work use the routines implemented in cpsplines, which requires a MOSEK license to solve the optimization problems.
The current version of the project is structured as follows:
- data: a folder containing CSV and parquet files with simulated and real data sets, and the results of the applications.
- scpanova: the main directory of the project, which consist of:
- additive_model.py: contains the code to fit constrained additive P-splines.
- anova_model.py: contains the code to fit constrained ANOVA P-splines.
- figures.ipynb: A Jupyter notebook containing the code used to generate the figures and the tables of the paper.
- hschool.py: the code used to carry out the case-study with the
hschool
data set. - pima.py: the code used to carry out the case-study with the
pima
data set. - production_function.R: contains the R code of the package
AAFS
used during the real case-studies. - R_scripts.R: contains the R code of the packages
scam
andcgam
used during the real case-studies. - R_utils.R: an R script with some useful functions.
- simulations_production.py: the code used to carry out the simulation study for estimating production functions.
- simulations.py: the code used to carry out the simulation study.
generalized_cpsplines_multi
mainly depends on the following packages:
If you have encountered any problem or doubt while using SPCANOVA
, please feel free to
let me know by sending me an email:
- Name: Manuel Navarro García (he/his)
- Email: manuelnavarrogithub@gmail.com
If you find SPCANOVA
or cpsplines
useful, please cite it in your publications.