ESTATÍSTICA NÃO PARAMÉTRICA

PRÁTICA 3: DUAS AMOSTRAS DEPENDENTES

\[\\[0.05in]\]

1 PACOTES NECESSÁRIOS

Para esta segunda aula prática de Estatística Não Paramétrica, precisaremos do seguinte pacote:

require(BSDA) # Faz o teste do sinal pareado

2 TESTE McNEMAR

Para fazer o teste McNemar no R, basta utilizar a função mcnemar.test() do pacote base stats. Essa função tem os seguintes argumentos:

  • x = tabela de contingência 2x2.
  • correct = Se a correção de Yates deve ser aplicada ou não (T ou F)

A função mcnemar.test retorna as seguintes saídas:

  • McNemar’s chi-squared = Estatística de teste
  • df = grau de liberdade
  • p-valor = valor-p

2.1 EXEMPLO: CAMPANHA DE VACINAÇÃO

Uma cidade realiza uma campanha para aumentar a vacinação contra a gripe em uma amostra de 100 pessoas. Os participantes foram entrevistados antes e após a campanha para verificar se haviam se vacinado. Os dados de pré e pós-campanha foram organizados na tabela 2x2 abaixo:

Utilize o teste de McNemar para investigar se houve mudança no comportamento de vacinação após a campanha com um nível de 5% de significância?

Inicialmente, precisamos construir no R a tabela de contingência. Seguem os comandos:

Tabela = matrix(c(60, 10, 20, 10), nrow = 2, byrow = TRUE,
                 dimnames = list("Antes" = c("Vacinaram", "Não vacinaram"),
                                 "Depois" = c("Vacinaram", "Não vacinaram")))
Tabela
##                Depois
## Antes           Vacinaram Não vacinaram
##   Vacinaram            60            10
##   Não vacinaram        20            10

Com a tabela construída, nota-se que b+c = 10+20 = 30 >25. Assim, não será necessário fazer correção. Tem-se, portanto, o seguinte comando no R para este exemplo:

mcnemar.test(x=Tabela,correct=FALSE)
## 
##  McNemar's Chi-squared test
## 
## data:  Tabela
## McNemar's chi-squared = 3.3333, df = 1, p-value = 0.06789

Com um p-valor de 0,06789 não rejeita-se a hipótese nula. Assim, há evidências de que a campanha não exerceu mudanças no comportamento das vacinas.

3 TESTE DO SINAL PAREADO

Para fazer o teste do sinal pareado no R, basta utilizar a função SING.test do pacote BSDA. Essa função tem os seguintes argumentos:

  • x = vetor com as observações amostrais (ANTES).
  • y = vetor com as observações amostrais (DEPOIS).
  • md = mediana das diferenças esperada sob \(H_0\).
  • alternative = direção do teste: “two.sided”, “less”, “greater”.
  • conf.level = nível de confiança do intervalo.

Para um nível de confiança \(1-\alpha\), o objetivo é encontrar os percentis da distribuição binomial(n,0.5) que delimitam o intervalo para a verdadeira mediana das diferenças. Entretanto, como a distribuição binomial é discreta, é difícil obter um intervalo com o nível de confiança \(1-\alpha\) de forma exata. A função SIGN.test faz, portanto, uma interpolação para aproximar o intervalo com o nível de confiança estipulado.

A SIGN.test retorna as seguintes saídas:

  • s = número de sinais positivos
  • p-value = valor-p
  • alternative hypothesis = hipótese alternativa.
  • percent confidence interval = intervalo de confiança interpolado para a mediana das diferenças
  • sample estimates = estimativa amostral da mediana das diferenças.
  • Achieved and Interpolated Confidence Intervals = Os intervalos obtidos de forma exata e a interpolação obtida.

3.1 EXEMPLO: PRESSÃO ARTERIAL

Suponha que um pesquisador deseja testar se um novo medicamento reduz a pressão arterial em pacientes hipertensos. Para isso, ele mede a pressão arterial de 10 pacientes antes e depois de tomar o medicamento. Os dados (em mmHg) estão dispostos da seguinte forma:

Considere o teste do sinal pareado com um nível de significância de 5%.

O teste é unilateral à direita, a mediana das diferenças sob \(H_0\) é 0 e utilizaremos \(\alpha=5\%\). Os comandos a seguir fazem o teste:

Antes = c(150,160,165,155,170,180,145,160,170,175)
Depois = c(140,155,170,152,175,170,140,158,172,172)
Teste  = SIGN.test(x=Antes,
                   y=Depois,
                   md=0,
                   alternative = "greater",
                   conf.int= 0.95)
Teste
## 
##  Dependent-samples Sign-Test
## 
## data:  Antes and Depois
## S = 7, p-value = 0.1719
## alternative hypothesis: true median difference is greater than 0
## 95 percent confidence interval:
##  -2.32   Inf
## sample estimates:
## median of x-y 
##             3 
## 
## Achieved and Interpolated Confidence Intervals: 
## 
##                   Conf.Level L.E.pt U.E.pt
## Lower Achieved CI     0.9453  -2.00    Inf
## Interpolated CI       0.9500  -2.32    Inf
## Upper Achieved CI     0.9893  -5.00    Inf

Com um valor-p de 0,1719, não rejeita-se a hipótese nula. Ou seja, há evidências de que a pressão arterial dos pacientes não dimiuiu com o novo medicamento.

4 TESTE DE POSTOS COM SINAIS DE WILCOXON PAREADO

Para fazer o teste de postos com sinais de Wilcoxon pareado no R, basta utilizar a função wilcox.test do pacote base do R. Ressalta-se que essa função precisa do argumento paired=T para o teste pareado. A função tem os seguintes argumentos:

  • x = vetor com as observações amostrais (ANTES).
  • y = vetor com as observações amostrais (DEPOIS).
  • mu = mediana das diferenças esperada sob \(H_0\).
  • paired = Se o teste é pareado ou não (T ou F)
  • alternative = direção do teste: “two.sided”, “less”, “greater”.
  • conf.int = valor lógico para que a função solte o intevalo de confiança.
  • conf.level = nível de confiança do intervalo.

Com base na distribuição dos postos e no número de observações, você pode usar tabelas de referência do teste de Wilcoxon ou simulações para determinar os percentis desejados (por exemplo, 95%). O intervalo de confiança é formado por valores que correspondem a esses postos em relação à amostra original, indicando os limites inferior e superior do intervalo de confiança para a mediana das diferenças.

A função wilcox.test retorna as seguintes saídas:

  • V = soma dos postos positivos
  • p-value = valor-p
  • alternative hypothesis = hipótese alternativa.
  • percent confidence interval = intervalo de confiança.
  • sample estimates = estimativa amostral da mediana.

4.1 EXEMPLO: PROGRAMA DE TREINAMENTO

Um grupo de 10 atletas foi avaliado em termos de distância percorrida (em metros) em uma corrida de resistência antes e depois de um novo programa de treinamento. Queremos testar se o programa fez diferença no desempenho deles:

Utilize o teste de postos com sinais de Wilcoxon pareado com \(\alpha=5\%\)

O teste é bilateral, a mediana das diferenças sob \(H_0\) é 0 e utilizaremos \(\alpha=5\%\). Os comandos a seguir fazem o teste:

Antes = c(800,950,890,720,860,940,910,870,780,925)
Depois = c(850,970,880,765,820,1000,950,905,765,920)

Teste  = wilcox.test(x=Antes,
                     y=Depois,
                     alternative = "two.sided",
                     paired=T,
                     mu=0,
                     conf.int=T,
                     conf.level=0.95)
Teste
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  Antes and Depois
## V = 12.5, p-value = 0.1392
## alternative hypothesis: true location shift is not equal to 0
## 95 percent confidence interval:
##  -45.000021   9.999964
## sample estimates:
## (pseudo)median 
##      -17.50003

Note que o teste foi executado de maneira corrigida (houve empates). Assim, com um valor-p de 0,1392 não rejeita-se a hipótese nula. Há evidencias de que não houve diferença na performance depois do treinamento.

5 EXERCÍCIOS

Consulte a lista prática com os exercícios de 13 a 15.