Unterschied zwischen Quantilen
Nach meinem Verständnis sollten Quantilgrenzen einen Datensatz in gleiche Teile teilen (oder zumindest in fast gleiche Teile, wenn der Datensatz nicht genügend Einträge oder eine ungerade Anzahl von Elementen enthält). Ich habe die pandasFunktion verwendet quantile, um Quartile aus meinem Datensatz abzurufen:
tquantiles = rawData['t'].quantile([0.25,0.5,0.75])
Die Ausgabe zeigt Quantil-Grenzwerte:
0.25 -3.1
0.50 6.7
0.75 15.6
Name: t, dtype: float64
rawData ist ein Ergebnis einer SQL-Abfrage:
rawData = sqlio.read_sql_query('SELECT * ' +
'FROM cards ' +
'INNER JOIN weather ' +
'on ceil_time_3h(event_date) = weather.datetime', conn)
Unter der Annahme, dass Quantile gleich sind, versuche ich, die Anzahl der Objekte zwischen benannten Werten zu vergleichen:
SELECT count("t") AS "25" FROM cards
INNER JOIN weather
on ceil_time_3h(event_date) = weather.datetime
WHERE t >= 15.6;
Dies ist für die Top 25%. Beim Ändern der Werte habe ich Quartile ausgewählt, einschließlich des linken Randes. Diese Werte sind nicht gleich: 128829, 130150, 130250, 130266 für unter 25%, 50%, 75% bzw. über 75%. Darüber hinaus ist die Summe dieser Zählungen geringer als die Anzahl der Elemente im Datensatz.
Wie unterscheiden sich die Quantile in meinem Fall voneinander? Warum unterscheidet sich die Summe von der Anzahl der Elemente im Datensatz?
Antworten
Es scheint, dass Ihre Daten mit einer Auflösung von 0,1 gemessen werden und der Bereich mindestens 18,7 beträgt. Angesichts der Erwähnung von "Wetter" schätze ich, dass es sich um Celsius-Temperaturen handelt.
Nehmen wir an, die Variable hat in diesen Einheiten einen Bereich von 50: Die Schwänze jenseits der Quartile sind oft länger als die Differenz zwischen den Quartilen. Das würde in der Größenordnung von 500 verschiedenen Werten bedeuten.
Es scheint, dass Ihre Stichprobengröße in der Größenordnung von 500000 liegt, sodass jeder einzelne Wert im Durchschnitt etwa 1000 Mal vorkommt und überall Bindungen bestehen.
Es ist auch durchaus möglich, dass Ihre Daten eigenartiger sind als bei menschlichen Lesungen. Viele Beobachter verwenden einige letzte Ziffern anstelle anderer, obwohl die Macken variieren können, einschließlich der Präferenzen für 0 und 5 als endgültige Ziffern oder sogar für Ziffern.
Krawatten sind wahrscheinlich das Problem, zusammen mit der Regel, dass dieselben Werte demselben Bin zugewiesen werden müssen.