Ref.: Johnson e Wichern, Cap. 4
Alguns métodos de Inferência Estatística partem do
pressuposto de normalidade dos dados.
A qualidade das inferências feitas por estes métodos
depende de quão próxima é a população em estudo da
normal multivariada.
Procedimentos para verificação de dados que
apresentam desvios da suposição de normalidade se
fazem necessários.
PROBLEMA: As observações Xi parecem violar a
suposição de normalidade?
Sugestão: verificar se as distribuições marginais do
vetor aleatório parecem normais;
se os diagramas de dispersão das variáveis tomadas
duas a duas têm uma aparência elíptica;
se existem observações discrepantes (outliers) que
mereçam ser verificadas.
Avaliação da normalidade das
distribuições marginais
Histogramas para tamanhos amostrais superiores ou
iguais a 25 podem revelar situações nas quais uma
cauda da distribuição seja mais pesada do que a outra.
Se o histograma para a j-ésima componente do vetor de
observações parece razoavelmente simétrico, podemos
verificar a normalidade calculando a proporção de
valores que caem em determinados intervalos
comparando-a com a proporção esperada sob
normalidade.
Avaliação da normalidade das distribuições marginais
Por exemplo, numa distribuição normal univariada a
probabilidade de um valor cair no intervalo que dista um
desvio-padrão da média é cerca de 68%; a probabilidade de
um valor cair no intervalo que dista dois desvios-padrão da
média é cerca de 95%; etc.
Assim, se observarmos proporções amostrais muito
diferentes do que se espera no caso da normal, a hipótese
de normalidade deve ser descartada.
Gráficos são sempre ferramentas úteis em qualquer análise
de dados. Gráficos especiais chamados Q-Q plots podem
ser usados para avaliar a suposição de normalidade.
Q-Q plots
Construídos a partir das distribuições marginais de cada componente
do vetor p-variado.
São de fato um gráfico do quantil amostral versus quantil esperado sob
normalidade (podem ser usados para validar outras distribuições
diferentes da normal).
Quando a configuração de pontos no gráfico se aproxima de uma reta, a
suposição de normalidade é sustentável.
A normalidade é suspeita se houver pontos que se desviam do
comportamento linear.
A forma como os pontos se desviam do comportamento linear pode
fornecer pistas sobre a natureza da não normalidade das observações.
Conhecida a razão da não normalidade dos dados, ações corretivas
podem ser tomadas (transformações visando normalizar os dados ou
uso de técnicas para dados não normais).
PASSOS NA CONSTRUÇÃO DO Q-Q plot
Ordenar os n valores da j-ésima componente do vetor
aleatório. Seja x(1) x(2) ... x(n) as observações
ordenadas. Os x(i ) ‘s são os quantis amostrais
(i=1,2,...,n).
Quando todos os quantis amostrais são distintos entre
si, então exatamente i observações são menores ou
iguais a x(i ) ' s.
A proporção i/n da amostra à esquerda de x(i) é
frequentemente aproximada para (i-0,5)/n por
conveniência analítica.
PASSOS NA CONSTRUÇÃO DO Q-Q plot
Para uma distribuição normal padrão, podemos obter
os quantis q(i) tais que P(Z≤ q(i))=(i-0,5)/n.
A idéia será olhar os pontos (q(i),x(i)) com a mesma
probabilidade acumulada (i-0,5)/n.
Se os dados, de fato, provêm de uma normal, os pares
serão aproximadamente linearmente relacionados,
pois o quantil esperado sob normalidade é
aproximadamente σ q(i)+μ, com σ representando o
desvio-padrão e μ a média da distribuição.
Usando o R para a construção do Q-Q plot
No R temos a função ppoints(n) que gera o vetor de
valores (i-0,5)/n, para i variando de 1 a n.
Para gerar os quantis esperados sob normalidade
usaremos a função qnorm(p), que retorna o quantil
cuja probabilidade acumulada é p. (Quando não
especificamos nada além de p, o R retorna quantis da
N(0,1)).
A função usada para ordenar um vetor de números no
R é a função sort(x).
Construção do Q-Q plot das medidas do conjunto de
dados crabs do pacote MASS
Carregue o pacote MASS.
Digite data(crabs).
Os dados estão organizados de tal modo que as colunas de
4 a 8 representam medidas morfológicas de caranguejos de
duas espécies (linha 1 a 100 uma espécie e de 101 a 200 a
outra).
Também há a divisão por gênero (macho e fêmea) tal que as
50 primeiras linhas de cada espécie são do gênero macho e,
as restantes, do gênero fêmea.
Vamos construir 20 QQ-plots representando cada uma das
5 medidas dos 4 grupos caracterizados por espécie e
gênero.
Construção do Q-Q plot das medidas do
conjunto de dados crabs do pacote MASS
Como n=50 em cada grupo espécie e gênero, faça
prop=ppoints(50)
Calcule o vetor de quantis esperados sob normalidade:
quantilesp=qnorm(prop)
Ordene os valores observados: x1=sort(crabs[1:50,4])
Construa o gráfico: plot(quantilesp,x1).
Para que os 20 gráficos fiquem numa única página use
a função par(mfrow=c(4,5))
Avaliação da normalidade das distribuições
marginais
Uma medida quantitativa para auxiliar na avaliação do
Q-Q plot é calcular a correlação rQ entre os quantis
esperados e o vetor observado ordenado.
A hipótese de normalidade é rejeitada ao nível de
significância α se rQ obtido for menor que um valor
apropriado.
Por exemplo, ao nível de significância de 5% amostras
de tamanho 50, a hipótese deve ser rejeitada se rQ for
inferiro a 0,9768.
Correlações obtidas na base de dados crabs
grupo 1: 0,9929 0,9899 0,9924 0,9924 0,9910
grupo 2: 0,9901 0,9939 0,9931 0,9940 0,9924
grupo 3: 0,9902 0,9943 0,9907 0,9903 0,9893
grupo 4: 0,9919 0,9903 0,9915 0,9912 0,9939
Limiar: 0,9768.
Logo, verifica-se que nenhuma das correlações fica
abaixo do limiar especificado pelo nível de
significância de 5%, evidenciando a não rejeição da
hipótese nula de normalidade das distribuições
marginais.
Teste de normalidade de Shapiro-Wilk
Esse teste, proposto em 1965, calcula uma estatística W que testa se uma
amostra aleatória de tamanho n provém de uma distribuição normal.
Valores pequenos de W são evidência de desvios da normalidade e
pontos percentuais para a estatística W, podem ser obtidos via simulação
2
n
de Monte Carlo.
ai x(i )
A estatística W é calculada de acordo com a seguinte equação: W ni 1
2
xi x
i 1
em que os x(i)’s são os valores amostrais ordenado e os ai‘s são constantes geradas
das médias, variâncias e covariâncias das estatísticas de ordem de uma amostra
aleatória de tamanho n de uma distribuição normal.
Em comparação a outros testes de bondade de ajuste, esse teste comporta-se bem.
No R existe a função shapiro.test(x).
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
data:
Resultados da aplicação do teste de normalidade de Shapiro-Wilk aos dados “CRABS”
x1 --> W = 0.9817, p-value = 0.6268
x2 --> W = 0.9771, p-value = 0.4361
x3 --> W = 0.9815, p-value = 0.6179
x4 --> W = 0.9817, p-value = 0.6234
x5 --> W = 0.9777, p-value = 0.4592
y1 --> W = 0.9793, p-value = 0.5233
y2 --> w = 0.9846, p-value = 0.7538
y3 --> W = 0.9843, p-value = 0.7395
y4 --> W = 0.9866, p-value = 0.8386
y5 --> W = 0.9824, p-value = 0.6565
z1 --> W = 0.9758, p-value = 0.3918
z2 --> W = 0.9869, p-value = 0.8496
z3 --> W = 0.9771, p-value = 0.4366
z4 --> W = 0.9765, p-value = 0.4142
z5 --> W = 0.9742, p-value = 0.3411
w1 --> W = 0.9802, p-value = 0.5612
w2 --> W = 0.9804, p-value = 0.5683
w3 --> W = 0.9799, p-value = 0.5474
w4 --> W = 0.9801, p-value = 0.5568
w5 --> W = 0.9839, p-value = 0.7228
Avaliando compostos lineares
Compostos lineares podem ser investigados. Alguns
textos sugerem trabalhar com o composto linear
T
eˆ1 xi
com
Seˆ1 ˆ1 eˆ1 e ˆ1
representando o maior autovalor de S.
O composto linear:
eˆ p xi
T
com
Seˆ p ˆp eˆ p e ˆp
representando o menor autovalor de S também
costuma ser usado.
Avaliando compostos lineares
Para avaliar os compostos sugeridos no slide anterior,
primeiro devemos obter os n valores correspondentes
a tais compostos. Por simplicidade, consideraremos
apenas o primeiro grupo. A verificação para os demais
grupos fica como um exercício.
Primeiro vamos obter a decomposição espectral de S1
fazendo DES1=eigen(S1).
DES1 receberá dois objetos: o vetor de autovalores em
ordem decrescente de magnitude e a matriz ortogonal
na qual as colunas são os autovetores correspondentes.
Avaliando compostos lineares
DES1$vectors[,j] representa o j-ésimo autovetor.
Faça e1=matrix(0,1,5) e e5=matrix(0,1,5)
Depois faça for (i in 1:5){e1[i]=DES1$vectors[i,1]} e
for (i in 1:5){e5[i]=DES1$vectors[i,5]}
Defina xc=matrix(0,50,2), matriz que receberá em cada
coluna um dos compostos a serem analisados.
Finalmente, obtenha os compostos: (x1 representa a
matriz de dados do grupo 1)
for (i in 1:50){xc[i,1]=e1%*%x1[i,]} e
for (i in 1:50){xc[i,2]=e5%*%x1[i,]}
Resultados
Teste de Shapiro-Wilk
Shapiro-Wilk normality test
data: xc[, 1]
W = 0.9812, p-value = 0.6055
> shapiro.test(xc[,2])
Shapiro-Wilk normality test
data: xc[, 2]
W = 0.9661, p-value = 0.1603
Avaliação da Normalidade bivariada
Em trabalhos práticos, geralmente é suficiente
investigar as distribuições uni e bivariadas subjacentes.
Se as observações foram geradas de uma distribuição
normal multivariada, cada distribuição bivariada será
normal e os contornos de densidade constante serão
elipses.
O diagrama de dispersão deve-se ajustar a essa
estrutura exibindo uma forma elíptica.
Avaliação da Normalidade bivariada
Além disso, vimos que se
X ~ N p (, ) ,
então
P X 1 X 22(0,5) 0,50.
T
A grosso modo, devemos esperar que cerca de 50% das observações
caiam na região (no elipsóide)
x x T S 1 x x 22(0,5)
Assim um procedimento útil, embora não exato, é comparar
as proporções de pontos dentro de um contorno com a probabilidade teórica correspondente.
Avaliação da Normalidade bivariada
Um método um pouco mais formal para julgar a
normalidade bivariada é baseado no quadrado da
distância generalizada
di2 xi x S 1 xi x , i 1,2,...n
T
Esse procedimento não é limitado ao caso p=2, pode ser usado.
para p>2.
Avaliação da Normalidade bivariada
Quando a população é de fato normal multivariada e
ambos n e n-p são maiores que 25 ou 30, cada uma das
distâncias generalizadas quadradas devem comportarse segundo uma distribuição de qui-quadrado com p
graus de liberdade.
Apesar dessas distâncias não serem independentes ou
terem distribuição exata de Qui-quadrado, é útil
construir um gráfico como se fossem.
O gráfico resultante é chamado gráfico qui-quadrado.
Construção do gráfico qui-quadrado
1. Ordene as distâncias quadradas amostrais obtendo
d(21) d(22) ... d(2n)
2. Construa o gráfico de dispersão dos pontos:
d
2
(i )
, p2(i0,5) / n , com p2(i-0,5 )/n
representando o 100(i-0,5)/n quantil da distribuição de
qui-quadrado com p graus de liberdade.
A nuvem de pontos deve se ajustar a uma reta. Um padrão
diferente sugere falta de normalidade
Verificando a normalidade bivariada dos
dados em crabs
Para começar devemos calcular as distâncias
quadradas. Para isso vamos definir a matriz de dados
x=matrix(0,200,5) e fazer x1=x[1:50,1:5].
Em seguida vamos calcular o vetor de médias
m1=matrix(0,1,5) // for (i in 1:5){m1[i]=mean(x1[,i])}
e a matriz de covariância amostral S1=cov(x1).
Defina o vetor que receberá as distâncias quadradas:
dquad1=matrix(0,50) e faça
for (i in 1:50){dquad1[i]=(x1[i,]-m1)%*%solve(S1)%*%t(x1[i,]-m1)}
Verificando a normalidade bivariada dos
dados em crabs
Em seguida obtenha o vetor prop=ppoints(50) para
calcular o vetor de quantis (esperados)
qui=qchisq(prop,5)
Agora é só construir o gráfico.
A figura a seguir mostra os gráficos obtidos para os
quatro grupos.
Também podemos calcular as porcentagens em cada
caso das distâncias quadradas que ficaram abaixo do
quantil de 50% da qui-quadrado com 5 graus de
liberdade. Nesses caso em particular, observou-se
60%, 62%, 50% e 50%, respectivamente.
Transformações de normalização
Se a suposição de normalidade dos dados não é plausível, que
estratégia adotar?
1) Usar técnicas estatísticas apropriadas para dados não-normais,
após verificar a distribuição plausível para os dados (Poisson,
Gamma,etc.)
2) Transformar os dados para uma nova escala, sob a qual a
suposição de normalidade é plausível.
Aqui, somente trataremos da transformação, pois técnicas a
serem estudadas a seguir são voltadas para dados normais.
Transformações não são nada mais do que uma forma de
reescrever os dados numa unidade diferente.
Transformações úteis
Escala original
Escala transformada
Contagens (y)
y
Proporções ( p
ˆ)
Correlações (r)
1 pˆ
logit( pˆ ) log
2 1 pˆ
Fisher
z (r )
1 1 r
log
2 1 r
Transformações de normalização
Em muitas situações a escolha para melhorar a
aproximação normal não é óbvia. Para tais casos é
conveniente deixar que os dados mostrem uma
transformação. Uma família útil de transformações
para esse propósito é a família de transformações de
potências : xλ.
As transformações de potência só estão definidas para
variáveis positivas. Porém, isso não é tão restritivo
quanto parece, porque uma única constante pode ser
adicionada a cada observação no conjunto de dados se
alguns dos valores observados forem negativos.
Transformações de normalização
Box e Cox consideraram a seguinte família de
transformações de potência modificada:
x ( )
x 1
, 0
ln , 0
que é contínua em λ para x>0.
Dada a amostra, escolhe-se λ de modo a maximizar:
n
n 1 n ( )
( ) 2
l ( ) ln ( x j x ) ( 1) ln xi
2 n i 1
i 1
Transformações de normalização
Observação: A transformação obtida geralmente melhora
a aproximação à normalidade.
Porém, não há garantias de que mesmo a melhor escolha de
λ produzirá um conjunto de dados transformados que seja
adequado à suposição de normalidade.
Os resultados obtidos por uma transformação selecionada
de acordo com esse procedimento devem ser
cuidadosamente examinados para possíveis violações da
suposição de normalidade.
Essa recomendação de fato vale para qualquer
transformação usada.