Teste t em R: exemplos de uma amostra e pareados

⚡ Resumo Inteligente

O teste t em R compara médias usando a função t.test(), abrangendo uma amostra contra um alvo fixo, dois grupos independentes e medidas repetidas pareadas. Este passo a passo executa cada variante, lê o valor p corretamente e verifica as premissas subjacentes.

  • 📐 Estatística principal: O valor t divide a diferença média observada pelo seu erro padrão, portanto, magnitudes maiores argumentam contra a hipótese nula.
  • 🧪 Teste de uma amostra: t.test(x, mu = 10) verifica um único vetor em relação a um valor teórico, como a especificação de uma receita.
  • 👥 Teste de duas amostras: t.test(x, y) compara dois grupos independentes e utiliza por padrão a correção de Welch para variâncias desiguais.
  • 🔗 Teste pareado: Adicionar `paired = TRUE` testa a média das diferenças dentro do sujeito e remove a variação compartilhada.
  • ✅ Verificações de pressupostos: Use shapiro.test() para verificar a normalidade e var.test() para verificar a homogeneidade das variâncias antes de apresentar qualquer valor p.
  • 📊 Regra de decisão: Um valor p inferior a 0.05 rejeita a hipótese nula, mas nunca prova que a hipótese alternativa é verdadeira.

Teste t em R para uma amostra pareada

O que é inferência estatística?

A inferência estatística é a arte de gerar conclusões sobre a distribuição dos dados. Um cientista de dados frequentemente se depara com questões que só podem ser respondidas cientificamente. Portanto, a inferência estatística é uma estratégia para testar se uma hipótese é verdadeira, ou seja, se é validada pelos dados.

Uma estratégia comum para avaliar uma hipótese é o teste t, que indica se duas médias são iguais. Também é conhecido como teste de hipótese. Teste do alunoUm teste t pode ser calculado para:

  1. Um único vetor em relação a um valor fixo (teste t de uma amostra)
  2. Dois vetores de dois grupos separados (teste t de duas amostras independentes)
  3. Dois vetores medidos nos mesmos indivíduos (teste t pareado)

Todo teste t pressupõe que os dados sejam amostrados aleatoriamente e que os valores (ou, no caso de um teste pareado, as diferenças) provenham de uma população com distribuição aproximadamente normal. A versão para duas amostras independentes pressupõe adicionalmente que os dois grupos sejam independentes entre si, e a forma clássica pressupõe que suas variâncias sejam iguais.

O que é teste T na programação R?

A ideia básica por trás de um Teste T é usar estatísticas para avaliar duas hipóteses contrárias:

  • H0A hipótese nula, de que a média populacional é igual ao valor que está sendo testado.
  • H1A hipótese alternativa é que a média populacional difere desse valor.

O teste t foi desenvolvido para amostras pequenas, onde a aproximação normal não é confiável. Ele exige que os dados tenham uma distribuição aproximadamente normal.

Sintaxe do teste T em R

A sintaxe básica para t.test() em R é:

t.test(x, y = NULL,
       mu = 0, var.equal = FALSE)
arguments:
- x : A vector to compute the one-sample t-test
- y: A second vector to compute the two sample t-test
- mu: Mean of the population under the null hypothesis
- var.equal: Specify whether the variances of the two vectors are equal. By default, set to `FALSE`
- paired: Set to `TRUE` when the two vectors are repeated measures on the same subjects

Antes de executar qualquer procedimento, certifique-se de que o formato dos seus dados corresponda à variante correta do teste.

Tipos de teste t em R

Escolher a variante errada é o erro mais comum em testes t, portanto, comece combinando o formato dos seus dados com a variante correta.

Formato Use-o quando Chamada R
Uma amostra Um grupo comparado com um valor alvo conhecido. t.test(x, mu = valor)
Amostras independentes de dois grupos (Welch) Dois grupos distintos, com variâncias possivelmente desiguais. teste.t(x, y)
Amostras independentes de dois grupos (agrupadas) Dois grupos separados com variância igual t.test(x, y, var.equal = TRUE)
Emparelhado Os mesmos indivíduos foram medidos duas vezes. t.test(x, y, paired = TRUE)
Unilateral Você só se importa com a diferença em uma direção. t.test(x, mu = valor, alternativa = “maior”)

Além de três grupos, o teste t deixa de ser apropriado. Mude para o Teste ANOVA, o que mantém a taxa de erro geral em 5%, em vez de aumentá-la em comparações repetidas aos pares.

Teste T de uma amostra em R

O teste t de uma amostra, ou teste de Student, compara a média de um vetor com uma média teórica, Teste T de uma amostra em R. A fórmula usada para calcular o teste t é:

Teste T de uma amostra em R

Aqui,

  • Teste T de uma amostra em R refere-se à média
  • Teste T de uma amostra em R para a média teórica
  • s é o desvio padrão
  • n o número de observações.

Para avaliar a significância estatística do teste t, você precisa calcular o valor-p. O valor-p varia de 0 a 1 e é interpretado da seguinte forma:

  • Um valor p inferior a 0.05 significa que você pode rejeitar a hipótese nula. Observe que rejeitar H0 não é o mesmo que provar que H1 é verdadeira; significa apenas que os dados são improváveis ​​sob a hipótese nula de H0.
  • Um valor p superior a 0.05 indica que você não tem evidências suficientes para rejeitar a hipótese nula.

Você pode construir o valor p observando o valor absoluto correspondente do teste t na distribuição de Student com graus de liberdade iguais a Teste T de uma amostra em R

Por exemplo, com 5 observações, você compara seu valor t com a distribuição t de Student com 4 graus de liberdade e um nível de confiança de 95%. Para rejeitar a hipótese nula em um teste bicaudal, o valor t absoluto deve ser superior a 2.776.

Cf tabela abaixo:

Teste T de uma amostra em R

Um exemplo de teste T em R

Suponha que você seja uma empresa que produz biscoitos. Cada biscoito deve conter 10 gramas de açúcar. Os biscoitos são produzidos por uma máquina que coloca o açúcar em uma tigela antes de misturar tudo. Você acredita que a máquina não adiciona 10 gramas de açúcar para cada biscoito. Se sua suposição for verdadeira, a máquina precisa ser consertada. Você armazenou o nível de açúcar de trinta biscoitos.

Observação: Você pode criar um vetor aleatório com a função rnorm(). Esta função gera valores normalmente distribuídos. A sintaxe básica é:

rnorm(n, mean, sd)
arguments
- n: Number of observations to generate
- mean: The mean of the distribution. Optional
- sd: The standard deviation of the distribution. Optional

Você pode criar uma distribuição com 30 observações com média de 9.99 e desvio padrão de 0.04.

set.seed(123)
sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04)
head(sugar_cookie)

Saída:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Você pode usar um teste t de uma amostra para verificar se o nível de açúcar é diferente do da receita. Você pode desenhar um teste de hipótese:

  • H0: O nível médio de açúcar é igual a 10
  • H1: O nível médio de açúcar é diferente de 10

Você usa um nível de significância de 0.05.

# H0 : mu = 10
t.test(sugar_cookie, mu = 10)

Aqui está o resultado:

Um exemplo de teste T em R

O valor p do teste t de uma amostra é 0.1079, acima do limite de 0.05. O intervalo de confiança de 95% para a média varia de 9.973 a 10.002 gramas e inclui o valor alvo de 10. Portanto, não é possível rejeitar H0: não há evidências suficientes de que a máquina se desvie da receita.

Teste t de Student para amostras independentes no R

O teste t de Student para amostras independentes é a variante mais frequentemente utilizada e aplica-se sempre que os dois conjuntos de medições provêm de sujeitos diferentes: duas lojas, duas máquinas, dois grupos de tratamento.

Suponha que uma fábrica opere duas linhas de produção e você queira saber se elas enchem potes com o mesmo peso.

set.seed(123)
line_a <- rnorm(25, mean = 500, sd = 8)
line_b <- rnorm(25, mean = 505, sd = 8)

# Welch test, the safe default
t.test(line_a, line_b)

# Pooled test, only when the variances are equal
t.test(line_a, line_b, var.equal = TRUE)

Leia a saída em quatro etapas.

  1. t é o tamanho padronizado da diferença entre as duas médias. Seu sinal reflete apenas a ordem em que você passou os vetores.
  2. df são os graus de liberdade. O teste de Welch produz um valor fracionário; o teste combinado fornece um número inteiro igual a n1 + n2 – 2.
  3. valor-p Qual é a probabilidade de se observar uma diferença tão grande se as médias reais fossem idênticas?
  4. Intervalo de confiança delimita a verdadeira diferença. Quando contém zero, a diferença não é significativa nesse nível.

Se seus dados estiverem em um único dataframe com uma coluna de valores e uma coluna de fatores, use a interface de fórmulas, que é mais fácil de ler e evita a divisão manual dos dados:

t.test(weight ~ line, data = jars)

Qual versão usar? Deixe a variável `var.equal` com seu valor padrão `FALSE`, a menos que você tenha testado e confirmado que as variâncias são iguais. A correção de Welch praticamente não tem custo em termos de poder computacional quando as variâncias coincidem e protege você quando elas não coincidem.

Teste T pareado em R

O teste t pareado, também chamado de teste t para amostras dependentes, aplica-se quando o mesmo grupo é medido duas vezes. Aplicações típicas incluem:

  • Teste A / B: Compare duas variantes
  • estudos de caso-controle: antes e depois de um tratamento nos mesmos sujeitos

Exemplo de teste T pareado em R

Uma empresa de bebidas está interessada em conhecer o desempenho de um programa de descontos nas vendas. A empresa decidiu acompanhar as vendas diárias de uma de suas lojas onde o programa está sendo promovido. Ao final do programa, a empresa quer saber se existe diferença estatística entre as vendas médias da loja antes e depois do programa.

  • a empresa tracAs vendas eram monitoradas diariamente antes do início do programa. Este é o nosso primeiro vetor.
  • O programa é promovido durante uma semana e as vendas são registradas todos os dias. Este é o nosso segundo vetor.
  • Você realizará o teste t para avaliar a eficácia do programa. Isso é chamado de teste t pareado porque os valores de ambos os vetores vêm da mesma distribuição (ou seja, da mesma loja).

O teste de hipótese é:

  • H0: Sem diferença na média
  • H1: Os dois meios são diferentes

Lembre-se de que o teste t clássico pressupõe uma variância desconhecida, mas igual, em ambos os grupos. Dados reais raramente satisfazem essa condição exatamente, e ignorar a diferença pode distorcer o resultado.

A solução é o teste t de Welch, que relaxa a suposição de igualdade de variâncias. O R o aplica por padrão porque `var.equal` é `FALSE`, a menos que você especifique o contrário. Neste conjunto de dados, ambos os vetores foram gerados com o mesmo desvio padrão, então você pode definir `var.equal = TRUE` sem problemas.

Você cria dois vetores aleatórios a partir de uma distribuição gaussiana com uma média mais alta para as vendas após o programa.

set.seed(123)
# sales before the program
sales_before <- rnorm(7, mean = 50000, sd = 50)
# sales after the program.This has higher mean
sales_after <- rnorm(7, mean = 50075, sd = 50)
# draw the distribution
t.test(sales_before, sales_after,var.equal = TRUE)

Exemplo de teste T pareado em R

O valor p é 0.04606, ligeiramente abaixo do limite de 0.05, portanto, rejeita-se H0 e conclui-se que as duas médias diferem significativamente. O programa de descontos parece ter impulsionado as vendas.

⚠️ Importante: A chamada acima compara os dois vetores como de treinadores em Entrevista Motivacional amostras. Como ambas as séries são medições na mesma loja, a chamada estatisticamente correta adiciona emparelhado = VERDADEIRO:

t.test(sales_before, sales_after, paired = TRUE)

A versão pareada testa a média das diferenças diárias em vez da diferença entre duas médias. Ela elimina a variação ao nível da loja partilhada por ambos os vetores e, portanto, tem maior poder estatístico.

Como verificar as premissas do teste t no R

O valor p de um teste t só é significativo quando suas premissas são válidas. Cada uma delas possui uma verificação direta.

1. Normalidade. Os testes de uma e duas amostras pressupõem que os valores sejam aproximadamente normais; o teste pareado pressupõe que... diferenças São. Inspecione um gráfico QQ e confirme com o teste de Shapiro-Wilk:

qqnorm(sugar_cookie); qqline(sugar_cookie)
shapiro.test(sugar_cookie)

# for a paired design, test the differences
shapiro.test(sales_after - sales_before)

Um valor p de Shapiro-Wilk acima de 0.05 significa que a normalidade não pode ser rejeitada. Com mais de cerca de 30 observações por grupo, o teorema do limite central torna o teste t robusto a assimetrias moderadas.

2. Variância igual. Somente o teste de duas amostras agrupadas precisa disso. Teste-o com um teste F:

var.test(line_a, line_b)

Um valor p acima de 0.05 indica variâncias iguais, o que justifica var.equal = TRUE.

3. Independência. Isso decorre do desenho do estudo e não pode ser testado posteriormente. Se o mesmo sujeito contribui para ambos os vetores, o teste independente é simplesmente a ferramenta errada e você precisa de `paired = TRUE`.

Quando uma suposição falha. Para dados claramente não normais com amostras pequenas, use as alternativas baseadas em postos: `wilcox.test(x, y)` substitui o teste t de duas amostras e `wilcox.test(x, y, paired = TRUE)` substitui a versão pareada. Nenhuma delas exige normalidade, embora ambas comprometam um pouco o poder estatístico quando os dados são de fato normais.

Teste t em R: Principais conclusões e referência do teste

  • Inferência Estatística é a arte de gerar conclusões sobre a distribuição dos dados.
  • O Teste T pertence à família das estatísticas inferenciais. É comumente empregado para descobrir se há diferença estatística entre as médias de dois grupos.
  • O teste t de uma amostra, ou teste t de Student, compara a média de um vetor com uma média teórica.
  • O teste t pareado, ou teste t para amostras dependentes, aplica-se quando o mesmo grupo é medido duas vezes.

A tabela abaixo resume cada teste abordado acima:

Testar Hipótese a testar valor-p Code Argumento opcional
teste t de uma amostra A média de um vetor é diferente da média teórica 0.05
t.test(x, mu = mean)
teste t de amostra pareada A média A é diferente da média B para os mesmos indivíduos. 0.05
t.test(A, B, paired = TRUE)
var.equal = TRUE

Se você estiver disposto a assumir variâncias iguais em um teste independente de duas amostras, defina var.equal = TRUE. Deixe com o valor padrão FALSE para executar a correção de Welch, que é mais segura.

Perguntas Frequentes

Um teste pareado analisa as diferenças intraindividuais quando os mesmos indivíduos são medidos duas vezes. Um teste independente compara dois grupos separados. O uso do teste independente em dados pareados descarta informações e reduz o poder estatístico.

Use o teste de Welch sempre que não tiver confirmado a igualdade das variâncias, e é por isso que o R o aplica por padrão. Ele praticamente não consome poder estatístico quando as variâncias coincidem e protege a taxa de erro quando elas não coincidem.

Para amostras pequenas, utilize o teste de Wilcoxon de soma de postos ou o teste de Wilcoxon de postos com sinais, com a função `wilcox.test()`. Para amostras maiores, o teorema do limite central mantém a confiabilidade do teste t, mesmo com desvios moderados da normalidade.

As equipes utilizam testes t pareados para comparar dois modelos em partições de validação cruzada idênticas e para avaliar se o resultado de um experimento A/B é real. O delineamento pareado elimina a variação entre as partições da comparação.

Sim. Os assistentes de IA podem explicar graus de liberdade, traduzir intervalos de confiança para linguagem simples e avisar quando a variante errada for escolhida. Confirme cada leitura com seus próprios resultados de shapiro.test() e var.test().

Resuma esta postagem com: