skpro
skpro ist eine Open-Source-Python-Bibliothek für überwachte probabilistische Vorhersagen.
skpro ist eine Open-Source-Python-Bibliothek für überwachte probabilistische Vorhersagen und stellt scikit-learn-ähnliche sowie scikit-base-kompatible Schnittstellen für unsicherheitsbewusste Modellierung bereit. Sie ermöglicht probabilistische Regression, Intervall- und Quantilvorhersagen, vollständige Verteilungsprognosen sowie Survival- und Time-to-Event-Analysen über eine einheitliche, erweiterbare API.
Die Bibliothek wird von der sktime-Community entwickelt und integriert sich nahtlos in das Python-Machine-Learning-Ökosystem.
Zielsetzung
Klassische Machine-Learning-Workflows liefern häufig nur Punktvorhersagen und ignorieren Unsicherheiten. skpro setzt genau hier an und macht Unsicherheitsquantifizierung zu einem zentralen Bestandteil des Modellierens.
Ziel ist es, bessere Entscheidungen, realistischere Bewertungen und robustere Modelle zu ermöglichen, indem Wahrscheinlichkeitsverteilungen, Intervalle und Quantile systematisch unterstützt werden.
Zentrale Fähigkeiten
Probabilistische Regression für tabellarische Daten
Intervall-, Quantil- und Verteilungsprognosen
Time-to-Event- und Survival-Vorhersagen
Metriken zur Bewertung probabilistischer Vorhersagen
Reduktionen zur Erweiterung klassischer Regressoren um Unsicherheiten
Aufbau von Pipelines und zusammengesetzten Modellen
Symbolische Wahrscheinlichkeitsverteilungen mit pandas-kompatibler Schnittstelle
Probabilistische Vorhersagen
Tabellarische Regression
skpro unterstützt probabilistische Regression mit verschiedenen Vorhersagemodi:
Mittelwert- und Varianzschätzung
Prognoseintervalle
Quantile
Vollständige prädiktive Verteilungen
Dadurch lassen sich Unsicherheiten direkt gemeinsam mit den Vorhersagen modellieren.
Survival- und Time-to-Event-Vorhersage
Für Survival-Analysen stellt skpro Werkzeuge bereit, die instanzindividuelle Überlebensverteilungen liefern, anstatt nur einzelne Risikowerte oder Punktabschätzungen.
Modellreduktionen und Pipelines
Probabilistische Reduktionen
skpro bietet Reduktionen, mit denen klassische scikit-learn-Regressoren in probabilistische Modelle überführt werden können, unter anderem durch:
Bootstrap-basierte Verfahren
Konforme Vorhersage (Conformal Prediction)
Residuenbasierte probabilistische Modellierung
So können bestehende Modelle weiterverwendet und um Unsicherheiten ergänzt werden.
Pipelines und zusammengesetzte Modelle
Modelle lassen sich zu Pipelines und komplexen Schätzern kombinieren, inklusive Hyperparameter-Optimierung auf Basis probabilistischer Leistungsmetriken.
Wahrscheinlichkeitsverteilungen
Symbolische Verteilungsobjekte
skpro stellt symbolische Wahrscheinlichkeitsverteilungen bereit mit:
expliziter mathematischer Struktur
Wertebereichen auf Basis von pandas DataFrames
pandas-ähnlichen Schnittstellen zur Inspektion und Weiterverarbeitung
Diese Verteilungen können konsistent für Vorhersage, Bewertung und Analyse genutzt werden.
Bewertung und Metriken
Probabilistische Leistungsmetriken
Zur Bewertung probabilistischer Modelle bietet skpro unter anderem:
Pinball Loss
Empirische Abdeckung
Continuous Ranked Probability Score (CRPS)
Survival-spezifische Verlustfunktionen
Dies ermöglicht realistische und unsicherheitsbewusste Modellvergleiche.
Ökosystem-Kompatibilität
Integration mit scikit-learn und sktime
skpro ist vollständig kompatibel mit scikit-learn und sktime und ermöglicht hybride Workflows, zum Beispiel:
Aufbau probabilistischer Modelle aus deterministischen Regressoren
Kombination von Zeitreihen- und tabellarischen Modellen
Wiederverwendung bestehender Estimatoren mit Unsicherheitsmodellierung
Interoperabilität mit externen Bibliotheken
Das Projekt integriert und kuratiert Schnittstellen zu Drittanbieter-Bibliotheken wie cyclic-boosting, MAPIE oder ngboost.
Einsatzgebiete
Unsicherheitsbewusste Regressionsmodelle
Risiko- und Entscheidungsunterstützungssysteme
Survival- und Time-to-Event-Analysen
Probabilistische Forecasting-Pipelines
Forschung zu Unsicherheitsquantifizierung und Modellbewertung
Open Source
skpro ist freie Open-Source-Software unter der BSD 3-Clause License und wird offen von der sktime-Community entwickelt. Das Projekt bietet umfangreiche Dokumentation, Tutorials und lädt zu Beiträgen jeder Art ein.
GC.OS unterstützt skpro als Open-Source-Projekt zur Förderung interoperabler, transparenter und zuverlässiger probabilistischer Machine-Learning-Modelle.