Estatística na Mão

Sem mistérios e sem complicação

Artigos sobre Estatística


0 (1)

Visualizações: 891

Teste de Kruskal-Wallis (K-W)

Introdução

Este teste foi criado como substitutivo à análise de variância paramétrica (Teste F). Ele é utilizado para que se verifique o contraste entre k amostras independentes.
Os valores obtidos nas diversas amostras diferem entre si e, portanto, será uma maneira se verificar se estas diferenças são devidas ao acaso ou se as amostras provêm de populações diferentes.
Algo importante de ser enfatizado é que os tratamentos, não precisam possuir o mesmo número de elementos, ou seja, os valores de n entre os tratamentos podem ser diferentes.

Caracterísicas

O teste de K-W serve para testar a hipótese de que vparias populações têm mesma distribuição (Vieira 2003).
No teste de Kruskal-Wallis todas as observações recebem uma pontuação através dos números 1, 2, 3, 4, ...n. Assim, ao menor valor se atribuirá o valor 1, e assim sucessivamente até atingir o maior valor, que receberá a maior pontuação.
Da mesma forma que nos outros testes, serão consideradas sempre duas hipóteses (H0 e H1).
A aplicação do teste está condicionada a populações pequenas e quando as premissas da ANOVA estão comprometidas (Vieira 2003).

Equação

Para o cálculo do valor H do teste de Kruskal-Wallis utiliza-se a fórmula:
H= \frac{12}{N\left(N+1 \right )} \times \sum_{i=1}^K{\frac{R_i^2}{n_i}}-3\left(N+1 \right )
Onde: Ri = a soma das ordens atribuídas ao tratamento i; k = corresponde ao número de tratamentos a comparar; ni = número de observações em cada tratamento k e; N = número total de observações em todos os tratamentos k.
Na ordenação global que se faz para atribuição dos postos aos dados, considera-se que nos casos de empate entre duas ou mais observações, calcula-se a média das ordens que seria atribuída a elas se não houvesse o empate.
Por exemplo: Temos o conjunto de dados C= 10,12,12,13,14,14,14,15. Para ordenar tomamos o menor número como 1º ou 1 e segue o ranqueamento até o último número, mas 12 ocupa o 2 posto e 12 ocupa o 3 posto, nesse caso tomamos a média dos postos \frac{2+3}{2} = 2,5. desta forma, 12 e 12 ficam com o posto 2,5. Seguimos com 13 igual a 4, mas novamente temos 14 ocupando o 5, 6 e 7 postos. Assim tomamos a média dos postos \frac{5+6+7}{3}=6. Desta forma os três valores de 14 recebem o posto 6 ou 6º. Finalizando 15, recebe o porto 8, já que o posto 7 foi usado pora obter a média do posto do valor 14. Lembrando que o último posto deve ser igual ao valor de n.
Assim ficaremos com os valores e posto da seguinte forma:

Valores 1012121314141415
Postos 12,52,546668

Exemplo

Para exemplificar o teste de Kruskal-Wallis, supomos que foram testados ou experimentados três métodos para dessalinização de água. Assim sendo, foram coletadas diversas amostras de água com diversas concentrações de sal, que não vem ao caso no exemplo a ser testado. Desta forma, testou-se o tempo de dessalinização dos três mé-todos. Os resultados do experimento seguem abaixo:

Métodos
A B C
DD* posto DD* posto DD* posto
17   20   32  
14   5   35  
4   9   26  
8   13   34  
29   34   21  
6   2   45  
15   11   50  
-   22   47  

*DD= dias para dessalinização.

Métodos
A B C
DD* posto DD* posto DD* posto
17 11 20 12 32 17
14 9 5 3 35 20
4 2 9 6 26 15
8 5 13 8 34 18,5
29 16 34 18,5 21 13
6 4 2 1 45 21
15 10 11 7 50 23
- - 22 14 47 22
RA=57,0 RB= 69,5 RC= 149,5
nA= 7 NB= 8 nC= 8
A= 13,29 B= 14,50 C= 36,25

*DD= dias para dessalinização.

Hipóteses

H0: NÃO HÁ diferença significativa entre os métodos de dessalinização, no que se refere ao tempo

H1: HÁ diferença significativa entre os métodos de dessalinização, no que se refere ao tempo

Cálculos

Para calcular H teremos:
H = \frac{12}{23 \times\left(23+1 \right )} \times \left(\frac{57^2}{7}+\frac{69,5^2}{8}+\frac{149,5^2}{8} \right )- 3 \times \left(23+1 \right ) \\\\ H = \frac{12}{23 \times 24} \times \left(\frac{3249}{7}+\frac{4830,25}{8}+\frac{22350,25}{8} \right ) - 3 \times 24 \\\\ H = \frac{12}{552} \times \left(464,1429+603,7813+2793,7813 \right ) - 72 \\\\ H = 0,02174 \times \left(3816,7055 \right ) - 72 \\\\ H = 83,95- 72 \\\\ H = 11,95
Como já foi dito este teste segue a distribuição do teste \chi^2. Desta forma, sendo k = 3 (métodos), os graus de liberdade correspondem a 2, pois GL= k-1. Portanto, os valores da tabela\chi^2, correspondem a 5 e 1%, são 5,99 e 9,21, respectivamente.
Considerando que o valor calculado H=11,95 (usando todas as casas decimais nos cálculos) é maior que os valores tabelados, rejeitamos H0 (não há diferenças entre os métodos testados no tempo de dessalinização das amostras), assim aceita a H1. Pelos valores R encontrados nos resultados verifica-se que o método A e mais eficiente no processo de dessalinização, pois leva menos tempo em comparação aos demais.

Cálculo d Test de K-W Usando R

Para realizarmos a a nálise do teste de K-W no R, precisamos apenas de poucas linhas de comando, mas antes explicaremos a função kruskal.test(args).

kruskal.test(formula, data, subset, na.action, ...)

formula
Uma fórmula da resposta de formulário ~ grupo onde a resposta dá os valores de dados e agrupar um vetor ou fator dos grupos correspondentes.

data
Uma matriz opcional ou quadro de dados (ou similar: veja model.frame no help do R ou R Studio) contendo as variáveis na fórmula fórmula. Por padrão, as variáveis são tiradas do ambiente (fórmula).

subset
Um vetor opcional que especifica um subconjunto de observações a serem usadas.

na.action
Uma função que indica o que deveria acontecer quando os dados contêm NAs. O padrão é getOption ( "na.action").

Script

#Informando os dados de cada tratamento
A=c(17,14,4,8,29,6,15)
B=c(20,5,9,13,34,2,11,22)
C=c(32,35,26,34,21,45,50,47)
#Agrupando os dados do tratamento em uma variável única
DD.dados<-c(A,B,C)
#Criando o rank dos dados para todos os tratamentos
sum.Rank.A=sum(rank(c(A,B,C))[1:7])
sum.Rank.B=sum(rank(c(A,B,C))[8:15])
sum.Rank.C=sum(rank(c(A,B,C))[16:23])
#Criando o fator de relação entre os tratamento, pois possuem valores de n diferentes
Trat.dados<-factor(rep(1:3, c(7, 8, 8)),labels=c("A","B","C"))
#realizando o ANOVa de Kruskal-Wallis
kruskal.test(DD.dados, Trat.dados)
#exibindo o sumários dos postos (rank) para cada tratamento
rank(c(A,B,C))[1:8]
rank(c(A,B,C))[9:16]
rank(c(A,B,C))[17:23]
#Exibindo oa média dos postos
sum.Rank.A/length(A)
sum.Rank.B/length(B)
sum.Rank.C/length(C)

Resultado

> #Informando os dados de cada tratamento
> A=c(17,14,4,8,29,6,15)
> B=c(20,5,9,13,34,2,11,22)
> C=c(32,35,26,34,21,45,50,47)
> #Agrupando os dados do tratamento em uma variável única
> DD.dados<-c(A,B,C)
> #Criando o rank dos dados para todos os tratamentos
> sum.Rank.A=sum(rank(c(A,B,C))[1:7])
> sum.Rank.B=sum(rank(c(A,B,C))[8:15])
> sum.Rank.C=sum(rank(c(A,B,C))[16:23])
> #Criando o fator de relação entre os tratamento, pois possuem valores de n diferentes
> Trat.dados<-factor(rep(1:3, c(7, 8, 8)),labels=c("A","B","C"))
> #realizando o ANOVa de Kruskal-Wallis
> kruskal.test(DD.dados, Trat.dados)

	Kruskal-Wallis rank sum test

data:  DD.dados and Trat.dados
Kruskal-Wallis chi-squared = 11.956, df = 2, p-value = 0.002534

> #exibindo o sumários dos postos (rank) para cada tratamento
> rank(c(A,B,C))[1:8]
[1] 11  9  2  5 16  4 10 12
> rank(c(A,B,C))[9:16]
[1]  3.0  6.0  8.0 18.5  1.0  7.0 14.0 17.0
> rank(c(A,B,C))[17:23]
[1] 20.0 15.0 18.5 13.0 21.0 23.0 22.0
> #Exibindo oa média dos postos
> sum.Rank.A/length(A)
[1] 8.142857
> sum.Rank.B/length(B)
[1] 8.6875
> sum.Rank.C/length(C)
[1] 18.6875
> 

Tabela de Qui-Quadrado (χ²)

Material pertencente ao curso de Biostatística aplicada À Entomologia
Copyright © Methodos Consultoria Ambiental Ltda ME

Referências

Rodrigues, W.C., 2010, Estatística Aplicada: 8ª Edição Revisada e Ampliada Com listas de Exercícios. Edição do autor, 62 p.

Vieira, S.,2003. Bioestatística: tópicos avançados. 2ª ed., Rio de Janeiro, Elsevier. 216 p.

Como citar este artigo:
Rodrigues, William Costa, 2016. Teste de Kruskal-Wallis (K-W). Estatística na Mão. Disponível em: http://estatisticanamao.agroamb.com.br/estatisticanamao/artigos.aspx?ID=12?ID=12. [Acesso em: 21.07.2018].



Topo