¿Cómo calcular la media, la varianza, la mediana, la desviación estándar y el modo de distribución? Si genero números al azar que forman la distribución normal, he especificado la media como m=24.2
desviación estándar como sd=2.2
:
> dist = rnorm(n=1000, m=24.2, sd=2.2)
Entonces puedo hacer lo siguiente:
Media:
> mean(dist)
[1] 24.17485
Diferencia:
> var(dist)
[1] 4.863573
Mediana:
> median(dist)
[1] 24.12578
Desviación Estándar:
> sqrt(var(dist))
[1] 2.205351
Modo aka Modus (tomado de aquí ):
> names(sort(-table(dist)))[1]
[1] "17.5788181686221"
- ¿Es esta toda la magia, o hay algo más que no me di cuenta?
- ¿Puedo de alguna manera visualizar mi distribución normal en forma de campana con líneas verticales que representan (media, mediana ...)?
- ¿Qué dicen esos atributos sobre la distribución?
PD: el código está en R
r
distributions
mean
Wakan Tanka
fuente
fuente
Respuestas:
Primero un comentario general sobre el modo:
Usted debe no utilizar este enfoque para obtener el modo de (al menos en teoría) de datos distribuidos de forma continua; es poco probable que tenga valores repetidos (a menos que tenga muestras realmente enormes, sería un milagro menor, e incluso entonces varios problemas numéricos podrían hacer que se comporte de maneras inesperadas), y generalmente obtendrá el valor mínimo que camino. Sería una forma de encontrar uno de los modos globales en datos discretos o categóricos, pero probablemente no lo haría de esa manera incluso entonces. Aquí hay varios otros enfoques para obtener el modo de datos discretos o categóricos:
Si solo desea el valor y no el recuento o la posición,
names()
lo obtendrá de esosPara identificar modos (puede haber más de un modo local) para datos continuos de una manera básica, puede agrupar los datos (como con un histograma) o puede suavizarlos (usando,
density
por ejemplo) e intentar encontrar uno o más modos de esa manera.Menos contenedores de histograma harán que su estimación de un modo esté menos sujeta al ruido, pero la ubicación no se fijará mejor que el ancho del contenedor (es decir, solo obtendrá un intervalo). Más contenedores pueden permitir más precisión dentro de un contenedor, pero el ruido puede hacer que salte a través de muchos de ellos; un pequeño cambio en el origen del contenedor o el ancho del contenedor puede producir cambios relativamente grandes en el modo. (Existe la misma compensación de sesgo-varianza en todas las estadísticas).
Tenga en cuenta que
summary
le dará varias estadísticas básicas.[Debe usar en
sd(x)
lugar desqrt(var(x))
; es más claro para una cosa]-
Con respecto a q.2 sí; ciertamente podría mostrar la media y la mediana de los datos en una pantalla, como un histograma o un diagrama de caja. Vea aquí algunos ejemplos y códigos que debería poder generalizar a los casos que necesite.
fuente
Algunas estadísticas descriptivas adicionales y no muy conocidas.
Estoy seguro de que puede encontrar muchos otros en uno de esos
R
manuales disponibles gratuitamente .fuente
Como @Glen_b describió, el modo de una distribución continua no es tan sencillo como lo es para un vector de enteros.
Este código R obtendrá el modo para una distribución continua, utilizando la
hist()
función increíblemente útil de la base R. Como @Glen_b describió, esto implica poner las observaciones en contenedores, categorías discretas donde si la observación cae dentro del intervalo bin se cuenta como una instancia de ese contenedor, que evita el problema de que es altamente improbable en una distribución continua observar exactamente el mismo valor dos veces.Ahora tratamos el punto medio del intervalo bin que tiene el conteo máximo dentro de él como el modo
Voila! El modo.
ps también podría tratar el inicio del intervalo como el modo vía
h$breaks[which.max(h$counts)]
. Como se discutió, los modos para distribuciones continuas no son simples y requieren que se tomen decisiones, por lo tanto, por qué no hay una función simple para ellos como sí existe conmean()
ymedian()
fuente