Testes para comparação de duas médias

EST212 - Bioestatística

Helgem de Souza

Introdução

Antes de iniciar nossa aula:

  1. Abra o RStudio.

  2. Crie um novo script.

  3. Crie uma pasta na área de trabalho com seu nome.

  4. Defina a pasta como diretório de trabalho

  5. Salve o script criado na pasta com o nome "aula10_est212.R".

  6. Baixe do Moodle os arquivos sindrome_metabolica.csv e pesonasc.csv e salve na pasta criada.

  7. Leia o arquivo sindrome_metabolica.csv para o objeto sindrome.

  8. Leia o arquivo pesonasc.csv para o objeto pesobb.

Introdução

Os testes de hipóteses vistos até aqui, tem como foco principal verificar as características de uma população:

  • Verificar se sua média é igual a um determinado valor;

  • verificar se existe normalidade nos dados;

  • verificar se os coeficientes de uma regressão são significativos para uma dada amostra.

Entretanto, conforme começamos a estudar na aula passada, muitas vezes o interesse está em comparar duas populações. Por exemplo, estudamos como verificar se duas populações possuem variâncias iguais.

Testes para comparação de médias em 2 populações

Para compreender a necessidade de comparação de médias, vamos pensar em algumas situações que são potenciais casos para pesquisa:

  • Como verificar se um medicamento é efetivo no tratamento de uma doença?

  • Crianças de 2 países idiomas diferentes aprendem a falar com a mesma idade?

  • Vegetais de agricultira familiar apresentam maior teor nutriconal?

Como realizar experimentos para responder a essas perguntas?

Testes para comparação de médias em 2 populações

Cada um dos experimentos mencionados no slide anterior partem de um pressuposto comum: a existência de dois grupos distintos:

  • Como verificar se um medicamento é efetivo no tratamento de uma doença?

    • Em dois grupos de doentes, ofereça o tratamento a um deles e um placebo ao outro. Compare os resultados.
  • Crianças de 2 países com idiomas diferentes aprendem a falar com a mesma idade?

    • Obtenha uma amostra de crianças de cada país, verifique a idade em que se iniciou a fala e compare os resultados.
  • Vegetais de agricultura familiar apresentam maior teor nutriconal?

    • Obtenha uma amostra de vegetais provenientes de agricultura familiar, outra de vegetais de provenientes do agronegócio, meça o teor nutricional e compare os resultados.

Testes para comparação de médias em 2 populações

Em todas as situações teóricas mencionadas é necessário comparar resultados. A métrica ideal para todas as situações seria a média.

Suponha comparar a média de duas populações, denominadas população 1 e população 2. Poderíamos pensar nas seguintes hipóteses:

  • \(H_0\) - A média das populações é igual

  • \(H_1\) - A média das populações é diferente

Em termos estatísticos, teríamos:

\[ H_0: \mu_1 = \mu_2 ~~ vs ~~ \mu_1 \neq \mu_2 \]

Ao se rejeitar \(H_0\), conclui-se que as populações apresentam médias diferentes. Caso contrário, elas apresentam a mesma média.

Testes para comparação de médias em 2 populações

Esses grupos diferentes para os quaise se deseja testar a igualdade das médias podem ser formados de algumas formas:

  • Amostras foram extraídas de duas populações distintas.

  • A amostra de uma mesma população foi alocada em dois grupos distintos.

  • Duas medidas foram obtidas de uma mesma amostra, mas a segunda foi obtida após alguma intervenção.

Nos dois primeiros casos, temos duas amostras indepententes. Já no terceiro caso, dizemos que os dados são pareados. Veremos testes específicos para cada caso.

Testes para comparação de médias em 2 populações

Em termos de testes paramétricos, os testes mais utilizados na comparação de média são os chamados testes t. Baseados na distribuição t de Student, eles são aplicados quando os dados provém de uma distribuição normal e apresentam pequenas variações, a depender de características das amostras:

  • As amostras possuem variâncias iguais.

  • As amostras possuem variâncias diferentes.

  • As amostras foram obtidas de forma pareada.

Vamos estudar cada um dos casos.

Teste t para comparação de médias - Variâncias Iguais

O primeiro caso é quando as populações apresentam variâncias iguais, ou seja:

\[ \sigma^2_1 = \sigma^2_2 \]

Conforme visto na aula anterior, podemos facilmente verificar essa suposição por meio de um teste F.

Caso confirmemos que as variáveis possuem variância igual, iremos testar as seguintes hipóteses:

\[ H_0: \mu_1 = \mu_2 ~~ vs ~~ \mu_1 \neq \mu_2 \]

Teste t para comparação de médias - Variâncias Iguais

Nesse contexto, a estatística de teste é dada por

\[ t = \displaystyle\dfrac{\bar{X}_1-\bar{X}_2}{\sqrt{\left[\displaystyle\frac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_2-2}\right]\left[\displaystyle\frac{1}{n_1}+\displaystyle\frac{1}{n_2}\right]}} \]

em que

  • \(\bar{X}_1\) e \(\bar{X}_2\) - médias amostrais das populações 1 e 2, respectivamente ;

  • \(s^2_1\) e \(s^2_2\) - variâncias amostrais das populações 1 e 2 , respectivamente;

  • \(n_1\) e \(n_2\) - tamanho das amostras das populações 1 e 2, respectivamente ;

Essa estatística de teste segue uma distribuição t de student com \(n_1 + n_2 - 2\) graus de liberdade.

Teste t para comparação de médias - Variâncias Iguais

Para a execução do teste f para comparação de médias, utiliza-se a mesma função empregada em testes de comparação simples: t.test().

Entretanto, acrescenta-se alguns parâmetros. São esses parâmetros que diferenciarão os diferentes testes. Vejamos como aplicar o teste t para variâncias iguais:

  • t.test(valores ~ grupos, var.equal = TRUE``, data = dados``), se os dados das amostras estão em uma mesma variável e os grupos são definidos por outra variável.

  • t.test(x = dados$pop1, y = dados$pop2, var.equal = TRUE), se os dados das amostras estão em duas variáveis distintas..

O parâmetro var.equal = TRUE indica que se tratam de dados com variâncias iguais.

Exemplo 1

Vamos novamente utilizar nosso banco de dados de peso de recém nascidos (pesonasc).

Suspeita-se que os bebês de mães fumantes apresentam, em média, um peso menor do que os bebês de mães não fumantes. Execute um teste t para verificar se a suposição é verdadeira.

Antes de executar o teste, precisamos verificar se os requisitos são atendidos:

  • normalidade.

  • variâncias iguais (homocedasticidade).

Exemplo 1

Vamos verificar os requisitos. Utilizaremos \(\alpha = 0,05\) para ambos os testes.

#Teste de normalidade
shapiro.test(pesobb$pesobb)

    Shapiro-Wilk normality test

data:  pesobb$pesobb
W = 0.99247, p-value = 0.4383
#Teste F de igualdade de variância
var.test(pesobb ~ fumo, data = pesobb)

    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 

Os dados atendem a ambos os requisitos. Vamos executar o teste t.

Exemplo 1

Nossas hipóteses são:

\(H_0\): Os pesos de bebês de mães fumantes e não fumantes é igual.

\(H_1\): Os pesos de bebês de mães fumantes e não fumantes é diferente.

Como os dados estão registrados na variável pesobb e o agrupamento está registrado na variável fumo, vamos utilizar a primeira formulação:

t.test(pesobb ~ fumo, var.equal = TRUE, data = pesobb)

Exemplo 1

Vejamos o resultado do teste

#Teste t para comparar peso médio de bebês
t.test(pesobb ~ fumo, var.equal = TRUE, data = pesobb)

    Two Sample t-test

data:  pesobb by fumo
t = 2.6336, df = 187, p-value = 0.009156
alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
95 percent confidence interval:
  70.69274 492.73382
sample estimates:
mean in group 0 mean in group 1 
       3054.957        2773.243 

O teste apresentou um p-valor de 0,009156 < 0,05. Portanto, temos evidências que indicam, ao nível de 5% de significância, que as médias de peso de bebês de mães fumantes e não fumantes é diferente.

Observe que a média do grupo 0, mães não fumantes, é maior que a média do grupo 1, o que indica que o fumo durante a gravidez, nessa população, pode dificultar o ganho de peso do bebê durante a gestação.

Exercício Prático 1

Deseja-se verificar se o fato da mãe apresentar irritabilidade uterina (irritut) afeta o peso do bebê ao nascer. Verifique se existe diferença significativa entre o peso dos bebês dessas duas populações ao nível de 5% de significância.

Exercício Prático 1 - Solução

Hipóteses:

  • \(H_0\): Não existe diferença na média de pesos de bebês de mães com e sem irritabilidade uterina.

  • \(H_1\): Existe diferença na média de pesos de bebês de mães com e sem irritabilidade uterina.

Porém, antes de executar o teste, precisamos verificar os pré-requisitos.

Exercício Prático 1 - Solução

Já verificamos que o peso dos bebês segue distribuição normal. Vamos checar se existem diferenças entre as variâncias das duas populações:

#Teste F para igualdade de variâncias - peso por irritabilidade uterina
var.test(pesobb ~ irritut, data = pesobb)

    F test to compare two variances

data:  pesobb by irritut
F = 0.87162, num df = 160, denom df = 27, p-value = 0.5873
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.4560618 1.4739338
sample estimates:
ratio of variances 
         0.8716244 

Como o p-valor é maior que 5%, temos evidencias para acreditar que os pesos apresentam a mesma variância para ambas as populações. Como os requisitos foram atendidos, vamos fazer o teste t para comparação de médias com variâncias iguais.

Exercício Prático 1 - Solução

# Teste t para comparação de médias - Peso de bebês
t.test(pesobb ~ irritut, var.equal = TRUE, data = pesobb)

    Two Sample t-test

data:  pesobb by irritut
t = 4.0422, df = 187, p-value = 7.732e-05
alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
95 percent confidence interval:
 297.0304 863.3298
sample estimates:
mean in group 0 mean in group 1 
       3030.609        2450.429 

Como o p-valor é menor que 0,05, temos evidências que nos levam a não aceitar a hipótese nula. Logo, ao nível de 5% de significância, podemos afirmar que bebês de mães com irritabilidade uterina, apresentam peso diferente daqueles que são oriundos de mães sem essa condição.

Observe que o peso médio de bebês de mães sem a condição é 3030,6g, enquanto os de mães com a referida condição é 2450,3 gramas. Logo, bebês de mães com irritabilidade uterina tendem a apresentar menor peso.

Teste t para comparação de médias - Variâncias Diferentes

O segundo caso é quando as populações apresentam variâncias diferentes, ou seja:

\[ \sigma^2_1 \neq \sigma^2_2 \]

Do mesmo modo, podemos facilmente verificar essa suposição por meio de um teste F.

A lógica do teste t para variâncias iguais se mantém. Iremos testar as seguintes hipóteses:

\[ H_0: \mu_1 = \mu_2 ~~ vs ~~ \mu_1 \neq \mu_2 \]

A diferença entre os testes está na estatística de teste.

Teste t para comparação de médias - Variâncias Diferentes

Nesse contexto, a estatística de teste é dada por

\[ t = \dfrac{\bar{X}_1-\bar{X}_2}{\sqrt{\left(\dfrac{s_1^2}{n_1} + \dfrac{s_2^2}{n_2}\right)}} \]

em que

  • \(\bar{X}_1\) e \(\bar{X}_2\) - médias amostrais das populações 1 e 2, respectivamente ;

  • \(s^2_1\) e \(s^2_2\) - variâncias amostrais das populações 1 e 2 , respectivamente;

  • \(n_1\) e \(n_2\) - tamanho das amostras das populações 1 e 2, respectivamente ;

Essa estatística de teste segue uma distribuição t de student com \(g\) graus de liberdade. O cálculo de g é será omitido. Esse teste é conhecido como teste t de Welch.

Teste t para comparação de médias - Variâncias Diferentes

Para a execução do teste f para comparação de médias, utiliza-se a mesma função empregada no teste para variâncias iguais: t.test().

A única diferença é o parâmetro var.equal = FALSE, que indica que se tratam de dados com variâncias diferentes:

  • t.test(valores ~ grupos, var.equal = FALSE, data = dados), se os dados das amostras estão em uma mesma variável e os grupos são definidos por outra variável.

  • t.test(x = dados$pop1, y = dados$pop2, var.equal = FALSE), se os dados das amostras estão em duas variáveis distintas.

Vejamos um exemplo.

Exemplo 2

Um estudo acompanhou o peso e a pressão arterial sistólica de 102 trabalhadores de uma indústria. Após o início do estudo, medidas educativas foram apresentadas e novas medidas foram realizadas 6 meses depois. Os dados, presentes no banco de dados sindrome_metabolica.csv apresentam as seguintes variáveis:

  • pas - pressão arterial sistólica no início do estudo.

  • pas2 - pressão arterial sistólica após 6 meses.

  • grupo - classificação dos trabalhadores em sadio ou com síndrome metabólica

  • turno - turno de trabalho

  • peso - peso do trabalhador no início do estudo

  • peso2 - peso do trabalhador após 6 meses

Exemplo 2

Deseja-se verificar se a pressão arterial diastólica média era a mesma entre trabalhadores sadios e com síndrome metabólica, ou seja, testar as seguintes hipóteses:

  • \(H_0\): A pressão arterial de trabalhadores sadios e com síndrome metabólica é igual.

  • \(H_1\): A pressão arterial de trabalhadores sadios e com síndrome metabólica é diferente.

Exemplo 2

Primeiramente precisamos verificar se a pressão arterial apresenta normalidade e se a variância entre os dois grupos é constante:

#Teste de normalidade para a variável completa
shapiro.test(sindrome$pas)

    Shapiro-Wilk normality test

data:  sindrome$pas
W = 0.95305, p-value = 0.001161

Os dados em conjunto não seguem distribuição normal. Vejamos se eles apresentam normalidade por grupo.

Exemplo 2

Quando queremos filtrar uma variável do nosso banco de dados com base em uma segunda variável, precisamos escrever a condição de comparação dentro de chaves, após a variável de interesse. Vejamos como proceder nesses casos:

#Teste de normalidade para a variável pas no grupo sadio
shapiro.test(sindrome$pas[sindrome$grupo == "sadio"])

    Shapiro-Wilk normality test

data:  sindrome$pas[sindrome$grupo == "sadio"]
W = 0.97198, p-value = 0.256
#Teste de normalidade para a variável pas no grupo sindrome metabolica
shapiro.test(sindrome$pas[sindrome$grupo == "sindrome metabolica"])

    Shapiro-Wilk normality test

data:  sindrome$pas[sindrome$grupo == "sindrome metabolica"]
W = 0.97632, p-value = 0.4093

Portanto as populações separadamente apresentam distribuição normal.

Exemplo 2

Agora vamos verificar, ao nível de 5% de significância, se a variância entre os dois grupos é diferente:

#Teste de igualdade de variâncias
var.test(pas ~ grupo, data = sindrome)

    F test to compare two variances

data:  pas by grupo
F = 0.36403, num df = 51, denom df = 49, p-value = 0.0004723
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.2074319 0.6368275
sample estimates:
ratio of variances 
         0.3640313 

Observe que o p-valor é significativo, (menor que 0,05), logo, rejeitamos a hipótese nula, que é a de igualdade de variâncias. Portanto, a pressão arterial apresenta variâncias distintas entre os grupos de trabalhadores sadios e com síndrome metabólica. Portanto, utilizaremos o teste t para variâncias diferentes.

Exemplo 2

A única diferença na execução do teste t no R, conforme vimos, é alterar o parâmetro var.equal da função t.test de TRUE para FALSE.

#Teste t para comparação de médias com variâncias diferentes
t.test(pas ~ grupo, var.equal = F, data = sindrome)

    Welch Two Sample t-test

data:  pas by grupo
t = -14.399, df = 79.901, p-value < 2.2e-16
alternative hypothesis: true difference in means between group sadio and group sindrome metabolica is not equal to 0
95 percent confidence interval:
 -27.20922 -20.60110
sample estimates:
              mean in group sadio mean in group sindrome metabolica 
                         120.8587                          144.7639 

Como o p-valor foi significativo, rejeitamos a hipótese nula, logo, a pressão arterial entre trabalhadores sadios e com síndrome metabólica é diferente. Em trabalhadores sadios a média foi 120mmHg. Já em trabalhadores com síndrome metabólica, ela foi de aproximadamente 145mmHg.

Análise de dados pareados

Até o momento testamos dados independentes:

  • Dados provenientes de populações distintas.

  • Dados provenientes de grupos distintos.

Entretanto, é comum a ocorrência de estudos com dados pareados.

Definição: Dados pareados são aqueles cuja observação ocorre na mesma unidade amostral, em dois momentos distintos, geralmente pré e pós intervenção. Também são conhecidos como dados com medidas repetidas.

Análise de dados pareados

Vejamos alguns exemplos de estudos que utilizam dados pareados:

  • Verificar se uma determinada atividade física é eficiente na perda de peso: Observa-se o peso de cada indivíduo antes do início das atividades e após determinado tempo repete-se as medidas.

  • Uma farmacêutica deseja verificar se um medicamento é capaz de reduzir o colesterol no sangue. Os participantes do estudo tem seu colesterol medido no início do exame e após um período de utilização, sem alterações no estilo de vida, o colesterol é medido novamente.

  • Um novo fertilizante para árvores frutíferas promete aumento da produção de frutos. Para isso, a quantidade média de frutas geradas por árvore é avaliada antes e depois da utilização do referido produto.

Como os dados deixam de ser independentes, é necessária a utilização de um teste específico para esse tipo de dados.

Análise de dados pareados

Esse tipo de estudo é empregado na tentativa de se controlar fontes de variação que poderiam influenciar os resultados da comparação.

Por exemplo, se as medidas são realizadas na mesma unidade, variações individuais podem ser eliminadas.

A intenção do emparelhamento é, portanto, fazer uma comparação mais precisa.

Teste t para comparação de médias em dados pareados

Como estamos tratando de dados em uma mesma unidade amostral, o teste para dados pareados trabalha com a diferença entre as medidas pré e pós intervenção.

Seja \(X_i\) a medida tomada antes da intervenção e \(Y_i\) a medida após a intervenção, em cada indivíduo. O efeito produzido pela intervenção no indivíduo é dado por

\[ D_i = X_i - Y_i \]

Supondo \(D_i\sim N(\mu_D,\sigma_D^2)\), para \(i = 1, ...,n\), numa situação geral, queremos testar as hipóteses:

\[H_0:\mu_D=0~~~~~vs.~~~~~H_A:\mu_D\neq 0\]

A intervenção não produz efeito contra a intervenção produz algum efeito.

Teste t para comparação de médias em dados pareados

O parâmetro \(\mu_D\) é estimado pela media amostral das diferenças \(D_i\), dada por \(\bar{D}\).

Como não temos informação sobre a variância das diferenças, estimamos seu valor por \(s_D^2\).

Nesse caso temos uma estatística de teste dada por

\[ \bar{D}/ \left(\frac{s_D}{\sqrt{n}}\right) \]

que sob a validade de \(H_0\), supostamente tem distribuição com \(n-1\) graus de liberdade.

Teste t para comparação de médias em dados pareados

A realização do teste t para dados pareados no R funciona da mesma forma que as demais, por meio da função t.test().

Entretanto, para diferenciar o teste, é necessário que informemos o parâmetro paired = TRUE. Desse modo, o R saberá que se tratam de dados pareados. Ou seja, os testes são realizados da seguinte forma:

  • t.test(valores ~ grupos, paired = TRUE, data = dados), se os dados das amostras estão em uma mesma variável e os grupos são definidos por outra variável.

  • t.test(x = dados$pop1, y = dados$pop2, paired = TRUE, data = dados), se os dados das amostras estão em duas variáveis distintas.

Vejamos sua aplicação em um exemplo.

Exemplo 3

No estudo de síndrome metabólica, o peso dos participantes foi avaliada pré intervenção (peso) e posteriormente avaliada após 6 meses de acompanhamento de profissionais de saúde (peso2).

Queremos verificar se houve diferenças entre os pesos antes e depois do acompanhamento, ou seja, se existe diferenças entre os pesos iniciais e finais.

  • \(H_0\): a diferença entre os pesos pré e pós intervenção é significativa

  • \(H_1\): a diferença entre os pesos pré e pós intervenção não é significativa

Em termos matemáticos, dado que \(D_i = peso_{antes} - peso_{depois}\), queremos testar

\[ H_0: D_i = 0~~ vs~~ D_i \neq 0 \]

Exemplo 3

Primeiramente precisamos verificar se a diferença entre os pesos segue distribuição normal. Utilizaremos o teste de Shapiro-Wilk na diferença entre os pesos:

#Teste de normalidade da diferença dos pesos:
shapiro.test(sindrome$peso - sindrome$peso2)

    Shapiro-Wilk normality test

data:  sindrome$peso - sindrome$peso2
W = 0.98913, p-value = 0.5805

Logo, as diferenças entre os pesos seguem distribuição normal. Portanto podemos executar o teste t pareado normalmente.

Exemplo 3

Como os dados estão em variáveis separadas, utilizaremos o segundo formato da função. Vamos realizar o teste ao nível de 5% de significância:

#Teste t para verificar se houve diferenças nos pesos
t.test(x = sindrome$peso, y = sindrome$peso2, paired = T)

    Paired t-test

data:  sindrome$peso and sindrome$peso2
t = 6.7469, df = 101, p-value = 9.64e-10
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
 0.8444958 1.5479216
sample estimates:
mean difference 
       1.196209 

Como o p-valor é menor que o nível de significância, podemos concluir que, ao nível de 5% de significância, a diferença entre os pesos pré e pós intervenção é significativa.

Perceba que a diferença média é positiva, o que indica que o peso pré intervenção e maior que o peso pós-intervenção. Logo, houve perda de peso significativa entre os trabalhadores.

Exercício Prático

  1. Refaça os exemplos 1, 2 e 3.

  2. Utilize o banco de dados de síndrome metabólica para testar se:

    1. Se a pressão arterial apresenta diferença significativa na média a depender do turno de trabalho.

    2. Se o peso pré intervenção apresenta diferença significativa na média a depender da existência ou não de síndrome metabólica.

    3. Se o peso pré intervenção apresenta diferença significativa na média a depender do turno de trabalho.

    4. Se a pressão arterial antes e depois da intervenção apresenta diferenças significativas.

Observação: Verifique a normalidade dos dados e escolha o teste adequado com base nas seguintes condições: Variâncias iguais, variâncias diferentes ou dados pareados.