Iris Mireille Ramírez-Canales

1. Estadistica Paramétrica y No parametrica

Son dos enfoques en el analisis de los datos que se diferencian principalmente por las suposiciones que hacen sobre la distribución de los datos.

Estadística Paramétrica

La estadística Parámetrica se basa en suposiciones especificas sobre la distribución de los datos, como por ejemplo que sigan una distribución normal “Campana de Gauss” u otra distribución conocida. Este enfoque utiliza parámetros como la media y la Desviacion estandar para describir la población de donde se toma la muestra.

Para aplicar la estadística Paramétrica es necesario que para relizar suposiciones “fuertes” los datos deben cumplor con ciertos requisitos como, normalidad, homogeneidad de varianzas etc.

Si las suposiciones se cumplen, los metodos paramétricos suelen ser más eficientes y precisos para detectar diferencias o relaciones.

Ejemplos de pruebas paramétricas

°Prueba T de Student -para comparar medias-

°ANOVA analisis de Varianza

°Correlación de Perason

°Regresión lineal

Estadística No paramétrica

La estadística no para métrica no hace suposiciones estrictas sobre la distribución de los datos. En su lugar, se basa en el orden o rango de los datos y es más flexible para analizar distribuciones desconocidas o datos que no cumplen con los requisitos de los métodos paramétricos.

Para aplicar la estadística no paramétrica es necesario que para realizar ‘’menos suposiciones o menores’’ no requiere que los datos sigan una distribución especifica. Es útil para datos ordinales, nominales o con distribuciones asimétricas.

Tambien para una menor potencia estadística tienden a ser menos sensibles que los métodos paramétricos, especialmente con muestras pequeñas

Ejemplos de pruebas no paramétricas

°Prueba U de Mann Whitney -alternativa a la prueba T para dos muestras independientes-

°Prueba de Wilcoxon -alternativa a la prueba t para muestras relacionadas-

°Prueba de Kruskal-Wallis -alternativa al ANOVA-

°Prueba de X cuadrada -para datos cátegoricos-

Tabla de comparación

Aspecto - Paramétrica - No paramétrica ____________________________________________________________________________________________

Suposiciones Necesita normalidad -No requiere supuestos estrictos ____________________________________________________________________________________________

Datos Métricos (íntervalo/razon) -Ordinales, nominales o metricos no normales ____________________________________________________________________________________________

Precisión Más precisa si se cumplen los supuestos Menos precisa, peor más robusta


2. Pruebas de Normalidad

Paquetes necesarios

# Para calcular asimetría y curtosis
library(moments) 
# Para pruebas de normalidad
adicionales library(nortest)
# Para visualización de gráficos
library(ggplot2)
#Función para evaluar la normalidad de la variable

evaluar_normalidad <- function(var, nombre) {
  cat("\n\nAnálisis para la variable:", nombre, "\n")
  cat("--------------------------------------------------\n")
# Estadísticas descriptivas
  media= mean(var)
  desviacion= sd(var)
  asimetria= skewness(var)
  curtosis= kurtosis(var) + 3  # Curtosis total


cat("Media:", media, "\n")
  cat("Desviación estándar:", desviacion, "\n")
  cat("Asimetría:", asimetria, "\n")
  cat("Curtosis:", curtosis, "\n\n")
  
# Pruebas de normalidad
shapiro= shapiro.test(var)
lillie <- lillie.test(var)
ad <- ad.test(var)
  
cat("Prueba de Shapiro-Wilk: W =", shapiro$statistic, ", p-valor =", shapiro$p.value, "\n")
cat("Prueba de Lilliefors: D =", lillie$statistic, ", p-valor =", lillie$p.value, "\n")
cat("Prueba de Anderson-Darling: A =", ad$statistic, ", p-valor =", ad$p.value, "\n\n")
  
  
# Gráficos
  par(mfrow = c(1, 2))
 # Histograma con curva de densidad normal
  hist(var, freq = FALSE, col = "purple", main = paste("Histograma de", nombre),
       xlab = nombre, ylab = "Densidad")
  curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)
# Gráfico Q-Q
  qqnorm(var, main = paste("Gráfico Q-Q de", nombre))
  qqline(var, col = "pink", lwd = 2)
  
  par(mfrow = c(1, 1))
# Evaluar normalidad para cada variable
evaluar_normalidad(a, "a")

Variables

a=(c(28,26,31,21,21,32,24,26,28,30,26,23,20,28,33,28,33,23,27,31,28,29,34,32,33))

b=(c(22,29,24,24,23,23,25,23,33,28,31,23,28,28,26,30,30,28,22,19,29,18,31,28,27))

c=(c(23,26,29,28,25,19,22,27,33,22,22,22,15,19,24,25,20,25,34,21,23,18,26,26,23))

d=(c(28,28,25,25,25,30,27,28,29,28,25,28,27,28,30,25,28,28,28,30,27,25,25,28,30))

e=(c(28,27,28,25,27,28,25,27,29,27,25,25,29,29,29,28,28,25,27,28,28,25,29,25,27))

f=(c(25,28,27,29,27,25,25,25,25,27,27,28,28,25,27,27,25,25,27,28,25,28,29,25,27))

Análisis de la variable a

  • Media: 27.8
  • Desviación Estándar 4.112988
  • Asimetria -0.31244319412525
  • Curtosis 2.094288
  • Prueba de Shapiro Wilk data: a W = 0.94766, p-value = 0.2219
  • Prueba de Lillifors
  • Prueba de Anderson-Darling
a=(c(28,26,31,21,21,32,24,26,28,30,26,23,20,28,33,28,33,23,27,31,28,29,34,32,33))
sd(a)
## [1] 4.112988
mean(a)
## [1] 27.8
kurtosis(a)
## [1] 2.094288
shapiro.test(a)
## 
##  Shapiro-Wilk normality test
## 
## data:  a
## W = 0.94766, p-value = 0.2219
lillie.test(a)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  a
## D = 0.11939, p-value = 0.4738
ad.test(a)
## 
##  Anderson-Darling normality test
## 
## data:  a
## A = 0.40996, p-value = 0.3188
par(mfrow = c(1,2))
evaluar_normalidad(a, "a")
## 
## 
## Análisis para la variable: a 
## --------------------------------------------------
hist(a, freq = FALSE, col = "purple", main = "Histograma de a", xlab = "Variable A", ylab = "Densidad") 
curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)

qqnorm(a, main = "Gráfico Q-Q de variable a")

evaluar_normalidad(a, "a")
## 
## 
## Análisis para la variable: a 
## --------------------------------------------------

Análisis de la variable b

b=(c(22,29,24,24,23,23,25,23,33,28,31,23,28,28,26,30,30,28,22,19,29,18,31,28,27)) - Media: 26.08 - Desviación Estándar: 3.872123 - Asimetria: - Curtosis: - Prueba de Shapiro Wilk data: a W = 0.96162, p-value = 0.4477 - Prueba de Lillifors - Prueba de Anderson-Darling

b=(c(22,29,24,24,23,23,25,23,33,28,31,23,28,28,26,30,30,28,22,19,29,18,31,28,27))
sd(b) 
## [1] 3.872123
mean(b) 
## [1] 26.08
skewness(b) 
## [1] -0.2771581
shapiro.test(b) 
## 
##  Shapiro-Wilk normality test
## 
## data:  b
## W = 0.96162, p-value = 0.4477
lillie.test(b) 
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  b
## D = 0.17, p-value = 0.06046
ad.test(b)  
## 
##  Anderson-Darling normality test
## 
## data:  b
## A = 0.44321, p-value = 0.2639
par(mfrow = c(1,2))
evaluar_normalidad(b, "b")
## 
## 
## Análisis para la variable: b 
## --------------------------------------------------
hist(b, freq = FALSE, col = "purple", main = "Histograma de b", xlab = "Variable B", ylab = "Densidad") 
curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)

qqnorm(b, main = "Gráfico Q-Q de variable b")

evaluar_normalidad(b, "b")
## 
## 
## Análisis para la variable: b 
## --------------------------------------------------

Análisis de la variable c

  • Media:
  • Desviación Estándar:
  • Asimetria:
  • Curtosis:
  • Prueba de Shapiro Wilk data: a W =
  • Prueba de Lillifors
  • Prueba de Anderson-Darling
c=(c(23,26,29,28,25,19,22,27,33,22,22,22,15,19,24,25,20,25,34,21,23,18,26,26,23))
sd(c)
## [1] 4.361957
mean(c)
## [1] 23.88
skewness(c)
## [1] 0.4178281
kurtosis(c)
## [1] 3.289485
shapiro.test(c)
## 
##  Shapiro-Wilk normality test
## 
## data:  c
## W = 0.97045, p-value = 0.6566
lillie.test(c)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  c
## D = 0.11348, p-value = 0.5569
ad.test(c)
## 
##  Anderson-Darling normality test
## 
## data:  c
## A = 0.31651, p-value = 0.5192
par(mfrow = c(1,2))
evaluar_normalidad(c, "c")
## 
## 
## Análisis para la variable: c 
## --------------------------------------------------
hist(c, freq = FALSE, col = "purple", main = "Histograma de c", xlab = "Variable C", ylab = "Densidad") 
curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)

qqnorm(c, main = "Gráfico Q-Q de variable c")

evaluar_normalidad(c, "c")
## 
## 
## Análisis para la variable: c 
## --------------------------------------------------

Análisis de la variable d

  • Media:
  • Desviación Estándar:
  • Asimetria:
  • Curtosis:
  • Prueba de Shapiro Wilk data: a W =
  • Prueba de Lillifors
  • Prueba de Anderson-Darling
d=(c(28,28,25,25,25,30,27,28,29,28,25,28,27,28,30,25,28,28,28,30,27,25,25,28,30))
sd(d)
## [1] 1.755942
mean(d)
## [1] 27.4
skewness(d)
## [1] -0.1602332
kurtosis(d)
## [1] 1.930972
shapiro.test(d)
## 
##  Shapiro-Wilk normality test
## 
## data:  d
## W = 0.85145, p-value = 0.001877
lillie.test(d)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  d
## D = 0.23371, p-value = 0.001102
ad.test(d)
## 
##  Anderson-Darling normality test
## 
## data:  d
## A = 1.4893, p-value = 0.0005814
par(mfrow = c(1,2))
evaluar_normalidad(d, "d")
## 
## 
## Análisis para la variable: d 
## --------------------------------------------------
hist(d, freq = FALSE, col = "purple", main = "Histograma de d", xlab = "Variable D", ylab = "Densidad") 
curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)

qqnorm(d, main = "Gráfico Q-Q de variable D")

evaluar_normalidad(d, "d")
## 
## 
## Análisis para la variable: d 
## --------------------------------------------------

Análisis de la variable e

  • Media:
  • Desviación Estándar:
  • Asimetria:
  • Curtosis:
  • Prueba de Shapiro Wilk data: a W =
  • Prueba de Lillifors
  • Prueba de Anderson-Darling
e=(c(28,27,28,25,27,28,25,27,29,27,25,25,29,29,29,28,28,25,27,28,28,25,29,25,27))
sd(e)
## [1] 1.508863
mean(e)
## [1] 27.12
skewness(e)
## [1] -0.3554607
kurtosis(e)
## [1] 1.742207
shapiro.test(e)
## 
##  Shapiro-Wilk normality test
## 
## data:  e
## W = 0.8403, p-value = 0.001159
lillie.test(e)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  e
## D = 0.20013, p-value = 0.01108
ad.test(e)
## 
##  Anderson-Darling normality test
## 
## data:  e
## A = 1.4921, p-value = 0.0005718
par(mfrow = c(1,2))
evaluar_normalidad(e, "e")
## 
## 
## Análisis para la variable: e 
## --------------------------------------------------
hist(e, freq = FALSE, col = "purple", main = "Histograma de e", xlab = "Variable E", ylab = "Densidad") 
curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)

qqnorm(e, main = "Gráfico Q-Q de variable e")

evaluar_normalidad(e, "e")
## 
## 
## Análisis para la variable: e 
## --------------------------------------------------

Análisis de la variable f

  • Media:
  • Desviación Estándar:
  • Asimetria:
  • Curtosis:
  • Prueba de Shapiro Wilk data: a W =
  • Prueba de Lillifors
  • Prueba de Anderson-Darling
f=(c(25,28,27,29,27,25,25,25,25,27,27,28,28,25,27,27,25,25,27,28,25,28,29,25,27))
sd(f)
## [1] 1.416569
mean(f)
## [1] 26.56
skewness(f)
## [1] 0.100246
kurtosis(f)
## [1] 1.637435
shapiro.test(f)
## 
##  Shapiro-Wilk normality test
## 
## data:  f
## W = 0.82721, p-value = 0.0006703
lillie.test(f)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  f
## D = 0.26461, p-value = 8.946e-05
ad.test(f)
## 
##  Anderson-Darling normality test
## 
## data:  f
## A = 1.8386, p-value = 7.574e-05
par(mfrow = c(1,2))
evaluar_normalidad(a, "a")
## 
## 
## Análisis para la variable: a 
## --------------------------------------------------
hist(f, freq = FALSE, col = "purple", main = "Histograma de f", xlab = "Variable F", ylab = "Densidad") 
curve(dnorm(x, mean = media, sd = desviacion), col = "pink", lwd = 2, add = TRUE)

qqnorm(f, main = "Gráfico Q-Q de variable F")

evaluar_normalidad(f, "f")
## 
## 
## Análisis para la variable: f 
## --------------------------------------------------
## 3. Análisis de varianza
Realice el análisis de varianza de los siguientes datos y exprese sus resultados según corresponda:

Grafico:

``` r
A = c(21, 26, 31, 23, 21, 30, 26, 24, 22, 19)
B = c(32, 30, 18, 27, 25, 28, 27, 27, 28, 22)
C = c(26, 20, 24, 27, 21, 28, 24, 27, 32, 32)
D = c(18, 30, 24, 27, 24, 21, 22, 22, 28, 29)

datos = data.frame(A, B, C, D)
library(knitr)
kable(datos, caption = "Tabla de Variables A, B, C y D")
Tabla de Variables A, B, C y D
A B C D
21 32 26 18
26 30 20 30
31 18 24 24
23 27 27 27
21 25 21 24
30 28 28 21
26 27 24 22
24 27 27 22
22 28 32 28
19 22 32 29

Código para realizar el analisis de Anova:

# Cargar los datos
datos <- data.frame(
  A = c(21, 26, 31, 23, 21, 30, 26, 24, 22, 19),
  B = c(32, 30, 18, 27, 25, 28, 27, 27, 28, 22),
  C = c(26, 20, 24, 27, 21, 28, 24, 27, 32, 32),
  D = c(18, 30, 24, 27, 24, 21, 22, 22, 28, 29)
)

# Convertir los datos a formato
library(tidyr)
datos_largos <- gather(datos, key = "Variable", value = "Valor")

# Hacer la pruba ANOVA
resultado_anova <- aov(Valor ~ Variable, data = datos_largos)

Dado que el valor p (0.535) es mayor que el nivel de significancia de 0.05, no se rechaza la hipótesis nula. No hay evidencia estadística suficiente para afirmar que existen diferencias significativas entre las medias de las variables A, B, C y D:

# Resumen del ANOVA
summary(resultado_anova)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Variable     3   34.9   11.62    0.74  0.535
## Residuals   36  565.9   15.72

4. Test de McNemar

El test de McNemar es una prueba estadística no paramétrica que se utiliza para analizar datos categóricos pareados o dependientes. Es particularmente útil cuando se quiere evaluar si hay un cambio significativo en proporciones o probabilidades entre dos condiciones relacionadas, como antes y después de un tratamiento, o entre dos métodos de evaluación en los mismos sujetos.

¿Cuándo usar el test de McNemar?

Datos categóricos binarios: Se aplica a variables que tienen solo dos categorías, como “sí/no”, “éxito/fallo”, “positivo/negativo”. Diseño pareado: Los datos provienen de las mismas unidades (personas, muestras) evaluadas en dos situaciones: Antes y después: Ejemplo, evaluar el efecto de un tratamiento médico en un grupo de pacientes. Dos pruebas comparativas: Ejemplo, comparar la precisión de dos diagnósticos en los mismos pacientes.

Ejercicio:

Supóngase que se quiere comprobar si un tratamiento de hipnosis es capaz de hacer que las personas contesten “Sí” con mayor frecuencia. Para ello se selecciona un grupo de individuos a los que se les realiza una pregunta cuya respuesta puede ser SI/NO antes y después de someterse al tratamiento de hipnosis.

datos <- data.frame(
  sujeto = rep(1:15, each = 2),
  tratamiento = c("pre", "post", "pre", "post", "pre", "post", "pre", "post", "pre",
                  "post", "pre", "post", "pre", "post", "pre", "post", "pre", "post",
                  "pre", "post", "pre", "post", "pre", "post", "pre", "post", "pre",
                  "post", "pre", "post"),
  respuesta = c("NO", "SI", "SI", "SI", "NO", "SI", "SI", "NO", "SI", "SI", "NO",
                "SI", "NO", "SI", "NO", "SI", "NO", "SI", "SI", "SI", "NO", "NO",
                "SI", "SI", "NO", "SI", "NO", "NO", "NO", "SI")
)
# Crear tabla de contingencia
tabla_contingencia <- table(
  pre = datos$respuesta[datos$tratamiento == "pre"],
  post = datos$respuesta[datos$tratamiento == "post"]
)

# Realizar la prueba de McNemar
resultado <- mcnemar.test(tabla_contingencia)

# Mostrar resultados
print(resultado)
## 
##  McNemar's Chi-squared test with continuity correction
## 
## data:  tabla_contingencia
## McNemar's chi-squared = 4, df = 1, p-value = 0.0455

El resultado de la prueba de McNemar (0.0455) indica que hay diferencias estadísticamente significativas en la frecuencia de respuestas de ambas condiciones evaluadas en el estudio.

Por lo que se rechaza la hipotesis nula y se acepta la hipotesis alternativa. Sin emabrgo, es importante considerar que el resultado es estadísticamente significativo, aunque el valor de la p está muy cerca del nivel de significancia establecido. Esto demuestra que la evidencia contra la hipótesis nula es moderada.

5. Ejercicio 5 Correlación

El consejo de la ciudad de Tuxpan considera aumentar el número de policías en un esfuerzo para reducir los delitos. Antes de tomar una decisión final, el ayuntamiento pide al jefe de policía realizar una encuesta en otras ciudades de tamaño similar para determinar la relación entre el número de policías y el número de delitos reportados. El jefe de policía reunió la siguiente información muestral.

Ciudad <- c("Cd. Guzmán", "Zapotiltic", "Tamazula", "Huescalapa", "Contla", "Mazamitla", "Gómez Farías", "Sayula")
Policias <- c(2, 1, 3, 5, 6, 8, 5, 2)
Delitos <- c(6, 5, 6, 6, 6, 8, 5, 2)


datos <- data.frame(Ciudad, Policias, Delitos)
library(knitr)
kable(datos, caption = "Relación entre el número de policías y el número de delitos reportados.")
Relación entre el número de policías y el número de delitos reportados.
Ciudad Policias Delitos
Cd. Guzmán 2 6
Zapotiltic 1 5
Tamazula 3 6
Huescalapa 5 6
Contla 6 6
Mazamitla 8 8
Gómez Farías 5 5
Sayula 2 2
library(ggplot2)
library(knitr)
library(kableExtra)

datos <- data.frame(
  Ciudad = c("Cd. Guzmán", "Zapotiltic", "Tamazula", "Huescalapa", 
             "Contla", "Mazamitla", "Gómez Farías", "Sayula"),
  Policias = c(2, 1, 3, 5, 6, 8, 5, 2),
  Delitos = c(6, 5, 6, 6, 5, 4, 7, 5)
)

El coeficiente de correlación de Pearson es una medida que indica la fuerza y dirección de la relación lineal entre dos variables. Su valor oscila entre -1 y 1, donde:

1: Indica una correlación positiva perfecta; a medida que una variable aumenta, la otra también lo hace proporcionalmente. 0: Indica ausencia de correlación lineal; no hay una relación lineal evidente entre las variables. -1: Indica una correlación negativa perfecta; a medida que una variable aumenta, la otra disminuye proporcionalmente.

# coeficiente de correlación de Pearson
correlacion <- cor(datos$Policias, datos$Delitos)
cat("Coeficiente de correlación de Pearson (r):", round(correlacion, 2), "\n")
## Coeficiente de correlación de Pearson (r): -0.26

El valor r de -0.26 nos indica una correlación negativa débil entre la cantidad de policias y el numero de delitos; lo que sugiere que al aumentar el número de policías, el número de delitos tiende a disminuir ligeramente.

Diagrama de dispersión:

# diagrama de dispersión 
ggplot(datos, aes(x = Policias, y = Delitos)) +
  geom_point(color = "pink", size = 3) +
  geom_smooth(method = "lm", col = "purple", se = FALSE) +
  labs(title = "Relación entre número de policías y número de delitos",
       x = "Número de policías",
       y = "Número de delitos") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'