So führen sie einen cramer-von-mises-test in r durch (mit beispielen)


Mit dem Cramer-Von-Mises-Test wird ermittelt, ob eine Stichprobe aus einerNormalverteilung stammt oder nicht.

Diese Art von Test ist nützlich, um festzustellen, ob ein bestimmter Datensatz aus einer Normalverteilung stammt oder nicht. Dies ist eine häufig verwendete Annahme in vielen statistischen Tests, einschließlich Regression , ANOVA , T-Tests und vielen anderen. ‚Andere.

Mit der Funktion cvm.test() aus dem Paket goftest in R können wir ganz einfach einen Cramer-Von-Mises-Test durchführen.

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel 1: Cramer-Von-Mises-Test mit normalen Daten

Der folgende Code zeigt, wie ein Cramer-Von-Mises-Test für einen Datensatz mit der Stichprobengröße n=100 durchgeführt wird:

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a normal distribution
data <- rnorm(100)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 0.078666, p-value = 0.7007

Der p-Wert des Tests beträgt 0,7007 .

Da dieser Wert nicht kleiner als 0,05 ist, können wir davon ausgehen, dass die Stichprobendaten aus einer normalverteilten Grundgesamtheit stammen.

Dieses Ergebnis sollte nicht überraschen, da wir die Beispieldaten mit der Funktion rnorm() generiert haben, die Zufallswerte aus einer Standardnormalverteilung generiert.

Verwandt: Eine Anleitung zu dnorm, pnorm, qnorm und rnorm in R

Wir können auch ein Histogramm erstellen, um visuell zu überprüfen, ob die Beispieldaten normalverteilt sind:

 hist(data, col=' steelblue ') 

Shapiro-Wilk-Test für Normalität in R

Wir können sehen, dass die Verteilung ziemlich glockenförmig ist und einen Peak in der Mitte der Verteilung aufweist, was typisch für normalverteilte Daten ist.

Beispiel 2: Cramer-Von-Mises-Test für nicht normale Daten

Der folgende Code zeigt, wie man einen Cramer-Von-Mises-Test an einem Datensatz mit einer Stichprobengröße von 100 durchführt, bei dem die Werte zufällig aus einerPoisson-Verteilung generiert werden:

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a Poisson distribution
data <- rpois(n=100, lambda=3)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 27.96, p-value < 2.2e-16

Der p-Wert des Tests fällt äußerst niedrig aus.

Da dieser Wert unter 0,05 liegt, haben wir genügend Beweise dafür, dass die Stichprobendaten nicht aus einer normalverteilten Grundgesamtheit stammen.

Dieses Ergebnis sollte nicht überraschen, da wir die Beispieldaten mit der Funktion rpois() generiert haben, die Zufallswerte aus einer Poisson-Verteilung generiert.

Verwandt: Eine Anleitung zu dpois, ppois, qpois und rpois in R

Wir können auch ein Histogramm erstellen, um visuell zu erkennen, dass die Beispieldaten nicht normalverteilt sind:

 hist(data, col=' coral2 ') 

Shapiro-Wilk-Testhistogramm in R

Wir können sehen, dass die Verteilung rechtsschief ist und nicht die typische „Glockenform“ einer Normalverteilung aufweist.

Somit stimmt unser Histogramm mit den Ergebnissen des Cramer-Von-Mises-Tests überein und bestätigt, dass unsere Stichprobendaten nicht aus einer Normalverteilung stammen.

Was tun mit nicht normalen Daten?

Wenn ein bestimmter Datensatz nicht normalverteilt ist , können wir häufig eine der folgenden Transformationen durchführen, um ihn normaler zu machen:

1. Log-Transformation: Transformieren Sie die Antwortvariable von y in log(y) .

2. Quadratwurzeltransformation: Transformieren Sie die Antwortvariable von y in √y .

3. Kubikwurzeltransformation: Transformieren Sie die Antwortvariable von y in y 1/3 .

Durch die Durchführung dieser Transformationen nähert sich die Antwortvariable im Allgemeinen der Normalverteilung an.

Indiesem Tutorial erfahren Sie, wie Sie diese Transformationen in der Praxis durchführen.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie man andere Normalitätstests in R durchführt:

So führen Sie einen Shapiro-Wilk-Test in R durch
So führen Sie einen Anderson-Darling-Test in R durch
So führen Sie einen Kolmogorov-Smirnov-Test in R durch

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert