Ich habe einen Datensatz mit folgender Struktur:
a word | number of occurrence of a word in a document | a document id
Wie kann ich einen Test für die Normalverteilung in R durchführen? Wahrscheinlich ist es eine einfache Frage, aber ich bin ein R-Neuling.
r
distributions
normality-assumption
Skarabäus
quelle
quelle
zipfR
Paket.Antworten:
Wenn ich Ihre Frage richtig verstehe, können Sie einen Shapiro-Wilk-Test und einige qqplots verwenden, um zu testen, ob Wortvorkommen in einer Reihe von Dokumenten einer Normalverteilung entsprechen. Zum Beispiel,
Die qqplot-Befehle geben Folgendes aus:
Sie können sehen, dass der zweite Datensatz durch die schweren Schwänze eindeutig nicht normal ist ( Weitere Informationen ).
Im Shapiro-Walk-Normalitätstest ist der p-Wert für den ersten Datensatz (> .9) groß, für den zweiten Datensatz (<.01) jedoch sehr klein. Dies führt dazu, dass Sie die Nullhypothese für die Sekunde ablehnen.
quelle
qqline
soll das 1 Steigung und mu Achsenabschnitt haben.Angenommen, Ihr Dataset heißt
words
und enthält einecounts
Spalte, können Sie das Histogramm zeichnen, um eine Visualisierung der Verteilung zu erhalten:Dabei ist 100 die Anzahl der Fächer
Sie können auch einen normalen QQ-Plot mit erstellen
Schließlich können Sie auch den Shapiro-Wilk-Test für die Normalität verwenden
Schauen Sie sich diese Diskussion an: Normalitätstests: 'Im Wesentlichen nutzlos?'
quelle
Kein Test zeigen Ihnen , dass Ihre Daten haben eine Normalverteilung - es wird nur in der Lage sein , Ihnen zu zeigen , wenn die Daten ausreichend nicht mit einem normalen ist , dass Sie die Null ablehnen würden.
Aber Zählungen sind in jedem Fall nicht normal, sondern positive ganze Zahlen - wie hoch ist die Wahrscheinlichkeit, dass eine Beobachtung aus einer Normalverteilung einen Wert annimmt, der keine ganze Zahl ist? (... das ist ein Ereignis der Wahrscheinlichkeit 1).
Warum sollten Sie in diesem Fall auf Normalität prüfen? Es ist offensichtlich falsch.
[In einigen Fällen ist es möglicherweise nicht unbedingt wichtig, dass Sie feststellen, dass Ihre Daten nicht normal sind. Echte Daten werden niemals (oder fast nie) tatsächlich aus einer Normalverteilung entnommen.]
Wenn Sie wirklich einen Test durchführen müssen, ist der Shapiro-Wilk-Test (
?shapiro.test
) ein guter allgemeiner Test für die Normalität, der häufig verwendet wird.quelle
Eine formalere Art, die Normalität zu betrachten, besteht darin, zu testen, ob sich Kurtosis und Schiefe signifikant von Null unterscheiden.
Dazu benötigen wir:
für Kurtosis und:
für Schiefe.
Beide Tests sind einseitig, sodass Sie den p-Wert mit 2 multiplizieren müssen, um zweiseitig zu sein. Wenn Ihr p-Wert größer als eins wird, müssen Sie 1-kurtosis.test () anstelle von kurtosis.test verwenden.
Wenn Sie weitere Fragen haben, senden Sie eine E-Mail an [email protected]
quelle
kurtosis()
und dieskewness()
Funktionen des Moments- Pakets? Ergebnisse mitrnorm()
Stichproben sind unterschiedlich.Neben dem Shapiro-Wilk-Test des Statistikpakets bietet das Nortest-Paket (verfügbar auf CRAN) weitere Normalitätstests.
quelle
Mit dem
nortest
Paket von R können folgende Tests durchgeführt werden:Führen Sie einen Anderson-Darling-Normalitätstest durch
Cramér-von-Mises-Test auf Normalität durchführen
Führen Sie einen Pearson-Chi-Quadrat-Test für die Normalität durch
Führen Sie einen Shapiro-Francia-Test auf Normalität durch
Mit dem
normtest
Paket können viele andere Tests durchgeführt werden . Siehe Beschreibung unter https://cran.r-project.org/web/packages/normtest/normtest.pdfquelle