Shapiro-Wilk normality test
data: gordura$altura
W = 0.99243, p-value = 0.2309
Shapiro-Wilk normality test
data: gordura$peso
W = 0.98741, p-value = 0.02741
EST212 - Bioestatística
Antes de iniciar nossa aula:
Abra o RStudio.
Crie um novo script.
Crie uma pasta na área de trabalho com seu nome.
Defina a pasta como diretório de trabalho
Salve o script criado na pasta com o nome "aula9_est212.R"
.
Baixe do Moodle os arquivos gordura_corporal.csv
e pesonasc.csv
e salve na pasta criada.
Leia o arquivo gordura_corporal.csv
para o objeto gordura
.
Leia o arquivo pesonasc.csv
para o objeto peso
.
Em Estatística, temos vários objetivos ao efetuar uma análise de dados. Alguns deles são:
Verificar a existência de relação entre dados.
Explicar o comportamento de uma variável por meio de modelos.
Comparar dados e seu comportamento.
Estimar possíveis valores para uma população com base em uma amostra.
Nesse sentido, as técnicas podem ser enquadradas em duas categorias principais:
Estatística Paramétrica.
Estatística não Paramétrica.
A Estatística Paramétrica compreende um conjunto de técnicas em que a distribuição de probabilidade dos dados é conhecida.
Já a Estatística não Paramétrica compreende as técnicas em que a distribuição de probabilidade dos dados não é conhecida, ou menos não é significativa para a modelagem.
Nesse curso, aprenderemos técnicas de ambas as categorias. Entretanto, algumas das técnicas já vistas são paramétricas:
Regressão: Os resíduos devem possuir distribuição normal com média 0 e variância igual (constante).
Teste t: a variável aleatória deve possuir distribuição normal.
Dentro da estatística paramétrica, existem métodos para diversas finalidades. Para muitas dessas finalidades, temos requisitos bastante presentes, que são relacionados à duas características:
Normalidade dos dados.
Variância.
A normalidade dos dados é a base de muitos modelos. Já em relação à variância, geralmente é necessário verificar se populações apresentam variâncias iguais (homocedasticidade) ou diferentes (heterocedasticidade).
Vamos aprender a verificar ambos os requisitos nessa aula.
A distribuição Normal é considerada a mais importante na Estatística, por alguns motivos:
Muitas variáveis observadas cotidianamente apresentam distribuição normal.
Apresenta boas propriedades matemáticas.
Consequentemente, um grande volume de técnicas é baseado em sua formulação.
Por esse motivo, antes de aplicar determinadas técnicas baseadas na distribuição normal, é necessário verificar se os dados em estudo se adequam a ela.
Conforme visto em Bioestatística I, uma variável aleatória é dita normal se apresenta a seguinte função de densidade de probabilidade:
\[ f(x) \dfrac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x - \mu)^2}{2\sigma^2}},~~-\infty<x<\infty, ~~~ \infty<\mu<\infty,~~\sigma2>0, \]
Algumas características:
Sua distribuição apresenta forma de sino.
Simétrica em torno da média.
Distribuição tabelada (Tabela Z).
Para verificar a normalidade existem alguns métodos. Os principais são baseados em gráficos ou testes de hipóteses.
\(H_0\) - Os dados em estudo seguem distribuição normal
\(H_1\) - Os dados em estudo não seguem distribuição normal
O teste de Shapiro-Wilk está implementado no R por meio da função shapiro.test
. Nela deve ser informada a variável para a qual se pretende verificar a normalidade.
Vamos testar a normalidade para as seguintes variáveis: altura
e peso
. Utilizaremos um nível de significância \(\alpha = 0,1\).
As hipóteses dos testes são:
\(H_0\) - A altura segue distribuição normal vs \(H_1\) - A altura não segue distribuição normal.
\(H_0\) - O peso segue distribuição normal vs \(H_1\) - O peso não segue distribuição normal.
O nível de significância é \(\alpha = 0,1\)
Para a altura, obtivemos um p-valor de 0,2309 > 0,1. Logo, ao nível de 10% de significância, existem evidências que indicam a normalidade da variável altura.
Já para o peso, obtivemos um p-valor de 0,02741 < 0,1. Logo, ao nível de 10% de significância, não existem evidências suficientes para indicar que a variável peso segue uma distribuição normal.
Vamos verificar se as seguintes variáveis do nosso banco de dados gordura
seguem distribuição normal:
gordura_corporal
abdomen
pescoco
tornozelo
Utilizaremos um nível de significância \(\alpha = 0,1\).
\(H_0\) - A variável segue distribuição normal vs \(H_1\) - A variável não segue distribuição normal.
Shapiro-Wilk normality test
data: gordura$gordura_corporal
W = 0.99169, p-value = 0.1697
Shapiro-Wilk normality test
data: gordura$abdomen
W = 0.98735, p-value = 0.02662
gordura_corporal
: p-valor = 0,1697 > 0,1. Ao nível de 10% de significância existem evidências que indicam que a variável segue distribuição normal.
abdomen
: p-valor = 0,01662 < 0,1. Ao nível de 10% de significância existem evidências que indicam que a variável não segue distribuição normal.
\(H_0\) - A variável segue distribuição normal vs \(H_1\) - A variável não segue distribuição normal.
Shapiro-Wilk normality test
data: gordura$pescoco
W = 0.99385, p-value = 0.3999
Shapiro-Wilk normality test
data: gordura$tornozelo
W = 0.85451, p-value = 1.322e-14
pescoco
: p-valor = 0,3999 > 0,1. Ao nível de 10% de significância existem evidências que indicam que a variável segue distribuição normal.
tornozelo
: p-valor = 1,322e-14 < 0,1. Ao nível de 10% de significância existem evidências que indicam que a variável não segue distribuição normal.
Nas próximas aulas, aprenderemos testes que comparam populações entre si em relação à sua média. Esse tipo de teste é bastante útil pois permite a comparação de efeitos diferentes em populações semelhantes. Vejamos alguns exemplos:
Para verificar se um novo medicamento para diabetes é eficiente, pacientes foram divididos em 3 grupos: um recebeu o novo medicamento, outro recebeu o medicamento de referência e um terceiro recebeu um placebo. Caso o novo medicamento seja eficiente, o que se espera que ocorra com a glicemia média dos pacientes?
Dois cultivares de cana foram submetidos a regimes de adubação diferentes. Será que um deles produzirá mais?
O peso de recém-nascidos com baixo peso foi registrado e durante uma semana foi oferecida uma fórmula pediátrica. Houve ganho de peso significativo entre eles?
Todos os exemplos apresentados tem em comum a necessidade de comparar grupos.
Existem diversos testes paramétricos para realizar tal comparação. Porém a escolha do teste adequado depende de alguns fatores. Um deles está relacionado com a variância das populações.
Podemos ter as seguintes situações:
Duas ou mais populações com variâncias iguais.
Duas ou mais populações com variâncias diferentes.
Para utilizarmos o teste adequado, é necessário conhecer o comportamento da variância de cada grupo. Para isso, em estatística paramétrica, usamos o Teste F.
Suponha que se deseja verificar se duas populações tem a mesma variância, ou seja, \(\sigma_1^2 = \sigma_2^2\), em que:
\(\sigma_1^2\) - Variância da população 1
\(\sigma_2^2\) - Variância da população 2
Para testar tal suposição, poderíamos elaborar as seguintes hipóteses:
\[ H_0:\sigma_1^2=\sigma_2^2~~~~vs.~~~~H_1:\sigma_1^2\neq\sigma_2^2 \]
O teste utilizado para testar essas hipóteses é chamado de Teste F para igualdade de variâncias.
Considere duas amostras extraídas de populações normalmente distribuídas, com \(n_1\) e \(n_2\) observações, respectivamente. O teste para igualdade de variâncias é realizado por meio da seguinte estatística de teste:
\[ F = \dfrac{s_1^2}{s_2^2} \]
em que:
\(s_1^2\) é a maior variância amostral dentre as duas amostras.
\(s_2^2\) é a menor variância amostral dentre as duas amostras.
Se as suposições de normalidade forem atendidas, pode-se demonstrar que a estatística de teste segue uma distribuição \(F\) com \(n_1-1\) e \(n_2-1\) graus de liberdade. A partir dessa distribuição, calcula-se o p-valor do teste.
Conforme visto, antes de aplicar o teste F, é necessário garantir que os dados seguem distribuição normal. Após verificar a normalidade, por meio do teste de Shapiro-Wilk, por exemplo, podemos executar o teste F por meio da função var.test()
:
var.test(valores ~ grupos, data = dados)
em que:
valores
: variável que recebe os valores da variável de interesse
grupos
: variável utilizada para segmentar os dados
dados
: conjunto de dados em estudo
Note que a estrutura é parecida com a função lm
da regressão linear.
Quando queremos testar duas populações e seus dados estão separados em variáveis distintas, utilizamos a seguinte parametrização:
var.test(x = populacao1, y = populacao2, data = dados)
Em que:
populacao1
- dados da população 1
populacao2
- dados da população 2
dados
- banco de dados que contém os dados das populações.
Para compreendermos melhor a sintaxe, vamos fazer um exemplo.
Para nosso exemplo utilizaremos o banco de dados pesonasc
. São dados sobre o peso de bebês no nascimento, baseado em características da mãe:
id - identificação do bebê.
baixo - presença ou não de baixo peso (<2,5kg) (0 = não, 1 = sim).
idade - idade da mãe.
pesom - peso da mãe no último período menstrual.
raca - raça da mãe (1 = branco, 2 = afro-americano, 3 = outros).
fumo - fumo durante a gestação (0 = não, 1 = sim).
partospm - nº de partos prematuros anteriores.
hipert - presença de hipertensão (0 = não, 1 = sim).
irriut - presença de irritabilidade uterina (0 = não, 1 = sim).
nprenatal - número de consultas prenatal.
pesobb - peso do bebê em gramas.
Vamos verificar se a variância entre os pesos de bebês de mães que fumaram e não fumaram é igual.
Antes de realizar o teste, precisamos verificar se a variável peso do bebê ao nascer (pesobb
) apresenta distribuição normal. O faremos por meio do teste de Shapiro-Wilk, ao nível de 0,1 de significância. As hipóteses do teste são:
\(H_0\) - O peso dos bebês segue distribuição normal
\(H_1\) - O peso dos bebês não segue distribuição normal.
Vejamos o resultado do teste.
Shapiro-Wilk normality test
data: peso$pesobb
W = 0.99247, p-value = 0.4383
O p-valor do teste foi 0,4383 >0,1. Portanto temos evidências para não rejeitar a hipótese nula. Logo, podemos afirmar que o peso dos bebês ao nascer é normalmente distribuído.
Podemos prosseguir com o teste F para igualdade de variâncias.
Agora que sabemos que os pesos seguem distribuição normal, podemos utilizar o teste F. Queremos testar se os pesos de bebês de mães que fumam e não fumam apresentam variâncias iguais, ou seja:
\[H_0:~\sigma^2_F = \sigma^2_{NF} ~~ vs ~~ H_0:~\sigma^2_{F} \neq \sigma^2_{NF}.\]
Em que
\(\sigma^2_F\) - Variância do peso dos bebês de mães fumantes.
\(\sigma^2_{NF}\) - Variância do peso dos bebês de mães fumantes.
Vamos testar as hipóteses ao nível de 5% de significância, que é o padrão para esse tipo de teste. Vejamos como executar o teste no R.
Para executar, utilizaremos a função var.test
. Os valores são definidos pela variável pesobb
. Já os grupos são definidos pela variável fumo
. Executamos o teste da seguinte forma:
F test to compare two variances
data: pesobb by fumo
F = 1.2993, num df = 114, denom df = 73, p-value = 0.229
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.8469514 1.9550579
sample estimates:
ratio of variances
1.299335
Como o p-valor não é significativo (0,229 > 0,05), temos evidências que nos levam a não rejeitar \(H_0\), portanto, pode-se afirmar ao nível de 5% de significância que as variâncias de pesos de bebês de mães fumantes e não fumantes são iguais.
Uma forma de verificar visualmente a variabilidade de dados agrupados é por meio da função boxplot
. O boxplot é um gráfico gerado pelos percentis 5, 25, 50, 75 e 95 da amostra e nos dá uma noção da forma e da variabilidade dos dados.
Para gerar um boxplot com dados agrupados, seguimos o mesmo formato utilizado na função var.test()
.
Podemos usar o boxplot antes da execução do teste para compreender melhor a relação entre os dados e respectivos grupos.
Vejamos o resultado gráfico.
Observa-se que a disspersão, caracterizada pela altura da caixa, é de fato semelhante, o que corrobora a conclusão do nosso teste.
Vamos verificar se existem diferenças nas variâncias entre os pesos dos bebês de mães hipertensas e não hipertensas, ao nível de 5% de significância.
Para isso, vamos fazer o boxplot e na sequência o teste de hipóteses. Nossas hipóteses são:
\(H_0\): A variância do peso de bebês de mães hipertensas e não hipertensas é a mesma.
\(H_1\): A variância do peso de bebês de mães hipertensas e não hipertensas é a diferente.
Como já testamos a normalidade do peso dos bebeês, não será necessário realizar o teste de Shapiro-Wilk novamente.
Primeiramente, faremos o boxplot:
Aparentemente a variância do peso de bebês de mães hipertensas é maior. Vejamos se é grande o suficiente para ser considerada diferente.
F test to compare two variances
data: pesobb by hipert
F = 0.59774, num df = 176, denom df = 11, p-value = 0.1658
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.2043689 1.2354234
sample estimates:
ratio of variances
0.597735
Nosso teste retornou um p-valor = 0,1658 > 0,05. Logo, apesar da evidência visual, temos evidências suficientes para não rejeitar a hipótese nula, ao nível de 5% de significância. Ou seja, as variâncias entre os dois grupos são iguais.
Refaça os exercícios práticos 1 e 2. Não se esqueça de comentar as conclusões dos testes no script.
Verifique se as variáveis pesom
e idade
, do banco de dados peso
seguem distribuição normal. Poderíamos executar o teste F nelas?
Teste ao nível de 5% de significância se o peso dos bebês (pesobb
) possui a mesma variância entre mães com irritabilidade uterina (irritut
) e entre os bebês de baixo peso ou não (baixo
).