Tengo un conjunto de datos con la siguiente estructura:
a word | number of occurrence of a word in a document | a document id
¿Cómo puedo realizar una prueba de distribución normal en R? Probablemente sea una pregunta fácil, pero soy un novato de R.
r
distributions
normality-assumption
Skarab
fuente
fuente
zipfR
paquete.Respuestas:
Si entiendo su pregunta correctamente, para probar si las apariciones de palabras en un conjunto de documentos siguen una distribución Normal, puede usar una prueba de shapiro-Wilk y algunos qqplots. Por ejemplo,
Los comandos qqplot dan:
Puede ver que el segundo conjunto de datos claramente no es Normal por las colas pesadas ( Más información ).
En la prueba de normalidad Shapiro-Walk, el valor p es grande para el primer conjunto de datos (> .9) pero muy pequeño para el segundo conjunto de datos (<.01). Esto lo llevará a rechazar la hipótesis nula para el segundo.
fuente
qqline
tendrá 1 pendiente y la intersección mu .Suponiendo que su conjunto de datos se llama
words
y tiene unacounts
columna, puede trazar el histograma para tener una visualización de la distribución:donde 100 es el número de contenedores
También puede hacer un diagrama QQ normal usando
Finalmente, también puede usar la prueba de Shapiro-Wilk para la normalidad
Sin embargo, mire esta discusión: Prueba de normalidad: '¿Es esencialmente inútil?'
fuente
Ninguna prueba le mostrará que sus datos tienen una distribución normal; solo podrá mostrarle cuando los datos sean lo suficientemente inconsistentes con una normal que rechazaría el valor nulo.
Pero los recuentos no son normales en cualquier caso, son enteros positivos: ¿cuál es la probabilidad de que una observación de una distribución normal tome un valor que no sea un entero? (... ese es un evento de probabilidad 1).
¿Por qué probarías la normalidad en este caso? Obviamente es falso.
[En algunos casos, no necesariamente importa que puedas decir que tus datos no son realmente normales. Los datos reales nunca (o casi nunca) se extraerán de una distribución normal.]
Si realmente necesita hacer una prueba, la prueba de Shapiro-Wilk (
?shapiro.test
) es una buena prueba general de normalidad, muy utilizada.fuente
Una forma más formal de ver la normalidad es probando si la curtosis y la asimetría son significativamente diferentes de cero.
Para hacer esto, necesitamos obtener:
para curtosis y:
por sesgo.
Ambas pruebas son de una cola, por lo que deberá multiplicar el valor p por 2 para convertirse en dos colas. Si su valor p se vuelve mayor que uno, deberá usar 1-kurtosis.test () en lugar de kurtosis.test.
Si tiene alguna otra pregunta, puede enviarme un correo electrónico a [email protected]
fuente
kurtosis()
yskewness()
del paquete de momentos ? Los resultados usandornorm()
muestras son diferentes.Además de la prueba Shapiro-Wilk del paquete de estadísticas, el paquete del norte (disponible en CRAN) proporciona otras pruebas de normalidad.
fuente
Al usar el
nortest
paquete de R, estas pruebas se pueden realizar:Realizar la prueba de normalidad Anderson-Darling
Realizar la prueba de Cramér-von Mises para la normalidad
Realizar la prueba de chi-cuadrado de Pearson para la normalidad
Realizar la prueba de normalidad de Shapiro-Francia
Se pueden hacer muchas otras pruebas utilizando el
normtest
paquete. Ver descripción en https://cran.r-project.org/web/packages/normtest/normtest.pdffuente