pyGAM
pyGAM ist eine Open-Source-Python-Bibliothek für Generalized Additive Models.
pyGAM ist eine Open-Source-Python-Bibliothek zur Erstellung von Generalized Additive Models (GAMs) mit einem starken Fokus auf Modularität, Performance und Interpretierbarkeit. Die API ist bewusst an scikit-learn und SciPy angelehnt und ermöglicht einen einfachen Einstieg in GAMs ohne Verlust statistischer Tiefe.
Die Bibliothek bietet ein flexibles Framework für Regression, Klassifikation und distributionsbasierte Modellierung mit erklärbaren, glatten Funktionen.
Zielsetzung
Generalized Additive Models stellen einen leistungsfähigen Mittelweg zwischen linearen Modellen und vollständig „Black-Box“-Ansätzen dar. pyGAM wurde entwickelt, um diese Modellklasse praxisnah nutzbar zu machen und gleichzeitig ihre zentralen Stärken zu bewahren: Interpretierbarkeit, Flexibilität und statistische Fundierung.
pyGAM eignet sich sowohl für explorative Datenanalyse als auch für angewandte Modellierung und Forschung.
Zentrale Merkmale
Generalized Additive Models für Regression und Klassifikation
Vertraute, scikit-learn-ähnliche API
Modulares Design für Terme, Strafen und Verteilungen
Automatische Glättung und Modell-Tuning
Leistungsfähige numerische Optimierung
Starker Fokus auf Modellinterpretierbarkeit
Generalized Additive Models
Additive Modellierung
pyGAM modelliert Zusammenhänge als Summe glatter Funktionen. Dadurch lassen sich nichtlineare Effekte abbilden, während der Einfluss einzelner Features klar interpretierbar bleibt.
Terme und Interaktionen
Die Bibliothek unterstützt:
Glatte Terme für kontinuierliche Variablen
Faktor-Terme für kategoriale Variablen
Interaktionsterme zwischen Features
Benutzerdefinierte Modellstrukturen
So lassen sich flexible Modelle ohne intransparente Repräsentationen erstellen.
Unterstützte Modellierungsaufgaben
Regression
pyGAM unterstützt Regressionsmodelle mit verschiedenen Verteilungen, darunter Gauß- und Poisson-Modelle, und eignet sich damit für kontinuierliche Daten, Zähldaten und Raten.
Klassifikation
Binäre und multiklassige Klassifikation wird über geeignete Link-Funktionen und Verteilungen unterstützt.
Distributionsbasierte Modellierung
Fortgeschrittene Anwendungsfälle umfassen:
Poisson-Regression und Histogramm-Glättung
Expectile-Regression
Benutzerdefinierte Likelihoods und Link-Funktionen
Optimierung und Nebenbedingungen
Strafen und Constraints
pyGAM bietet integrierte Unterstützung für Glattheitsstrafen und Nebenbedingungen, um:
Modellkomplexität zu steuern
Monotonie- oder Formrestriktionen durchzusetzen
Generalisierung und Stabilität zu verbessern
Automatisches Tuning
Glättungsparameter können automatisch optimiert werden, wodurch manueller Abstimmungsaufwand reduziert wird.
Performance und Abhängigkeiten
pyGAM ist auf hohe Performance ausgelegt und nutzt NumPy und SciPy für numerische Berechnungen. Für große oder stark eingeschränkte Modelle kann optionale Beschleunigung über Sparse-Linear-Algebra-Bibliotheken genutzt werden.
Die Bibliothek ist mit aktuellen Python-Versionen kompatibel und fügt sich nahtlos in wissenschaftliche Python-Umgebungen ein.
Einsatzgebiete
Interpretierbare Regression und Klassifikation
Explorative Datenanalyse
Modellierung nichtlinearer Zusammenhänge
Statistisches Lernen in angewandter Forschung
Transparente Alternativen zu Black-Box-Modellen
Wissenschaftliche Grundlage
pyGAM ist wissenschaftlich fundiert und über Zenodo zitierbar. Die Bibliothek wird in Forschung und Praxis eingesetzt, wo Nachvollziehbarkeit und statistische Korrektheit entscheidend sind.
Open Source
pyGAM ist freie Open-Source-Software und steht unter der Apache License 2.0. Die Entwicklung erfolgt offen auf GitHub, Beiträge, Bugreports und Verbesserungsvorschläge sind ausdrücklich willkommen.
GC.OS unterstützt pyGAM als Open-Source-Projekt für transparente, interpretierbare und statistisch fundierte Machine-Learning-Modelle.