Es ist nicht normal, oder doch?
In mehreren aktuellen Diskussionen über die Verwendung parametrischer Tests wurde die Frage aufgeworfen, ob die Daten normal verteilt sind (oder einen Anpassungstest auf Normalität bestehen). In jedem dieser Fälle war die Stichprobengröße relativ gering (<30) und die Schlussfolgerung war, dass die Daten nicht aus einer normalverteilten Population stammten. Die nächsten Schritte umfassten einige komplizierte Transformationsschritte, die die Analyse übermäßig komplizierten.
Ich begann mich zu fragen, wie hoch die Wahrscheinlichkeit ist, einen Anpassungstest nicht zu bestehen, wenn die zugrunde liegende Population tatsächlich normal verteilt ist, oder wie hoch die Fehlerrate 1. Art ist. Andererseits, wenn die Population nur ein wenig verzerrt, nicht normal verteilt ist, wie oft würde sie einen Anpassungstest bestehen?
Zu Beginn habe ich Sätze von 10 Stichproben aus einer normalverteilten Population und einer gammaverteilten Population generiert, indem ich einige Zufallsfunktionen als Formeln in einer Datentabelle verwendet habe. Zufallsnormal (20,4) und Zufallsgamma (20). Die Populationsstatistiken zeigen deutlich, dass die Normalverteilung normal ist und die Gammaverteilung einen Normalitätstest nicht besteht (Abbildung 1).

Abbildung 1. Verteilungsvergleiche von Populationen aus einer Normal- oder Gammaverteilung. Die Stichprobengröße beträgt 10.000. Bei einer großen Stichprobengröße liegen die Enden der gammaverteilten Population (linkes Feld) deutlich außerhalb der 95%-Konfidenzintervalle (rote gestrichelte Linien) der Regressionsgerade für die normale Wahrscheinlichkeit im Normalquantildiagramm.
Der große Datensatz (n = 100.000) wurde in Gruppen zu je 10 Personen aufgeteilt und jede Untergruppe (n = 10.000) wurde mit denselben Tests auf Normalität getestet, die auch für den Datensatz in Abbildung 1 verwendet wurden. Kleine Wahrscheinlichkeitswerte verwerfen die Nullhypothese, dass die Daten einer Normalverteilung entstammen, daher wurde ein Grenzwert von 0,05 verwendet, um zu bestimmen, ob die Untergruppe den Anpassungstest bestanden hat. Die tabellarischen Ergebnisse sind in Abbildung 2 dargestellt. Sowohl der Anderson-Darling- als auch der Shapiro-Wilk-Anpassungstest zeigten einen ähnlichen Anteil der Stichprobengruppen an. Gruppen aus der Normalbevölkerung fielen in etwa 5 % der Fälle durch und Gruppen aus der gammaverteilten Bevölkerung bestanden in etwa 94 % (in etwa 6 %) der Fälle.

Abbildung 2. Anteil der Proben, die den Anpassungstest nicht bestehen. Probengruppen (n=10) mit einer Wahrscheinlichkeit einer Normalverteilung <= 0,05 werden mit „1“ und Gruppen, die den Test bestehen, mit „0“ gekennzeichnet.
Ich war ein wenig überrascht über die Fehlerrate 1. Art bei den Proben aus der Normalverteilung (vielleicht hätte ich das nicht sein sollen...). Das bedeutet, dass bei einer kleinen Stichprobengröße von etwa 1 zu 20 Daten aus einer zugrunde liegenden normalverteilten Population einen Anpassungstest nicht bestehen. Proben aus einer leicht verzerrten Population hatten eine ähnliche Erkennungsrate.
Das Problem ist offensichtlich die kleine Stichprobengröße? Der nächste Schritt bestand darin, dieselben Testgruppen mit zunehmend größeren Stichprobengrößen durchzuführen. Mit etwas größeren Stichproben wird die Rate falsch-positiver Ergebnisse sicherlich drastisch sinken. Der nächste Schritt bestand darin, Untergruppen von 30 zu testen, mit wenig Wirkung, gefolgt von Untergruppen von 100, 300 und 1000. Um die Dinge ausgeglichen zu halten, wollte ich n=10.000 als Anzahl der Untergruppen; die Tabellen wurden jedoch immer größer und die Analyse wurde langsam, also hörte ich bei der Stichprobengröße von 1000 auf. Hauptsächlich, weil ich nicht so geduldig bin und der Trend offensichtlich wurde. In meiner wissenschaftlichen Richtung war eine Stichprobengröße von 3 das Minimum, 10 war viel und 30 wurde einfach lächerlich. Wie sich herausstellt, ist die richtige Zahl wahrscheinlich viel höher, um die Anpassungsgüte wirklich zuverlässig zu bewerten. Abbildung 3 enthält den Anteil der Stichproben, die die Anpassungsgütetests für die von mir verwendeten Stichprobengrößen nicht bestanden.

Abbildung 3. Anteil nicht normalverteilter Stichproben. Der Anteil nicht normalverteilter Stichproben für jede Stichprobengröße wird sowohl für den Anderson-Darling- als auch den Shapiro-Wilk-Test dargestellt. Die Stichproben stammten aus einer Population mit Normalverteilung.
Aufgrund der Daten und Analysen dieser Simulationen bin ich vorsichtiger, wenn es darum geht, die Ergebnisse eines Anpassungstests zu akzeptieren, ohne mir die Daten genau anzuschauen. Ich würde sehr zögern, eine Anpassungsstatistik zu den Akzeptanzkriterien oder einem SOP für den Umgang mit Daten hinzuzufügen. Blind mit Statistiken zu arbeiten ist fast so sicher wie mit einer Schere zu arbeiten? Ich denke, das wirft die Frage auf, wie man die Annahmen der Normalität für parametrische Tests besser beurteilen kann. Vielleicht ist das ein gutes Thema für einen zukünftigen Blogbeitrag.
Wenn Sie die Methode, die ich zur Überprüfung der Falsch-Positiv-Rate eines Normalitätstests verwendet habe, verbessern oder einfach nur versuchen möchten, meine Ergebnisse zu reproduzieren, habe ich unten das Skript beigefügt, das ich zur Datengenerierung verwendet habe. In diesem Skript finden Sie Hinweise, wo Sie die Werte für die Tabellengröße und die Stichprobengröße ändern können.
Names Default To Here( 1 );
dt = New Table( "Source Data",
Add Rows( 10000 ), //Change row number when using larger sample sizes
New Column( "Normal", Numeric, "Continuous", Format( "Best", 12 ), Formula( Random Normal( 20, 4 ) ) ),
New Column( "Gamma", Numeric, "Continuous", Format( "Best", 12 ), Formula( Random Gamma( 20 ) ) ),
//Change the number of times the group column repeats for larger or smaller sample sizes
New Column( "group", Numeric, "Continuous", Format( "Best", 12 ), Formula( Sequence( 1, N Rows(), 1, 10 ) ) )
);
rpt = New Window( "Distribution",
dt << Distribution(
Continuous Distribution(
Column( :Normal ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Process Capability( 0 ),
Fit Normal( Goodness of Fit( 1 ) )
),
Continuous Distribution(
Column( :Gamma ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Process Capability( 0 ),
Fit Normal( Goodness of Fit( 1 ) )
),
By( :group )
)
);
Wait( 0 );
//Get tables from the report
dt1 = rpt["Distributions", "group=1", "Normal", "Fitted Normal Distribution", "Goodness-of-Fit Test", Table Box( 1 )] << Make Combined Data Table;
dt1 << set name( "AD" );
dt2 = rpt["Distributions", "group=1", "Normal", "Fitted Normal Distribution", "Goodness-of-Fit Test", Table Box( 2 )] << Make Combined Data Table;
dt2 << set name( "SW" );
rpt << Close Window;
//table formatting
dt1 << New Formula Column( Operation( Category( "Row" ), "Row" ), Columns( :Table ) );
dt2 << New Formula Column( Operation( Category( "Row" ), "Row" ), Columns( :Table ) );
dt1:Column 1 << Set Name( "Goodness of Fit Test" );
dt2:Column 1 << Set Name( "Goodness of Fit Test" );
Column( dt1, 7 ) << Set Name( "Fit" );
Column( dt2, 7 ) << Set Name( "Fit" );
Column( dt1, 8 ) << Set Name( "Prob" );
Column( dt2, 8 ) << Set Name( "Prob" );
dt3 = dt1 << Concatenate( dt2, Output Table( "Goodness of Fit Tests" ) );
Close( dt, nosave );Close( dt1, nosave );Close( dt2, nosave );
Abonnieren
Ich begann mich zu fragen, wie hoch die Wahrscheinlichkeit ist, einen Anpassungstest nicht zu bestehen, wenn die zugrunde liegende Population tatsächlich normal verteilt ist, oder wie hoch die Fehlerrate 1. Art ist. Andererseits, wenn die Population nur ein wenig verzerrt, nicht normal verteilt ist, wie oft würde sie einen Anpassungstest bestehen?
Eine weitere interessante Überlegung (insbesondere wenn Sie eine Prozessfähigkeitsanalyse durchführen) ist, wie hoch die Wahrscheinlichkeit ist, dass die Normalverteilung beim Vergleich von Verteilungen auf Basis des AICc nicht an erster Stelle der Liste steht.