Calcular tamanhos de efeito e erros padrão para a diferença entre duas diferenças médias padronizadas


8

Tenho duas perguntas relacionadas, ambas relacionadas a uma meta-análise que estou realizando, onde os resultados primários são expressos em termos da diferença média padronizada.

Meus estudos têm várias variáveis ​​disponíveis para calcular a diferença média padronizada. Gostaria de saber até que ponto as diferenças médias padronizadas calculadas em uma variável são consistentes com as diferenças médias padronizadas na outra. A meu ver, essa pergunta poderia ser expressa como uma meta-análise da diferença entre dois conjuntos de diferenças médias padronizadas. No entanto, estou tendo problemas para determinar o tamanho do efeito e o erro de amostragem para a diferença entre duas diferenças médias padronizadas no mesmo estudo.

Para expressar meu problema de uma maneira diferente, considere um estudo de duas condições com os grupos e g 2 e as variáveis ​​de resultado v a r 1 e v a r 2 . Estas duas variáveis de resultados estão correlacionados como c o r ( v um de R 1 , v um r 2 ) . Podemos calcular diferenças médias padronizadas para v a r 1 e v a r 2 em g 1 eg1g2var1var2cor(var1,var2)var1var2g1 , produzindo d v a r 1 , d v a r 2 e suas variações de amostragem v d v a r 1 e v d v a r 2 . Eu incluí um esquema muito simples da situação abaixo.g2dvar1dvar2vdvar1vdvar2

insira a descrição da imagem aqui

Agora, digamos que calculamos uma diferença entre e v a r 2 como d i f f . Eu posso calcular a diferença média padronizada entre g 1 e g 2 como d d i f f , que tem variação de amostragem v d d i f f .var1var2diffg1g2ddiffvddiff

O que eu gostaria de fazer é expressar e v d d i f f em termos das seguintes variáveis:ddiffvddiff

  1. Efeito dos tamanhos e d v um R 2 ,dvar1dvar2
  2. Variações de amostragem e v d v a r 2 , evdvar1vdvar2
  3. Correlação cor(var1,var2)

Eu sinto que esse objetivo deve ser possível, dado que, em um contexto simples (não meta-analítico), o desvio padrão da diferença entre e v a r 2 é dado comovar1var2

sd(var1)2+sd(var2)22cor(var1,var2)sd(var1)sd(var2)


Também estou interessado em uma situação um pouco mais complicada em que se estuda com 3 (ou mais) grupos e, portanto, calcula dois conjuntos de diferenças médias padronizadas entre as duas variáveis ​​candidatas.

Para expressar essa segunda pergunta de uma maneira diferente, suponha que um determinado estudo tenha três grupos , g 2 e g 3 e duas variáveis ​​de resultado v a r 1 e v a r 2 . Além disso, assumir uma vez que v um de R 1 e v a r 2 estão correlacionados como c o r ( v um de R 1 , v um r 2 ) .g1g2g3var1var2var1var2cor(var1,var2)

Escolha o grupo como o grupo de referência e, para v a r 1 , calcule os tamanhos dos efeitos para o grupo g 1 vs g 2 e g 1 vs g 3 . Isso produzirá dois conjuntos de tamanhos de efeito para cada um dos v a r 1 e v a r 2 - para v a r 1 , d v a r 1 g 1 - g 2 e d v ag1var1g1g2g1g3var1var2var1dvar1g1g2 e, parava r 2 , d v a r 2 g 1 - g 2 e d v a r 2 g 1 - g 3 . Isso também produzirá duas variações de amostragem para cada conjunto de tamanhos de efeito (parava r 1 , v d v a r 1 g 1 - g 2 e v ddvar1g1g3var2dvar2g1g2dvar2g1g3var1vdvar1g1g2 e, paravar2,v d v a r 2 g 1 - g 2 ev d v a r 2 g 1 - g 3 ) e uma covariância de amostragem para cada variável ( paravar1,cov(dvar 1 g 1 -vdvar1g1g3var2vdvar2g1g2vdvar2g1g3var1e, paravar2,cov(dvar2 g 1 - g 2 ,dvar2 g 1 - g 3 )) . Eu incluí um esquema muito simples da situação abaixo.cov(dvar1g1g2,dvar1g1g3)var2cov(dvar2g1g2,dvar2g1g3)

insira a descrição da imagem aqui

Mais uma vez, posso criar uma pontuação de diferença entre e v a r 2 , produzindo d i f f . I pode então calcular dois conjuntos de tamanhos de efeito nesta pontuação diferença como acima, calculando a diferença média normalizada para a comparação entre a g 1 e g 2 (originando d d i f f g 1 - g 2 ) e uma diferença média normalizada para o comparação entre g 1 e g 3 (produzindovar1var2diffg1g2ddiffg1g2g1g3 . É claro que este procedimento também produzirá variações e covariâncias de amostragem correspondentes.ddiffg1g3)

O que eu gostaria é de expressar os tamanhos dos efeitos, variações de amostragem e covariâncias de amostragem para em termos de:diff

  1. Tamanhos de efeito , d v a r 1 g 1 - g 3 , d v a r 2 g 1 - g 2 e d v a r 2 g 1 - g 3dvar1g1g2dvar1g1g3dvar2g1g2dvar2g1g3
  2. Variações de amostragem , v d v a r 1 g 1 - g 3 , v d v a r 2 g 1 - g 2 e v d v a r 2 g 1 - g 3 ,vdvar1g1g2vdvar1g1g3vdvar2g1g2vdvar2g1g3
  3. Covariâncias de amostragem e c o v ( d v a r 2 g 1 - g 2 , d v a r 2 g 1 - g 3 ) ecov(dvar1g1g2,dvar1g1g3)cov(dvar2g1g2,dvar2g1g3)
  4. Correlação cor(var1,var2)

Mais uma vez, acho que meu objetivo deve ser viável, considerando que é possível calcular o desvio padrão de uma pontuação de diferença entre e v a r 2, dado s d ( v a r 1 ) , s d ( v um de R 2 ) , e c o r ( v um de R 1 , v um r 2 ) .var1var2sd(var1)sd(var2)cor(var1,var2)

Percebo que minhas perguntas são um pouco complicadas, mas sinto que elas poderiam ser respondidas, com um pouco de álgebra inteligente. Deixe-me saber se posso esclarecer minha pergunta e / ou anotação de alguma forma.

Respostas:


7

Certamente, posso lhe dar uma resposta para a primeira parte da sua pergunta.

dvar1dvar2vvar1vvar2

vvar1=1n1+1n2+dvar122(n1+n2)
vvar2=1n1+1n2+dvar222(n1+n2),
n1n2

r=cor(var1,var2)

cov(dvar1,dvar2)=(1n1+1n2)r+(dvar1dvar22(n1+n2))r2.

ddiff=dvar1dvar2
vddiff=vvar1+vvar22cov(dvar1,dvar2).

O capítulo de Gleser e Olkin também aborda parcialmente sua segunda pergunta. Essencialmente, você tem o que os autores chamam de 'estudo de tratamento múltiplo' e eles fornecem equações para a covariância também nesse caso (consulte Expectativa de variáveis ​​correlacionadas ). No entanto, seu caso é realmente uma combinação dos casos 'tratamento múltiplo' e 'ponto de extremidade múltiplo'. A derivação das equações de covariância necessárias exigiria algum trabalho adicional.


1
ddiffdvar1dvar2cor(var1,var2)

1
ddiff

1
dg1g2dg1g31/ng1+(dg1g2dg1g3)/(2(ng1+ng2+ng3))ddiff

Se você não souber a solução completa, ficaria feliz em ter uma idéia geral de como investigaria esse problema.
Patrick S. Forscher

1
Você precisaria voltar à derivação dessas covariâncias e verificar se é possível generalizar / combinar os dois casos (vários grupos e vários pontos de extremidade). Um breve esboço de como a covariância para o caso de múltiplos pontos de extremidade pode ser obtido pode ser encontrado no apêndice de Rosenthal e Rubin (1986) . Não conheço uma referência que cubra o caso de vários grupos.
Wolfgang

3

Esta pergunta pode ser respondida usando uma abordagem de modelagem de equações estruturais (SEM). Pode ser usado desde que os tamanhos dos efeitos sejam funções dos parâmetros, como médias, correlações e desvios padrão. A matriz de covariância de amostragem é derivada numericamente pelo uso do método Delta automaticamente no MEV. O capítulo 3 de Cheung (2015) fornece uma introdução e exemplos nessa abordagem.

Um dos exemplos usados ​​no livro são os estudos de múltiplos pontos de extremidade com tratamento múltiplo. Aqui estão a sintaxe e a saída em R.

###################################################
### code chunk number 8: ME_MT
###################################################

## Load the library for SEM
library(lavaan)

## Covariance matrix of the control group for variables 1 and 2
lower <- '11          
          5, 10'
## Convert a lower triangle data into a covariance matrix
Cov1 <- getCov(lower, diag=TRUE, names=c("x1", "x2"))

## Covariance matrix of the treatment group 1 for variables 1 and 2
lower <- '12          
          6, 11'
Cov2 <- getCov(lower, diag=TRUE, names=c("x1", "x2"))

## Covariance matrix of the treatment group 2 for variables 1 and 2
lower <- '13          
          7, 12'
Cov3 <- getCov(lower, diag=TRUE, names=c("x1", "x2"))

## Convert covariance matrices into a list
Cov <- list(Cov1, Cov2, Cov3)

## Means for the three groups
## 10 and 11 are the means for variables 1 and 2
Mean <- list(c(10,11), c(12,13), c(13,14))

## Sample sizes for the groups
N <- c(50, 50, 50)

## Assuming homogeneity of covariance matrices
## You can free this constraint by using different labels
model5 <- 'eta1 =~ c("sd1", "sd1", "sd1")*x1
           eta2 =~ c("sd2", "sd2", "sd2")*x2
           eta1 ~~ c("r", "r", "r")*eta2
           ## The subscripts 0, 1 and 2 represent the means
           ##  of the control and two  treatment groups
           x1 ~ c("m1_0", "m1_1", "m1_2")*1
           x2 ~ c("m2_0", "m2_1", "m2_2")*1
           ## The measurement errors are fixed at 0
           x1 ~~ 0*x1
           x2 ~~ 0*x2
           ## Multiple endpoint effect size 1 for treatment group 1
           ES1_1 := (m1_1 - m1_0)/sd1
           ## Multiple endpoint effect size 2 for treatment group 1
           ES2_1 := (m2_1 - m2_0)/sd2
           ## Multiple endpoint effect size 1 for treatment group 2
           ES1_2 := (m1_2 - m1_0)/sd1
           ## Multiple endpoint effect size 2 for treatment group 2
           ES2_2 := (m2_2 - m2_0)/sd2'

fit5 <- sem(model5, sample.cov=Cov, sample.mean=Mean, 
            sample.nobs=N, std.lv=TRUE, 
            sample.cov.rescale=FALSE)

## Obtain the free parameters in the model
( x <- fit5@Fit@x )

## [1]  3.464102  3.316625  0.522233 10.000000 11.000000 12.000000 13.000000
## [8] 13.000000 14.000000    

## Obtain the sampling covariance matrix of the parameter estimates
VCOV <- vcov(fit5)

## Compute the multivariate effect sizes
( ES <- fit5@Model@def.function(x=x) )
##     ES1_1     ES2_1     ES1_2     ES2_2 
## 0.5773503 0.6030227 0.8660254 0.9045340

## Compute the jacobian for 'defined parameters'
JAC <- lavaan:::lavJacobianD(func=fit5@Model@def.function, x=x)

## Compute the sampling covariance matrix using delta method
ES.VCOV <- JAC %*% VCOV %*% t(JAC)

## Add the variable names for ease of reference
dimnames(ES.VCOV) <- list(names(ES), names(ES))

ES.VCOV
##            ES1_1      ES2_1      ES1_2      ES2_2
## ES1_1 0.04111111 0.02120582 0.02166667 0.01091942
## ES2_1 0.02120582 0.04121212 0.01091942 0.02181818
## ES1_2 0.02166667 0.01091942 0.04250000 0.02160145
## ES2_2 0.01091942 0.02181818 0.02160145 0.04272727

Neste exemplo, o vetor estimado de tamanhos de efeito é sua matriz de covariância de amostragem é ES e ES.VCOV, respectivamente. ES1_1 e ES2_1 são os tamanhos de efeito para o grupo 1 em comparação com o grupo controle, enquanto ES1_2 e ES2_2 são os tamanhos de efeito do grupo 2 em comparação com o grupo controle.

Referência

Cheung, MW-L. (2015). Meta-análise: Uma abordagem de modelagem de equações estruturais . Chichester, Sussex Ocidental: John Wiley & Sons, Inc ..


Obrigado por compartilhar esta abordagem interessante! Quando tentei executar as seguintes linhas: ( ES <- fit5@Model@def.function(x=x) )e JAC <- lavaan:::lavJacobianD(func=fit5@Model@def.function, x=x)recebi um erro que xnão existe.
Patrick S. Forscher

Além disso, seu exemplo parece sugerir que, para esta abordagem para o trabalho, eu preciso saber a correlação / covariância entre var1e var2dentro de g1, g2e g3. É esse o caso? Normalmente, nos estudos com quem estou trabalhando, apenas a correlação geral (em colapso em todo g1, g2e g3) é relatado.
Patrick S. Forscher

var1var2dvar1dvar2

Obrigado Patrick. Adicionei a linha ausente: (x <- fit5 @ Fit @ x). Como os tamanhos dos efeitos são funções de médias, variações e covariâncias, essa abordagem precisa desses elementos. Se alguns destes elementos não estiverem disponíveis, você pode precisar de descobrir outras abordagens ...
Mike Cheung

Oi Mike, espero que você ainda esteja seguindo este tópico. Eu estava interessado em sua abordagem, então tentei simular alguns dados de três grupos com duas variáveis ​​(código colado no comentário abaixo). Quando comparei sua abordagem com alguns cálculos manuais, obtive tamanhos de efeito idênticos, mas diferentes erros de amostragem dos tamanhos de efeito. Pelo que sei, estou usando seu código e as fórmulas corretas para as variações de amostragem. Alguma idéia do que está acontecendo?
Patrick S. Forscher

0

Não tenho muita certeza de como essa solução foi derivada, mas pensei em publicá-la de qualquer maneira para que outras pessoas pudessem avaliar. Também achei que valeu a pena postar essas informações como resposta completa, em vez de deixá-las enterradas nos comentários da resposta fornecida por @Wolfgang.

g1g2g3g1g2g3

cov(ddiffg1g2,ddiffg1g3)=rn1+ddiffg1g2ddiffg1g3r2(2(n1+n2+n3))

Novamente, não tenho muita certeza de como essa solução foi derivada e ficaria grato por qualquer insight que outros possam fornecer.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.