Utilisation

Avec contrainte de convexité (degree>=2)

from BsplineQuantRegpy import SplineQuadraticQuant

# Données avec forme convexe
x = np.linspace(0, 1, 100)
y = x**2 + 0.05*np.random.randn(100)
knots = np.quantile(x, np.linspace(0, 1, 11))

result = SplineQuadraticQuant(x, y, knots, tau=0.5, convex=1)

Interface unifiée

from BsplineQuantRegpy import quantile_spline

# Spline cubique avec contrainte croissante
result = quantile_spline(x, y, knots, degree=3, tau=0.5, monot=1)

# Spline quartique avec contrainte convexe
result = quantile_spline(x, y, knots, degree=4, tau=0.5, convex=1)

Interface graphique (GUI)

from BsplineQuantRegpy import run_gui
run_gui()

Paramètres des fonctions

Les principales fonctions acceptent les paramètres suivants :

  • x : Variables explicatives (1D)

  • y : Variables à expliquer (1D)

  • knots : Nœuds pour les B-splines

  • tau : Quantile à estimer (entre 0 et 1)

  • monot : Contrainte de monotonie (0, 1, -1)

  • convex : Contrainte de convexité (0, 1, -1)

  • deriv3 : Contrainte sur la dérivée troisième (0, 1, -1)

  • solver : Solveur SOCP à utiliser

  • n_int : Nombre de points d’évaluation pour les contraintes