Eine sanfte Einführung in statistische Toleranzintervalle im maschinellen Lernen

Tweet Teilen Teilen

Zuletzt aktualisiert am 8. August 2019

Es kann nützlich sein, eine Ober- und Untergrenze für Daten zu haben.

Diese Grenzen können verwendet werden, um Anomalien zu identifizieren und Erwartungen für das zu setzen, was zu erwarten ist. Eine Grenze für Beobachtungen aus einer Population wird als Toleranzintervall bezeichnet. Ein Toleranzintervall stammt aus dem Bereich der Schätzstatistik.

Ein Toleranzintervall unterscheidet sich von einem Vorhersageintervall, das die Unsicherheit für einen einzelnen vorhergesagten Wert quantifiziert. Es unterscheidet sich auch von einem Konfidenzintervall, das die Unsicherheit eines Populationsparameters wie eines Mittelwerts quantifiziert. Stattdessen deckt ein Toleranzintervall einen Anteil der Bevölkerungsverteilung ab.

In diesem Tutorial lernen Sie statistische Toleranzintervalle kennen und wie Sie ein Toleranzintervall für Gaußsche Daten berechnen.

Nach Abschluss dieses Tutorials wissen Sie:

  • Dass statistische Toleranzintervalle eine Grenze für Beobachtungen aus einer Grundgesamtheit darstellen.
  • Dass ein Toleranzintervall erfordert, dass sowohl ein Abdeckungsanteil als auch eine Konfidenz angegeben werden.
  • Dass das Toleranzintervall für eine Datenstichprobe mit einer Gaußschen Verteilung leicht berechnet werden kann.

Starten Sie Ihr Projekt mit meinem neuen Buch Statistics for Machine Learning, einschließlich Schritt-für-Schritt-Anleitungen und den Python-Quellcodedateien für alle Beispiele.

Los geht’s.

Eine sanfte Einführung in statistische Toleranzintervalle im maschinellen Lernen
Foto von Paul Hood, einige Rechte vorbehalten.

Tutorial Übersicht

Dieses Tutorial ist in 4 Teile gegliedert; sie sind:

  1. Datengrenzen
  2. Was sind statistische Toleranzintervalle?
  3. Wie berechnet man Toleranzintervalle
  4. Toleranzintervall für Gaußsche Verteilung

Benötigen Sie Hilfe bei Statistiken für maschinelles Lernen?

Nehmen Sie jetzt an meinem kostenlosen 7-tägigen E-Mail-Crashkurs teil (mit Beispielcode).

Klicken Sie hier, um sich anzumelden und eine kostenlose PDF-Ebook-Version des Kurses zu erhalten.

Laden Sie Ihren KOSTENLOSEN Minikurs herunter

Datengrenzen

Es ist nützlich, Datengrenzen zu setzen.

Wenn Sie beispielsweise eine Stichprobe von Daten aus einer Domäne haben, kann die Kenntnis der Ober- und Untergrenze für Normalwerte hilfreich sein, um Anomalien oder Ausreißer in den Daten zu identifizieren.

Für einen Prozess oder ein Modell, das Vorhersagen macht, kann es hilfreich sein, den erwarteten Bereich zu kennen, den vernünftige Vorhersagen benötigen können.

Wenn Sie den allgemeinen Wertebereich kennen, können Sie Erwartungen festlegen und Anomalien erkennen.

Der Bereich gemeinsamer Werte für Daten wird als Toleranzintervall bezeichnet.

Was sind statistische Toleranzintervalle?

Das Toleranzintervall ist eine Grenze für eine Schätzung des Datenanteils in einer Grundgesamtheit.

Ein statistisches Toleranzintervall ein bestimmter Anteil der Einheiten aus der Stichprobenpopulation oder dem Prozess.

— Seite 3, Statistische Intervalle: Ein Leitfaden für Praktiker und Forscher, 2017.

Das Intervall wird durch den Stichprobenfehler und die Varianz der Grundgesamtheitsverteilung begrenzt. Angesichts des Gesetzes der großen Zahlen stimmen die Wahrscheinlichkeiten mit zunehmender Stichprobengröße besser mit der zugrunde liegenden Populationsverteilung überein.

Nachfolgend finden Sie ein Beispiel für ein angegebenes Toleranzintervall:

Der Bereich von x bis y deckt 95% der Daten mit einer Konfidenz von 99% ab.

Wenn die Daten Gaußsch sind, kann das Intervall im Kontext des Mittelwerts ausgedrückt werden; zum Beispiel:

x +/- y deckt 95% der Daten mit einer Konfidenz von 99% ab.

Wir bezeichnen diese Intervalle als statistische Toleranzintervalle, um sie von Toleranzintervallen im Engineering zu unterscheiden, die Akzeptanzgrenzen beschreiben, beispielsweise für ein Design oder ein Material. Im Allgemeinen werden wir sie der Einfachheit halber einfach als „Toleranzintervalle“ beschreiben.

Ein Toleranzintervall wird in zwei Größen definiert:

  • Abdeckung: Der Anteil der Bevölkerung, der von dem Intervall abgedeckt wird.
  • Konfidenz: Die probabilistische Konfidenz, dass das Intervall den Anteil der Grundgesamtheit abdeckt.

Das Toleranzintervall wird aus Daten unter Verwendung von zwei Koeffizienten konstruiert, der Abdeckung und dem Toleranzkoeffizienten. Die Abdeckung ist der Anteil der Grundgesamtheit (p), den das Intervall enthalten soll. Der Toleranzkoeffizient ist der Vertrauensgrad, mit dem das Intervall die angegebene Abdeckung erreicht. Ein Toleranzintervall mit einer Abdeckung von 95% und einem Toleranzkoeffizienten von 90% enthält 95% der Bevölkerungsverteilung mit einem Vertrauen von 90%.

— Seite 175, Statistik für Umweltingenieure, Zweite Auflage, 2002.

Berechnung von Toleranzintervallen

Die Größe eines Toleranzintervalls ist proportional zur Größe der Datenstichprobe aus der Grundgesamtheit und der Varianz der Grundgesamtheit.

Es gibt zwei Hauptmethoden zur Berechnung von Toleranzintervallen in Abhängigkeit von der Verteilung der Daten: parametrische und nichtparametrische Methoden.

  • Parametrisches Toleranzintervall: Verwenden Sie Kenntnisse über die Populationsverteilung, um sowohl die Abdeckung als auch das Vertrauen anzugeben. Wird oft verwendet, um sich auf eine Gaußsche Verteilung zu beziehen.
  • Nichtparametrisches Toleranzintervall: Verwenden Sie Rangstatistiken, um die Abdeckung und das Vertrauen zu schätzen, was häufig zu einer geringeren Genauigkeit (breitere Intervalle) führt, da keine Informationen über die Verteilung vorliegen.

Toleranzintervalle lassen sich relativ einfach für eine Stichprobe unabhängiger Beobachtungen berechnen, die aus einer Gaußschen Verteilung stammen. Wir werden diese Berechnung im nächsten Abschnitt demonstrieren.

Toleranzintervall für die Gaußsche Verteilung

In diesem Abschnitt werden wir ein Beispiel für die Berechnung der Toleranzintervalle an einer Datenstichprobe durcharbeiten.

Zuerst definieren wir unser Datenbeispiel. Wir erstellen eine Stichprobe von 100 Beobachtungen aus einer Gaußschen Verteilung mit einem Mittelwert von 50 und einer Standardabweichung von 5.

1
2
# Datensatz generieren
data = 5 * randn(100) + 50

Während des Beispiels, wir gehen davon aus, dass wir den wahren Mittelwert und die Standardabweichung der Grundgesamtheit nicht kennen und dass diese Werte geschätzt werden müssen.

Da die Populationsparameter geschätzt werden müssen, gibt es zusätzliche Unsicherheit. Für eine Abdeckung von 95% könnten wir beispielsweise 1,96 (oder 2) Standardabweichungen vom geschätzten Mittelwert als Toleranzintervall verwenden. Wir müssen den Mittelwert und die Standardabweichung aus der Stichprobe schätzen und diese Unsicherheit berücksichtigen, daher ist die Berechnung des Intervalls etwas komplexer.

Als nächstes müssen wir die Anzahl der Freiheitsgrade angeben. Dies wird bei der Berechnung kritischer Werte und bei der Berechnung des Intervalls verwendet. Insbesondere wird es bei der Berechnung der Standardabweichung verwendet.

Denken Sie daran, dass die Freiheitsgrade die Anzahl der Werte in der Berechnung sind, die variieren können. Hier haben wir 100 Beobachtungen, also 100 Freiheitsgrade. Wir kennen die Standardabweichung nicht, daher muss sie mit dem Mittelwert geschätzt werden. Dies bedeutet, dass unsere Freiheitsgrade (N – 1) oder 99 sind.

1
2
3
# Freiheitsgrade angeben
n = len(Daten)
dof = n – 1

Als nächstes müssen wir die proportionale Abdeckung der Daten angeben. In diesem Beispiel interessieren uns die mittleren 95% der Daten. Der Anteil beträgt 95. Wir müssen diesen Anteil so verschieben, dass er die mittleren 95% abdeckt, dh vom 2, 5. Perzentil auf das 97, 5. Perzentil.

Wir wissen, dass der kritische Wert für 95% 1,96 ist, da wir ihn so oft verwenden; Dennoch können wir ihn direkt in Python berechnen, da der Prozentsatz 2,5% der inversen Überlebensfunktion beträgt. Dies kann anhand der Norm berechnet werden.isf() SciPy-Funktion.

1
2
3
4
# Geben Sie die Datenabdeckung an
prop = 0.95
prop_inv = (1.0 – prop) / 2.0
gauß_kritisch = norm.isf(prop_inv)

Als nächstes müssen wir das Vertrauen der Abdeckung berechnen. Wir können dies tun, indem wir den kritischen Wert aus der Chi-Quadrat-Verteilung für die gegebene Anzahl von Freiheitsgraden und die gewünschte Wahrscheinlichkeit abrufen. Wir können das Chi2 verwenden.isf() SciPy-Funktion.

1
2
3
# Geben Sie das Vertrauen an
prob = 0.99
chi_critical = chi2.isf(q=prob, df=dof)

Wir haben jetzt alle Teile, um das Gaußsche Toleranzintervall zu berechnen. Die Berechnung ist wie folgt:

1
Intervall = sqrt((dof * (1 + (1/n)) * gauss_kritisch^2) / chi_kritisch)

Wo dof die Zahl ist n ist die Größe der Datenstichprobe, gauss_critical ist der kritische Wert, z. B. 1,96 für eine 95% ige Abdeckung der Grundgesamtheit, und chi_critical ist der kritische Wert im Chi-Quadrat für das gewünschte Vertrauen und die gewünschten Freiheitsgrade.

1
Intervall = sqrt((dof * (1 + (1/n)) * gauss_kritisch**2) / chi_kritisch)

Wir können das alles binden zusammen und berechnen Sie das Gaußsche Toleranzintervall für unsere Datenstichprobe.

Das vollständige Beispiel ist unten aufgeführt.

Wenn Sie das Beispiel ausführen, werden zuerst die relevanten kritischen Werte für die Gaußsche und die Chi-Quadrat-Verteilung berechnet und gedruckt. Die Toleranz wird gedruckt und dann korrekt dargestellt.

Es kann auch hilfreich sein zu zeigen, wie das Toleranzintervall abnimmt (genauer wird), wenn die Größe der Probe erhöht wird.

Das folgende Beispiel zeigt dies, indem das Toleranzintervall für verschiedene Stichprobengrößen für dasselbe kleine erfundene Problem berechnet wird.

Wenn Sie das Beispiel ausführen, wird ein Diagramm erstellt, das das Toleranzintervall um den wahren Mittelwert der Grundgesamtheit zeigt.

Wir können sehen, dass das Intervall kleiner (genauer) wird, wenn die Stichprobengröße von 5 auf 15 Beispiele erhöht wird.

Fehlerbalkendiagramm des Toleranzintervalls im Vergleich zur Stichprobengröße

Erweiterungen

In diesem Abschnitt werden einige Ideen zur Erweiterung des Tutorials aufgeführt, die Sie möglicherweise erkunden möchten.

  • Listen Sie 3 Fälle auf, in denen ein Toleranzintervall in einem maschinellen Lernprojekt verwendet werden könnte.
  • Suchen Sie einen Datensatz mit einer Gaußschen Variablen und berechnen Sie Toleranzintervalle dafür.
  • Erforschen und beschreiben Sie eine Methode zur Berechnung eines nichtparametrischen Toleranzintervalls.

Wenn Sie eine dieser Erweiterungen erkunden, würde ich gerne wissen.

Weiterführende Literatur

Dieser Abschnitt enthält weitere Ressourcen zu diesem Thema, wenn Sie tiefer gehen möchten.

Bücher

  • Die neuen Statistiken verstehen: Effektgrößen, Konfidenzintervalle und Metaanalyse, 2017.
  • Statistische Intervalle: Ein Leitfaden für Praktiker und Forscher, 2017.

API

  • scipy.Stats.norm() API
  • scipy.Stats.chi2() API
  • matplotlib.pyplot.errorbar() API

Artikel

  • Toleranzintervall auf Wikipedia
  • 68-95-99.7 Regel auf Wikipedia
  • Perzentil auf Wikipedia
  • Toleranzintervalle für eine Normalverteilung

Zusammenfassung

In diesem Tutorial haben Sie statistische Toleranzintervalle entdeckt und wie Sie ein Toleranzintervall für Gaußsche Daten berechnen.

Insbesondere haben Sie gelernt:

  • Dass statistische Toleranzintervalle eine Grenze für Beobachtungen aus einer Grundgesamtheit bilden.
  • Dass ein Toleranzintervall erfordert, dass sowohl ein Abdeckungsanteil als auch eine Konfidenz angegeben werden.
  • Dass das Toleranzintervall für eine Datenstichprobe mit einer Gaußschen Verteilung leicht berechnet werden kann.

Haben Sie Fragen?
Stellen Sie Ihre Fragen in den Kommentaren unten und ich werde mein Bestes tun, um zu antworten.

Holen Sie sich einen Griff auf Statistiken für maschinelles Lernen!

Entwickeln Sie ein funktionierendes Verständnis von Statistiken

… indem Sie Codezeilen in Python schreiben

Entdecken Sie, wie in meinem neuen Ebook:
Statistische Methoden für maschinelles Lernen

Es bietet Tutorials zum Selbststudium zu Themen wie:
Hypothesentests, Korrelation, nichtparametrische Statistiken, Resampling und vieles mehr…

Entdecken Sie, wie man Daten in Wissen umwandelt

Überspringen Sie die Akademiker. Nur Ergebnisse.

Sehen Sie, was drin ist

Tweet teilen Teilen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.