CLASE 12

BONDAD DE AJUSTE Y PRUEBA DE \(\chi\)

1. OBJETIVO

El objetivo de este capítulo es evaluar la igualdad de medias entre 3 o más grupos independientes

================================================================================

2. PUNTOS CLAVE

Parámetro Muestra Población
Proporción \(\hat{p}\) \(p\)
Media \(\bar{x}\) \(\mu\)
Desviación estandar \(s\) \(\sigma\)
Varianza \(s^2\) \(\sigma^2\)
\(H_0\) es verdadera \(H_0\) es falsa
Rechaza \(H_0\) ERROR TIPO I (\(\alpha\)) Decisión correcta
Acepta \(H_0\) Decisión correcta ERROR TIPO II (\(\beta\))

================================================================================

3. TEMARIO

================================================================================

4. BONDAD DE AJUSTE

4.1 Definición

Se usa para probar la hipótesis que una distribución de la frecuencia observada se ajusta a una distribución afirmada.

4.2 Notación

Símbolo Definición
\(O\) Frecuencia observada
\(E\) Frecuencia esperada
\(k\) Cantidad de diferentes categorías
\(n\) Número de ensayos
\(p\) Probabilidad

4.3 Requisitos

  • Datos seleccionados aleatorios
  • Datos corresponden a conteo de frecuencias
  • El mínimo valor de frecuencia absoluta por categoría es de 5

4.4 Hipótesis

\[H_0:\] Los conteos de frecuencias concuerdan con la distribución afirmada. \[H_1:\] Los conteos de frecuenicas no concuerdan con la distribución afirmada.

4.5 Dato del estadístico de prueba

\[\chi^2=\sum{\frac{(O-E)^2}{E}}\]

================================================================================

5. PRUEBA DE \(\chi^2\)

5.1 Importación de datos de la web

R nos permite importar una base de datos de la web si es que especificamos la dirección

direc <- "http://www.sthda.com/sthda/RDoc/data/housetasks.txt"
housetasks <- read.delim(direc, row.names = 1)
head(housetasks)
##            Wife Alternating Husband Jointly
## Laundry     156          14       2       4
## Main_meal   124          20       5       4
## Dinner       77          11       7      13
## Breakfeast   82          36      15       7
## Tidying      53          11       1      57
## Dishes       32          24       4      53

5.2 Visualización

La tabla anterior corresponde a las frecuencias absolutas de las tareas domesticas asignadas a la esposa,el esposo o ambos. Una forma rápida de examinar los datos es mediante gráficas, por lo que usaremos la función ballomplot() de la librería de “gplots()”

#install.packages("gplots", dependencies = T)
library(gplots)
## Warning: package 'gplots' was built under R version 4.0.3
## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess

Una vez cargada la librería, debemos tranformar la base de datos de data.frame a table

class(housetasks)
## [1] "data.frame"
tb1 <- as.table(as.matrix(housetasks))
class(tb1)
## [1] "table"
tb1
##            Wife Alternating Husband Jointly
## Laundry     156          14       2       4
## Main_meal   124          20       5       4
## Dinner       77          11       7      13
## Breakfeast   82          36      15       7
## Tidying      53          11       1      57
## Dishes       32          24       4      53
## Shopping     33          23       9      55
## Official     12          46      23      15
## Driving      10          51      75       3
## Finances     13          13      21      66
## Insurance     8           1      53      77
## Repairs       0           3     160       2
## Holidays      0           1       6     153

Una vez que el objeto fue transformado a tabla, lo que sigue es generar el gráfico

gplots::balloonplot(t(tb1))

Para que la gráfica quede mejor, podemos quitar las etiquetas de los ejes y los totales a los márgenes

gplots::balloonplot(t(tb1),
                    main = "Tareas del hogar",
                    xlab = "",
                    ylab = "",
                    label = FALSE,
                    show.margins = FALSE)

Otra forma de graficar los datos es con la función mosaicplot() de la librería “graphics”

# install.packages("graphics", dependencies = T)
library(graphics)
graphics::mosaicplot(tb1, shade = T, las = 2, main = "Tareas del hogar")

5.3 Evaluaciones básicas

Lo primero que debemos hacer para los análisis es encontrar el valor esperado. Esto se obtiene de la división de los \(n\) datos entre las \(k\) categorías. Su estamos utilizando una herramienta como R, podemos generar estos datos a patir del análisis de chi cuadrado con la función chisq.test().

chisq <- chisq.test(housetasks)
chisq
## 
##  Pearson's Chi-squared test
## 
## data:  housetasks
## X-squared = 1944.5, df = 36, p-value < 2.2e-16
chisq$expected
##                Wife Alternating  Husband  Jointly
## Laundry    60.55046    25.63303 38.44954 51.36697
## Main_meal  52.63761    22.28326 33.42489 44.65424
## Dinner     37.15596    15.72936 23.59404 31.52064
## Breakfeast 48.16514    20.38991 30.58486 40.86009
## Tidying    41.97248    17.76835 26.65252 35.60665
## Dishes     38.87615    16.45757 24.68635 32.97993
## Shopping   41.28440    17.47706 26.21560 35.02294
## Official   33.02752    13.98165 20.97248 28.01835
## Driving    47.82110    20.24427 30.36640 40.56823
## Finances   38.87615    16.45757 24.68635 32.97993
## Insurance  47.82110    20.24427 30.36640 40.56823
## Repairs    56.76606    24.03096 36.04644 48.15654
## Holidays   55.04587    23.30275 34.95413 46.69725
chisq$observed
##            Wife Alternating Husband Jointly
## Laundry     156          14       2       4
## Main_meal   124          20       5       4
## Dinner       77          11       7      13
## Breakfeast   82          36      15       7
## Tidying      53          11       1      57
## Dishes       32          24       4      53
## Shopping     33          23       9      55
## Official     12          46      23      15
## Driving      10          51      75       3
## Finances     13          13      21      66
## Insurance     8           1      53      77
## Repairs       0           3     160       2
## Holidays      0           1       6     153
colSums(housetasks)/nrow(housetasks)
##        Wife Alternating     Husband     Jointly 
##    46.15385    19.53846    29.30769    39.15385

Si deseamos ver la dependencia entre las columnas y las filas podemos hallar el coeficiente de correlación de pearson que está guardado en el slot “residual” del objeto htest “chisq”. Para llamar dichos resultados solo tenemos que usar el operador $

chisq$residuals
##                 Wife Alternating    Husband   Jointly
## Laundry    12.266344  -2.2976972 -5.8782288 -6.608968
## Main_meal   9.836062  -0.4836881 -4.9165873 -6.083794
## Dinner      6.536557  -1.1924678 -3.4162600 -3.298819
## Breakfeast  4.875263   3.4569876 -2.8180566 -5.297104
## Tidying     1.702142  -1.6056807 -4.9689076  3.585198
## Dishes     -1.102817   1.8592103 -4.1634703  3.486107
## Shopping   -1.289342   1.3211002 -3.3623444  3.375634
## Official   -3.658896   8.5628768  0.4427320 -2.459431
## Driving    -5.469207   6.8355754  8.0996318 -5.898312
## Finances   -4.150095  -0.8522912 -0.7419395  5.749805
## Insurance  -5.758422  -4.2771092  4.1073055  5.719883
## Repairs    -7.534325  -4.2901609 20.6456123 -6.651286
## Holidays   -7.419291  -4.6201370 -4.8973513 15.556033

Para graficar esta correlación, podemos usar la función corrplot() de la librería “corrplot”.

library(corrplot)
## corrplot 0.84 loaded
corrplot::corrplot(chisq$residuals, is.corr = F)

Para hallar el porcentaje de contribución de cada varible debemos hacer una división de la \(r^2\) y el resultado de la prueba estadísitca de \(\chi^2\)

contrib <- 100*chisq$residuals^2/chisq$statistic
corrplot::corrplot(contrib, is.corr = F)

6. PRUEBA DE HOMOGENIDAD

Si nosotros queremos compara si las frecuencias de ocurrencias de dos poblaciones independientes mantienen el mismo patrón, podemos aplicar una prueba de homogenidad

6.1 Definición

La prueba de homogenidad con ji cuadrado trata de demostrar que las proporciones de las frecuencias de distintas categorías son parecidas en dos poblaciones distintas.