Cómo realizar una prueba de Shapiro-Wilk en R (con ejemplos)

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

La prueba de Shapiro-Wilk es una prueba de normalidad. Se utiliza para determinar si una muestra proviene o no de una distribución normal .

Este tipo de prueba es útil para determinar si un conjunto de datos determinado proviene o no de una distribución normal, que es una suposición común utilizada en muchas pruebas estadísticas, incluidas regresión , ANOVA , pruebas t y muchas otras.

Podemos realizar fácilmente una prueba de Shapiro-Wilk en un conjunto de datos dado usando la siguiente función incorporada en R:

shapiro.test (x)

dónde:

  • x: un vector numérico de valores de datos.

Esta función produce un estadístico de prueba W junto con un valor p correspondiente. Si el valor p es menor que α = .05, hay evidencia suficiente para decir que la muestra no proviene de una población con distribución normal.

Nota: El tamaño de la muestra debe estar entre 3 y 5,000 para poder usar la función shapiro.test ().

Este tutorial muestra varios ejemplos de cómo utilizar esta función en la práctica.

Ejemplo 1: Prueba de Shapiro-Wilk en datos normales

El siguiente código muestra cómo realizar una prueba de Shapiro-Wilk en un conjunto de datos con un tamaño de muestra n = 100:

#Haga que este ejemplo sea reproducible
set.seed (0)

# crear un conjunto de datos de 100 valores aleatorios generados a partir de una distribución normal
datos <- rnorm (100)

#realice la prueba de normalidad de Shapiro-Wilk
shapiro.test (datos)

	Prueba de normalidad de Shapiro-Wilk

datos: datos
W = 0,98957, valor de p = 0,6303

El valor p de la prueba resulta ser 0,6303 . Dado que este valor no es menor que .05, podemos asumir que los datos de la muestra provienen de una población que se distribuye normalmente.

Este resultado no debería sorprender, ya que generamos los datos de muestra utilizando la función rnorm (), que genera valores aleatorios a partir de una distribución normal con media = 0 y desviación estándar = 1.

Relacionado: Una guía para dnorm, pnorm, qnorm y rnorm en R

También podemos producir un histograma para verificar visualmente que los datos de la muestra se distribuyen normalmente:

hist (datos, col = ' azul acero ')

Prueba de Shapiro-Wilk para la normalidad en R

Podemos ver que la distribución tiene bastante forma de campana con un pico en el centro de la distribución, lo cual es típico de los datos que se distribuyen normalmente.

Ejemplo 2: Prueba de Shapiro-Wilk en datos no normales

El siguiente código muestra cómo realizar una prueba de Shapiro-Wilk en un conjunto de datos con un tamaño de muestra n = 100 en el que los valores se generan aleatoriamente a partir de una distribución de Poisson :

#Haga que este ejemplo sea reproducible
set.seed (0)

# crear un conjunto de datos de 100 valores aleatorios generados a partir de una distribución de Poisson
datos <- rpois (n = 100, lambda = 3)

#realice la prueba de normalidad de Shapiro-Wilk
shapiro.test (datos)

	Prueba de normalidad de Shapiro-Wilk

datos: datos
W = 0.94397, valor p = 0.0003393

El valor p de la prueba resulta ser 0,0003393 . Dado que este valor es menor que .05, tenemos suficiente evidencia para decir que los datos de la muestra no provienen de una población con distribución normal.

Este resultado no debería sorprender, ya que generamos los datos de muestra utilizando la función rpois (), que genera valores aleatorios a partir de una distribución de Poisson.

Relacionado: Una guía para dpois, ppois, qpois y rpois en R

También podemos producir un histograma para ver visualmente que los datos de muestra no se distribuyen normalmente:

hist (datos, col = ' coral2 ')

Histograma de prueba de Shapiro-Wilk en R

Podemos ver que la distribución está sesgada a la derecha y no tiene la típica «forma de campana» asociada con una distribución normal. Por lo tanto, nuestro histograma coincide con los resultados de la prueba de Shapiro-Wilk y confirma que nuestros datos de muestra no provienen de una distribución normal.

Qué hacer con datos no normales

Si un conjunto de datos determinado no se distribuye normalmente, a menudo podemos realizar una de las siguientes transformaciones para que sea más normal:

1. Transformación logarítmica : transforme la variable de respuesta de y a log (y) .

2. Transformación de raíz cuadrada: transforme la variable de respuesta de y en √y .

3. Transformación de raíz cúbica: transforma la variable de respuesta de yay 1/3 .

Al realizar estas transformaciones, la variable de respuesta generalmente se acerca a la distribución normal. Consulte este tutorial para ver cómo realizar estas transformaciones en la práctica.

Recursos adicionales

Cómo realizar una prueba de Anderson-Darling en R
Cómo realizar una prueba de Shapiro-Wilk en Python

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

A menudo, es posible que desee importar y combinar varias hojas de Excel en un solo marco de datos de…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!