Wie berechnet man Mittelwert, Varianz, Median, Standardabweichung und Verteilungsmodus? Wenn ich zufällig Zahlen generiere, die die Normalverteilung bilden, habe ich den Mittelwert als m=24.2
Standardabweichung wie folgt angegeben sd=2.2
:
> dist = rnorm(n=1000, m=24.2, sd=2.2)
Dann kann ich folgendes tun:
Bedeuten:
> mean(dist)
[1] 24.17485
Varianz:
> var(dist)
[1] 4.863573
Median:
> median(dist)
[1] 24.12578
Standardabweichung:
> sqrt(var(dist))
[1] 2.205351
Modus aka Modus (von hier übernommen ):
> names(sort(-table(dist)))[1]
[1] "17.5788181686221"
- Ist das die ganze Magie oder gibt es noch etwas, das ich nicht realisiert habe?
- Kann ich mir meine glockenförmige Normalverteilung mit vertikalen Linien (Mittelwert, Median ...) irgendwie vorstellen?
- Was sagen diese Attribute über die Verteilung aus?
PS: Code ist in R.
r
distributions
mean
Wakan Tanka
quelle
quelle
Antworten:
Zunächst ein allgemeiner Kommentar zum Modus:
Sie sollten diesen Ansatz nicht verwenden, um den Modus (zumindest fiktiv) kontinuierlich verteilter Daten zu ermitteln. Es ist unwahrscheinlich, dass sich Werte wiederholen (es sei denn, Sie haben wirklich große Stichproben, es wäre ein kleines Wunder, und selbst dann könnten verschiedene numerische Probleme dazu führen, dass es sich auf etwas unerwartete Weise verhält), und Sie erhalten im Allgemeinen nur den Mindestwert dafür Weg. Es wäre eine Möglichkeit, einen der globalen Modi in diskreten oder kategorialen Daten zu finden, aber ich würde es wahrscheinlich auch dann nicht so machen. Hier sind einige andere Ansätze, um den Modus für diskrete oder kategoriale Daten zu erhalten:
Wenn Sie nur den Wert und nicht die Anzahl oder Position wollen,
names()
erhalten Sie ihn von diesenUm Modi (es kann mehr als einen lokalen Modus geben) für kontinuierliche Daten auf grundlegende Weise zu identifizieren , können Sie die Daten (wie bei einem Histogramm) ablegen oder sie glätten (
density
z. B. verwenden) und versuchen, einen oder mehrere Modi zu finden dieser Weg.Mit weniger Histogrammfächern ist Ihre Schätzung eines Modus weniger rauschempfindlich, aber die Position wird nicht besser als die Behälterbreite festgelegt (dh Sie erhalten nur ein Intervall). Mehr Behälter ermöglichen möglicherweise mehr Präzision innerhalb eines Behälters, aber Rauschen kann dazu führen, dass er über viele solcher Behälter hinweg springt. Eine kleine Änderung des Behälterursprungs oder der Behälterbreite kann zu relativ großen Änderungen des Modus führen. (Es gibt den gleichen Bias-Varianz-Kompromiss in allen Statistiken.)
Beachten Sie,
summary
dass Sie mehrere grundlegende Statistiken erhalten.[Sie sollten
sd(x)
eher als verwendensqrt(var(x))
; es ist klarer für eine Sache]- -
In Bezug auf q.2 ja; Sie könnten sicherlich den Mittelwert und den Median der Daten auf einer Anzeige wie einem Histogramm oder einem Boxplot anzeigen. Sehen Sie hier einige Beispiele und Code , dass Sie in der Lage sein sollte, unabhängig von Fällen zu verallgemeinern Sie benötigen.
quelle
Einige zusätzliche und nicht sehr bekannte beschreibende Statistiken.
Ich bin sicher, dass Sie viele andere in einem dieser frei verfügbaren
R
Handbücher finden können.quelle
Wie @Glen_b beschrieben hat, ist der Modus einer kontinuierlichen Verteilung nicht so einfach wie für einen Vektor von ganzen Zahlen.
Dieser R-Code erhält den Modus für eine kontinuierliche Verteilung unter Verwendung der unglaublich nützlichen
hist()
Funktion von Basis R. Wie @Glen_b beschrieben hat, werden Beobachtungen in Bins eingeteilt - diskrete Kategorien, in denen die Beobachtung als Instanz von gezählt wird, wenn sie in das Bin-Intervall fällt dieser Behälter, der das Problem umgeht, dass es in einer kontinuierlichen Verteilung höchst unwahrscheinlich ist, dass er genau denselben Wert zweimal beobachtet.Jetzt behandeln wir den Mittelpunkt des Bin-Intervalls, in dem sich die maximale Anzahl befindet, als Modus
Voila! Der Modus.
ps Sie können auch den Beginn des Intervalls als Modus über behandeln
h$breaks[which.max(h$counts)]
. Wie bereits erwähnt, sind Modi für kontinuierliche Verteilungen nicht einfach und erfordern Entscheidungen. Daher gibt es für sie keine einfache Funktion wie beimean()
undmedian()
quelle