IQR-Ausreißer erkennen
Finden Sie die Werte, die weit außerhalb der mittleren Hälfte Ihrer Daten liegen: Bei 1, 2, 2, 3, 4 und 100 liegen die Grenzen bei −1 und 7, also ist 100 der einzige Ausreißer. Alle Quartile und Grenzen werden angezeigt. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Werte
- 1, 2, 2, 3, 4, 100
- Anzahl
- 6
- Q1
- 2
- Q2
- 2,5
- Q3
- 4
Der IQR-Ausreißer-Rechner erkennt Werte, die weit von der mittleren Hälfte einer Zahlenstichprobe entfernt liegen. Er sortiert ein nicht leeres Array, berechnet Q1 und Q3 nach der exklusiven Tukey-Konvention, bestimmt den Interquartilsabstand und setzt die Grenzen beim 1.5-Fachen dieses Abstands. Jeder strikt außerhalb liegende Wert wird markiert. Die Antwort enthält Quartile, IQR, Grenzen, markierte Werte und deren Anzahl, sodass Sie die Analyse ohne Annahme einer Normalverteilung prüfen oder automatisieren können.
So funktioniert die 1.5-IQR-Regel
Zuerst werden die Zahlen aufsteigend sortiert. Der Rechner bestimmt Q2 als Median der gesamten Stichprobe, anschließend Q1 aus der unteren und Q3 aus der oberen Hälfte. Bei einer ungeraden Anzahl wird der mittlere Median aus beiden Hälften ausgeschlossen; dies entspricht der exklusiven Tukey-Konvention.
Der Interquartilsabstand IQR ist Q3 minus Q1 und beschreibt die Breite der mittleren fünfzig Prozent. Die untere Grenze ist Q1 minus 1.5 mal IQR, die obere Q3 plus 1.5 mal IQR. Ein Wert wird nur markiert, wenn er strikt unter beziehungsweise über einer Grenze liegt; Gleichheit reicht nicht.
Da Quartile gegenüber Extremwerten robuster als Mittelwert und Standardabweichung sind, eignet sich die Regel als nachvollziehbarer Filter. Die Antwort zeigt Q1, Q2, Q3, IQR, beide Grenzen, das sortierte Ausreißer-Array und dessen Anzahl. So können Sie jede Einstufung unmittelbar kontrollieren.
Array vorbereiten und Antwort auswerten
Ganzzahlen, Dezimalzahlen, negative Werte, Wiederholungen und eine einzelne Beobachtung sind zulässig. Numerische Zeichenketten, null, Unendlich, NaN, fehlende Eingaben und Arrays oberhalb der veröffentlichten Grenze werden abgewiesen. Diese strikte Validierung verhindert bedeutungsverändernde Umwandlungen.
Bei einem Einzelwert stimmen Quartile und Grenzen überein, IQR ist null und es gibt keinen Ausreißer. Beachten Sie beim Vergleich mit Tabellenprogrammen deren jeweilige Perzentilkonvention.
Markierungen als Hinweis statt Löschbefehl verwenden
Eine IQR-Markierung bedeutet, dass ein Wert weit vom Zentrum dieser Stichprobe entfernt liegt; sie beweist keinen Fehler. In der Qualitätskontrolle kann sie einen defekten Sensor oder eine echte Prozessabweichung anzeigen. Ein sehr großer Auftrag kann ein legitimer Unternehmenskauf sein.
Prüfen Sie daher Quelle und fachlichen Kontext, bevor Sie Daten löschen, ersetzen oder begrenzen. Bei sehr kleinen Stichproben, multimodalen Daten und unpassend zusammengefassten Gruppen ist die Regel ebenfalls eingeschränkt. Berechnen Sie gegebenenfalls getrennte Grenzen für Gerätemodell, Region oder Versuchsbedingung.
Duplikate bleiben erhalten, weil ihre Häufigkeit relevant ist, und Werte exakt auf einer Grenze werden nicht markiert. Speichern Sie für reproduzierbare Abläufe Quartile und Grenzen zusammen mit den Markierungen, nicht nur ein bereinigtes Array. Damit entsteht eine Auditspur für jede Entscheidung.
Nutzen Sie den Rechner als transparenten Prüfschritt vor Visualisierung, Validierung oder Modellierung und nicht als undurchsichtige Anweisung zum Entfernen ungewöhnlicher Beobachtungen.
Anwendungsfälle
Sensormesswerte prüfen
Markieren Sie Messungen außerhalb der IQR-Grenzen eines Loses, bevor Sie Kalibrierung, Übertragung oder Prozess untersuchen.
Importierte Geschäftsdaten kontrollieren
Finden Sie ungewöhnliche Beträge, die auf Tippfehler, abweichende Einheiten oder legitime Sondergeschäfte hindeuten.
Robuste Statistik vermitteln
Zeigen Sie, wie Quartile, IQR und Tukey-Grenzen eine reproduzierbare Liste auffälliger Beobachtungen ergeben.
Häufige Fragen
Welche Werte gelten als Ausreißer?
Werte strikt unter Q1 minus 1.5 mal IQR oder strikt über Q3 plus 1.5 mal IQR.
Was geschieht mit einem Wert genau auf der Grenze?
Er wird nicht markiert, da nur strikt außerhalb liegende Werte als Ausreißer gelten.
Welche Quartilkonvention wird verwendet?
Exklusive Tukey-Hälften: Bei ungeradem Umfang wird der Gesamtmedian aus Q1 und Q3 ausgeschlossen.
Muss jeder markierte Wert entfernt werden?
Nein. Er ist ungewöhnlich, aber nicht zwingend falsch. Prüfen Sie Quelle und Kontext vor einer Änderung.
Warum markiert meine Tabellenkalkulation andere Werte?
Tabellenkalkulationen interpolieren Quartile auf unterschiedliche Weise, und ein leicht anderes Q1 oder Q3 verschiebt die Grenzen. Dieser Rechner verwendet stets die exklusive Tukey-Konvention, die den Median bei ungerader Anzahl aus beiden Hälften herauslässt.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/stat/iqr-outlier-detection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"values":[1,2,2,3,4,100]}'const res = await fetch("https://api.kit.forhosting.com/stat/iqr-outlier-detection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"values": [
1,
2,
2,
3,
4,
100
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/iqr-outlier-detection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"values": [
1,
2,
2,
3,
4,
100
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/iqr-outlier-detection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"values":[1,2,2,3,4,100]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"values":[1,2,2,3,4,100]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/iqr-outlier-detection", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"values": [
1,
2,
2,
3,
4,
100
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.iqr_outlier_detection",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Array vorbereiten und Antwort auswerten
Senden Sie im Feld values ein nicht leeres JSON-Array endlicher Zahlen. Die Berechnung sortiert eine interne Kopie, weshalb die Eingabereihenfolge das Ergebnis nicht beeinflusst. count nennt die Zahl der Beobachtungen; Q1, Q2 und Q3 stehen für unteres Quartil, Median und oberes Quartil. lower_fence und upper_fence liefern die exakten Grenzen, während outliers alle markierten Werte aufsteigend und einschließlich Duplikaten ausgibt. Ein leeres Array erzeugt invalid_input, weil Quartile ohne Daten nicht definiert sind. Ein erfolgreicher API-Aufruf kostet $0.002; im Browser läuft derselbe deterministische Algorithmus.
Technische Fragen
Warum verursacht ein leeres Array einen Fehler?
Quartile und IQR sind ohne Beobachtungen nicht definiert; deshalb wird invalid_input zurückgegeben.
Was kostet ein API-Aufruf?
Jeder erfolgreiche Aufruf kostet $0.002. Derselbe deterministische Rechenweg ist im Browser kostenlos verfügbar.