Uso de la \(\chi^2\) de tendencia

Al igual de que la \(\chi^2\) global se utiliza para probar la hipótesis nula de que distintas categorias son similares entre grupos

A diferencia de la \(\chi^2\) común las categorías tienen un orden, son variables ordinales, y se integra ese orden dentro del cálculo

Convertir valores numéricos a grados es frecuente, menos recomendable

Distribución y tabla de \(\chi^2\)

Extract from the table presenting percentage points from the chi-square distribution
Probabilidad
0.5 0.1 0.05 0.02 0.01 0.001
gl
1 0.455 2.706 3.841 5.412 6.635 10.828
2 1.386 4.605 5.991 7.824 9.210 13.816
3 2.366 6.251 7.815 9.837 11.345 16.266
4 3.357 7.779 9.488 11.668 13.277 18.467
5 4.351 9.236 11.070 13.388 15.086 20.515
10 9.342 15.987 18.307 21.161 23.209 29.588

Ejemplo de uso de \(\chi^2\) de tendencia

Cambio en los hábitos alimenticios en un estudio clínico aleatorizado

Cálculo de \(\chi^2\) de tendencia

Esperado del score dada la proporción

\(\large\boxed{E_{xp} = \frac{\sum{ax}-\sum{a}\sum{nx}}{N}}\)

Esperado del score dada la cantidad

\(\large\boxed{E_{xx} = \frac{\sum{nx}^2-(\sum{nx})^2}{N}}\)

\(\chi^2\) para la tendencia

\(\large\boxed{\chi^2 = \frac{Exp^2}{(Exxpq)}}\)

En donde

N es el total de la muestra = 627

p la proporción de sujetos en un grupo

\(\large\boxed{p = \frac{\sum{a}}{N}}\)

q la proporción de sujetos en el otro grupo

\(\large\boxed{q = \frac{\sum{b}}{N}}\)

Por tanto

\(\large\boxed{\sum{a}=317}\)

\(\large\boxed{\sum{ax} = 100*1 + 175*0 + 42*-1 = 100 - 42 = 58}\)

\(\large\boxed{\sum{nx} = 178*1 + 348*0 + 101*-1 = 178 - 101 = 77}\)

\(\large\boxed{\sum{nx^2} = 178*1^2 + 348*0^2 + 101*-1^2 = 178 + 101 = 279}\)

\(\large\boxed{(\sum{nx})^2 = 77^2 = 5929}\)

\(\large\boxed{E{xp} = \frac{58-317*77}{627} = 19.07}\)

\(\large\boxed{E{xx} = \frac{279-5929}{627} = 269.54}\)

\(\large\boxed{p = \frac{317}{627} = 0.5056}\) \(\large\boxed{q = \frac{310}{627} = 0.4944}\)

\(\large\boxed{\chi^2 = \frac{19.07^2}{(279.54*0.5056*0.4944)} = \frac{363.66}{69.87} = 5.205}\)

¿Grados de libertad?

p <- pchisq(5.205, 1, lower.tail = FALSE)
round(p, 3)
## [1] 0.023

Ejercicio 8.1 de Statistics at Square One

Table. Outcome of depression according to treatment
Much worse Worse Unchanged Improved Much improved Sum
New 8 9 15 23 18 73
Standard 9 13 19 17 12 70
Score -2 -1 0 1 2 NA

Resultado de \(\chi^2\)

Esperados
O-E
(O-E)²/E
New Standard New Standard New Standard
Much worse 8.68 8.32 0.68 -0.68 0.05 0.06
Worse 11.23 10.77 2.23 -2.23 0.44 0.46
Unchanged 17.36 16.64 2.36 -2.36 0.32 0.33
Improved 20.42 19.58 -2.58 2.58 0.33 0.34
Much improved 15.31 14.69 -2.69 2.69 0.47 0.49
Total 73.00 70.00 0.00 0.00 1.61 1.68

\(\chi^2\) = 1.61 + 1.68 = 3.29

Número de grados de libertad = (filas - 1) * (columnas - 1) = (2-1) * (5-1) = 4

 p <- pchisq(3.29, df=4, lower.tail = FALSE)
 round(p, 3)
## [1] 0.511

Cálculo de \(\chi^2\) de tendencia

\(\large\boxed{E_{xp} = \frac{\sum{ax}-\sum{a}\sum{nx}}{N}}\)

\(\large\boxed{E_{xx} = \frac{\sum{nx}^2-(\sum{nx})^2}{N}}\)

\(\large\boxed{p = \frac{\sum{a}}{N}}\)

\(\large\boxed{q = \frac{\sum{b}}{N}}\)

\(\large\boxed{\chi^2 = \frac{Exp^2}{(Exxpq)}}\)

En este caso:

N = 143

\(\large\boxed{\sum{a}=73}\)

\(\large\boxed{\sum{ax} = 8*-2 + 9*-1 + 13*0 + 23*1 + 18*2 = 34}\)

\(\large\boxed{\sum{nx} = 17*-2 + 22*-1 + 34*0 + 40*1 + 30*2 = 44}\)

\(\large\boxed{\sum{nx^2} = 17*-2^2 + 22*-1^2 + 34*3^0 + 40*1^2 + 30*2^2 = 250}\)

\(\large\boxed{(\sum{nx})^2 = 44^2 = 1936}\)

\(\large\boxed{E{xp} = \frac{34-73*44}{143} = 11.53}\)

\(\large\boxed{E{xx} = \frac{1081-223729}{143} = 236.46}\)

\(\large\boxed{p = \frac{73}{143} = 0.5105}\) \(\large\boxed{q = \frac{70}{143} = 0.4895}\)

\(\large\boxed{\chi^2 = \frac{11.53^2}{(236.46*0.5105*0.4895)} = \frac{133.14}{59.09} = 2.253}\)

Grados de libertad = 1

 p <- pchisq(2.253, df=1, lower.tail = FALSE)
 round(p, 3)
## [1] 0.133

En R

treatment <- c(rep("New", 73), rep("Standard", 70))
outcome <- c(rep(-2, 8), rep(-1, 9), rep(0, 15), rep(1, 23), rep(2, 18), rep(-2, 9), rep(-1, 13), rep(0, 19), rep(1, 17), rep(2, 12))
depre <- data.frame(treatment, outcome)
depre$treatment <- factor(depre$treatment)
table(depre$outcome)
## 
## -2 -1  0  1  2 
## 17 22 34 40 30
depre$outcome <- factor(depre$outcome, labels=c("Much worse", "Worse", "Unchanged", "Improved", "Much improved"))
table(depre$outcome)
## 
##    Much worse         Worse     Unchanged      Improved Much improved 
##            17            22            34            40            30
head(depre)
tail(depre)
## caso especial, solo 2 columnas
tabla <- table(depre) 
tabla
##           outcome
## treatment  Much worse Worse Unchanged Improved Much improved
##   New               8     9        15       23            18
##   Standard          9    13        19       17            12
chisq.test(tabla)
## 
##  Pearson's Chi-squared test
## 
## data:  tabla
## X-squared = 3.2952, df = 4, p-value = 0.5097
tabla[1,]
##    Much worse         Worse     Unchanged      Improved Much improved 
##             8             9            15            23            18
colSums(tabla)
##    Much worse         Worse     Unchanged      Improved Much improved 
##            17            22            34            40            30
prop.trend.test(tabla[1,], colSums(tabla))
## 
##  Chi-squared Test for Trend in Proportions
## 
## data:  tabla[1, ] out of colSums(tabla) ,
##  using scores: 1 2 3 4 5
## X-squared = 2.2531, df = 1, p-value = 0.1333
tabla
##           outcome
## treatment  Much worse Worse Unchanged Improved Much improved
##   New               8     9        15       23            18
##   Standard          9    13        19       17            12
prop.table(tabla, 1)
##           outcome
## treatment  Much worse     Worse Unchanged  Improved Much improved
##   New       0.1095890 0.1232877 0.2054795 0.3150685     0.2465753
##   Standard  0.1285714 0.1857143 0.2714286 0.2428571     0.1714286
prop.table(tabla, 1)*100
##           outcome
## treatment  Much worse    Worse Unchanged Improved Much improved
##   New        10.95890 12.32877  20.54795 31.50685      24.65753
##   Standard   12.85714 18.57143  27.14286 24.28571      17.14286
tabla_prop <- prop.table(tabla, 1)*100
round(tabla_prop, 2)
##           outcome
## treatment  Much worse Worse Unchanged Improved Much improved
##   New           10.96 12.33     20.55    31.51         24.66
##   Standard      12.86 18.57     27.14    24.29         17.14
barplot(tabla_prop, beside = TRUE)
legend("topleft", levels(depre$treatment), fill = c("grey35", "grey80"))