ESTATÍSTICA NÃO PARAMÉTRICA

PRÁTICA 6: MAIS DE DUAS AMOSTRAS INDEPENDENTES

\[\\[0.05in]\]

1 PACOTES NECESSÁRIOS

Para esta sexta aula prática de Estatística Não Paramétrica, precisaremos dos seguintes pacotes:

require(DescTools) # Faz o teste de Jonckheere-Terpstra e Dunn
require(multcompView) # Auxilia nas comparações múltiplas

2 TESTE DE JONCKHEERE-TERPSTRA

Para executar o teste de Jonckheere-Terpstra no R, utilizaremos a função JonckheereTerpstraTest do pacote DescTools. A função JonckheereTerpstraTest precisa dos seguintes argumentos:

  • x = Lista com os dados.
  • alternative = increasing (crescente) ou decreasing (decrescente).

A função JonckheereTerpstraTest retorna as seguintes saídas:

  • JT = Estatística de teste
  • p-value = valor-p

2.1 EXEMPLO: PRODUTOS DE LIMPEZA

Uma equipe de pesquisa queria determinar se havia uma tendência significativa entre a capacidade de quatro ingredientes comuns de limpeza doméstica ao matar bactérias. A expectativa deles era que a ordem do menos para o mais eficaz fosse detergente, amônia, vinagre e um alvejante. Eles então realizaram uma série de experimentos e contaram a porcentagem de bactérias mortas conforme mostrado na figura abaixo:

Perceba como os grupos formados pelos tipos de produtos de limpeza configuram amostras independentes. Com base nesses dados, determine se há uma tendência crescente no percentual de bactérias mortas ao longo do uso destes produtos. Para isto, utilize o teste de Jonckheere-Terpstra com um nível de significância de 5% para investigar se há uma tendência crescente.

As hipóteses de interesse serão, portanto:

  • \(H_0:\) Não há uma têndencia no percentual de bactérias mortas ao longo da utilização dos produtos de limpeza.
  • \(H_1:\) Existe uma têndencia crescente no percentual de bactérias mortas ao longo da utilização dos produtos de limpeza

Inicialmente, precisamos salvar a base de dados em um objeto. Como podemos ter dados desbalanceados, uma estratégia interessante é salvar a base em um objeto list. Os comandos a seguir fazem isso:

Dados <- list(
  Detergente = c(45,35,51,31,62),
  Amônia = c(59,53,31,47,42,59),
  Vinagre = c(49,69,52,55,63),
  Alvejante = c(72,55,65,58,61,51)
)

Como a hipótese alternativa objetiva verificar uma tendência crescente e, com os dados armazenados, o teste é realizado com o seguinte comando:

TesteJT = JonckheereTerpstraTest(Dados, alternative = "increasing")
TesteJT
## 
##  Jonckheere-Terpstra test
## 
## data:  Dados
## JT = 133.5, p-value = 0.005922
## alternative hypothesis: increasing

Com um valor-p bem 0.005922, a hipótese nula é rejeitada e há evidências de que o a porcentagem de bactérias mortas é crescente ao longo dos produtos de limpeza.

2.2 TENDÊNCIA DECRESCENTE

Se fosse necessário testar uma tendência decrescente, basta utilizar o argumento alternative = "decreasing" na função principal.

2.3 EXERCÍCIO: ESTRESSE UNIVERSITÁRIO

Um pesquisador quer avaliar a eficácia de três diferentes programas de relaxamento no alívio do estresse em estudantes universitários durante o período de provas. Os programas são os seguintes:

  • Programa A: Sessões curtas de meditação guiada.
  • Programa B: Aulas de ioga.
  • Programa C: Terapias de grupo com técnicas de mindfulness.

Após um mês participando dos programas, os estudantes foram avaliados quanto ao nível de redução de estresse percebido, em uma escala ordinal:

  • 1 = Pouca redução,
  • 2 = Moderada redução,
  • 3 = Grande redução.

Devido à disponibilidade de recursos e horários, os grupos possuem tamanhos desbalanceados:

  • Programa A: 8 estudantes (menor adesão devido ao horário das sessões).
  • **Programa *B**: 9 estudantes.
  • Programa C: 11 estudantes (maior adesão devido à flexibilidade).

Os dados observados são os seguintes:

O objetivo é testar se há uma tendência crescente nos níveis de redução de estresse entre os programas (do A ao C), dado que o Programa C é o mais intensivo e o Programa A o menos intensivo.

Os dados no R podem ser armazenados assim:

Dados <- list(
  Programa_A = c(1,2,1,1,2,1,2,1,3),
  Programa_B = c(2,2,3,2,3,1,2,1,3,2),
  Programa_C = c(3,2,3,2,1,2,3,3,2,3,2)
)

Queremos verificar, com o teste de Jonckheere Terpstra, se há uma tendência crescente no indicador ao nível de significância de \(\alpha = 5%\)

3 TESTE DE KRUSKAL WALLIS

Para fazer o teste de no R, basta utilizar a função kruskal.test() do pacote base do R. Essa função tem o seguinte argumento:

  • x = Lista com os dados.

A função kruskal.test() retorna as seguintes saídas:

  • Kruskal-Wallis chi-squared = Estatística de teste
  • df = Graus de liberdade
  • p-value = valor-p

3.1 EXEMPLO: CÂNCER DE COLO DE ÚTERO

Considere o objetivo de avaliar o desempenho do marcador de células endoteliais anti-CD34 em neoplasia cervical uterina, em lesões intra-epiteliais e no colo normal. São 4 grupos observados:

  • Grupo A: mulheres com diagnóstico anatomopatológico de neoplasia escamosa invasiva (18 mulheres)
  • Grupo B: neoplasia intra-epitelial de alto grau (15 mulheres)
  • Grupo C: neoplasia intra-epitelial de baixo grau (15 mulheres)
  • Grupo D: mulheres sem qualquer processo neoplásico (10 mulheres)

Para cada mulher em cada grupo, foi coletada o número de vasos corados com anti cd34. Os dados são:

Considerando um nível de significância de 5%, deseja-se saber se há diferença significativa na mediana da contagem de vasos corados com anti cd34.

As hipóteses de interesse serão, portanto:

  • \(H_0:\) Não há diferenças nas medianas das contagens de vasos corados com anti cd34 para os grupos.
  • \(H_1:\) Existe diferença nas medianas das das contagens de vasos corados com anti cd34 em pelo menos um grupo.

Inicialmente, precisamos salvar a base de dados em um objeto. Os comandos a seguir fazem isso:

Dados <- list(
  Grupo_A = c(161,160,128,168,131,107,219,147,175,
              119,190,203,107,153,128,209,142,124),
  Grupo_B = c(128,131,125,141,157,132,143,112,131,
              128,139,135,127,121,168),
  Grupo_C = c(121,98,81,128,91,117,136,95,105,128,
              90,151,129,95,112),
  Grupo_D = c(109,65,97,96,110,67,106,102,80,96)
)

com os dados armazenados, o teste é realizado com o seguinte comando:

TesteKW = kruskal.test(Dados)
TesteKW
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Dados
## Kruskal-Wallis chi-squared = 29.628, df = 3, p-value = 1.653e-06

Com um valor p bem próximo de 0 rejeita-se a hipótese nula. Isto é, há evidências de que **pelo menos um dos grupos possui uma mediana das contagens de vasos corados com anti d34* diferente de algum dos demais.

3.1.1 COMPARAÇÕES MÚLTIPLAS

Como o exemplo anterior indicou que há diferenças na medianas das contagens de vasos corados com anti d34, é importante conduzir mais um passo na análise e fazer as comparações múltiplas segundo o teste de Dunn em cada par de combinações dos métodos.

O pacote PMCMRplus possui a função DunnTest() que já faz todas as comparações múltiplas necessárias. Basta colocar os dados como argumento e a correção necessária (method = "holm","bonferroni","bh")

matriz_p_value_bonf = DunnTest(Dados, method = "bonferroni")$pmat
matriz_p_value_holm = DunnTest(Dados, method = "holm")$pmat
matriz_p_value_bh = DunnTest(Dados, method = "BH")$pmat

Para obter as letras, tem-se os seguintes comandos:

letras_bonf = multcompLetters(matriz_p_value_bonf)
letras_holm = multcompLetters(matriz_p_value_bonf)
letras_bh = multcompLetters(matriz_p_value_bh)
letras_bonf
##    1    2    3    4 
##  "a" "ab" "bc"  "c"
letras_holm
##    1    2    3    4 
##  "a" "ab" "bc"  "c"
letras_bh
##   1   2   3   4 
## "a" "a" "b" "b"

Como não temos um número muito grande de comparações múltiplas, podemos utilizar Bonferroni ou Holm-Bonferroni. Ambos concordam que o grupo A é diferente do grupo D. Grupos A e B são iguais, Grupos B e C são iguais e os grupos C e D são iguais.

3.2 APRENDIZADO DE IDIOMAS

Você quer investigar a eficácia de quatro diferentes técnicas de aprendizado de idiomas em melhorar a velocidade de compreensão de frases em uma nova língua. Os grupos são:

  • Grupo A (Aprendizado Tradicional): Gramática e vocabulário em aulas teóricas.
  • Grupo B (Imersão): Aprendizado em um ambiente que utiliza apenas a nova língua.
  • Grupo C (Jogos): Métodos interativos como jogos e dinâmicas.
  • Grupo D (Aplicativos): Aprendizado por meio de aplicativos digitais.

Para cada indivíduo em cada Grupo foi coletada o tempo de reação dos indivíduos, medido em segundos. Esse tempo reflete a velocidade de compreensão de frases em uma nova língua após cada técnica de aprendizado. Os dados observados foram:

Dados <- list(
  Grupo_A = c(5.2, 5.5, 5.0, 6.1, 5.7, 5.9, 6.0, 5.4, 5.6, 5.3, 6.2, 5.8),  # 
  Grupo_B = c(4.3, 4.5, 4.1, 4.6, 4.8, 4.4, 4.2, 4.7, 4.6, 4.3),            # 
  Grupo_C = c(3.9, 4.1, 3.8, 4.0, 4.2, 3.7, 3.6, 3.8),                       # 
  Grupo_D = c(4.7, 4.8, 5.0, 4.9, 4.6, 4.5, 5.1, 4.8, 4.9)                  # 
)

4 EXERCÍCIOS

Na lista prática, resolva os exercícios 10 e 11.