Estoy interesado en calcular la diferencia estandarizada para una variable multinomial. En R hay un paquete llamado tableone que produce tales cálculos ( https://cran.r-project.org/web/packages/tableone/vignettes/smd.html ). En esta viñeta hay un cálculo para la raza, con un smd de 0,036.
race (%) 0.036
black 585 (16.5) 335 (15.3)
other 213 ( 6.0) 142 ( 6.5)
white 2753 (77.5) 1707 (78.2)
para realizar este cálculo he utilizado el código "building block" que figura a continuación https://rpubs.com/kaz_yos/smd1
> T <- c(213.0/3551.0, 2753.0/3551.0)
> C <- c(142.0/2184.0, 1707.0/2184.0)
> T
[1] 0.0599831 0.7752746
> C
[1] 0.06501832 0.78159341
> meanDiffVector<-(T-C)
> vcovT <- -1 * outer(T, T)
> diag(vcovT) <- T * (1-T)
> vcovT
[,1] [,2]
[1,] 0.05638513 -0.04650337
[2,] -0.04650337 0.17422391
> vcovC <- -1 * outer(C, C)
> diag(vcovC) <- C * (1-C)
> vcovC
[,1] [,2]
[1,] 0.06079093 -0.05081789
[2,] -0.05081789 0.17070515
> S<-(vcovC+vcovT)/2
> S
[,1] [,2]
[1,] 0.05858803 -0.04866063
[2,] -0.04866063 0.17246453
> Sinv <- solve(S)
> Sinv
[,1] [,2]
[1,] 22.292318 6.289747
[2,] 6.289747 7.572937
> smdCat <- drop(t(meanDiffVector) %*% Sinv %*% t(t(meanDiffVector)))
> smdCat
[1] 0.001267793
con un valor de 0,00127 y no de 0,036.
Ambos métodos afirman seguir el método de Yang y Dalton (2012) "... la extensión a variables multinomiales se sugiere en Yang et al 2012. Esta extensión multinomial trata una única variable multinomial como múltiples variables dicotómicas no redundantes y utiliza la distancia de Mahalanobis. Los elementos fuera de la diagonal de la matriz de covarianza en la página 3 tienen un error y necesitan negación." https://www.rdocumentation.org/packages/tableone/versions/0.12.0/topics/CreateTableOne
Yang, D. y Dalton, JE. (2012). Un enfoque unificado para medir el tamaño del efecto entre dos grupos utilizando SAS. SAS Global Forum 2012, Ponencia 335-2012. http://support.sas.com/resources/papers/proceedings12/335-2012.pdf