Bastão de Asclépio & Distribuição Normal
invisible(Sys.setlocale("LC_CTYPE", "pt_BR.UTF-8"))
invisible(Sys.setlocale("LC_ALL", "pt_BR.UTF-8"))
options(warn=-1)
suppressMessages(library(bootES, warn.conflicts=FALSE))
suppressMessages(library(car, warn.conflicts = FALSE))
suppressMessages(library(effectsize, warn.conflicts = FALSE))
suppressMessages(library(effsize, warn.conflicts=FALSE))
suppressMessages(library(ggplot2, warn.conflicts = FALSE))
suppressMessages(library(gplots, warn.conflicts = FALSE))
suppressMessages(library(knitr, warn.conflicts=FALSE))
suppressMessages(library(psych, warn.conflicts=FALSE))
suppressMessages(library(pwr, warn.conflicts=FALSE))
suppressMessages(library(readxl, warn.conflicts=FALSE))
suppressMessages(library(Rmisc, warn.conflicts=FALSE))
options(warn=0)
Código R
Animacao_t_central.R
Animacao_t_nao_central.R
demo_sodio.R
demo_sodio_descritiva.R
demo_sodio_efeito.R
demo_sodio_eta2.R
demo_sodio_t.R
eiras.bartitle.R
eiras.tab.dCohen.R
eiras.tab.eta2.R
Nifedipina.R
TestetRelacionadoBilateral_SemDadosBrutos.R
TestetRelacionadoUnilateralDireita_SemDadosBrutos.R
TestetRelacionadoUnilateralEsquerda_SemDadosBrutos.R
TestetWelchBilateral_SemDadosBrutos.R
TestetWelchUnilatDir_SemDadosBrutos.R
TestetWelchUnilatEsq_SemDadosBrutos.R
Arquivo de dados
RPubs
É uma distribuição de probabilidades que considera graus de liberdade (\(\nu\), letra grega ni).
A distribuição t central é simétrica e tem mais valores mais concentrados em torno de sua média nula do que a normal padrão (mesocúrtica), i.e., a distribuição t central é leptocúrtica. A comparação gráfica da normal pradrão com a t central está errada em quase todos os textos, exceto em Spanos (1998, p. 119-20, 205-7).
A distribuição t não é uma única curva, mas uma família delas que varia com o os graus de liberdade. O número de graus de liberdade não é uma variável discreta (conjunto dos números naturais), um contínua (conjunto dos números reais positivos).
Podemos pensar na distribuição t como um avanço histórico em relação à distribuição normal padrão - em um teste z, o desvio-padrão populacional é conhecido; no teste t usa-se o desvio-padrão amostral como seu estimador. A incerteza adicional pela falta de conhecimento do desvio-padrão populacional é considerada por meio dos graus de liberdade, alterando a distribuição sobre a qual a estatística do teste funciona.
Os graus de liberdade dependem do tamanho da amostra e do delineamento do estudo; quanto menor o tamanho da amostra, mais pesadas são as suas caudas e, portanto, diferenças numéricas precisam que ser maiores para que consigamos rejeitar a hipótese nula.
Experimente
|
R dispõe de uma família de funções básicas para cada tipo de distribuição. Estes pequenos conjuntos são análogos uns aos outros conjuntos, facilitando o aprendizado.
Para a distribuição t as funções são similares:
dt(x, df, ncp, log = FALSE)
pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE)
qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE)
rt(n, df, ncp)
Como as distribuições normais, as funções t são para variáveis quantitativas contínuas. Já são padronizadas e, portanto, não aparece média e desvio-padrão entre seus parâmetros. Em vez disto, aparecem duas novidades:
df
, do inglês degrees of
freedom)ncp
)No caso, o número de graus de liberdade está relacionado com o
tamanho da amostra e o delineamento do estudo. A distribuição t
central tem ncp = 0
. i.e., parâmetro de não centralidade
nulo.
gl <- 5
x <- seq(-4, 4, length.out = 100)
densidade <- dt(x, df = gl)
plot(x, densidade, type = "l", lwd = 2, col = "black",
xlab = "_t_", ylab = "Densidade",
main = paste0("Distribuição _t_ de Student\ncom ",gl," graus de liberdade"))
Análise estatística inferencial é o processo de estimar características de uma população a partir de uma amostra, por meio do teste de hipótese nula.
“A quantidade diária de sódio disponível para consumo nos domicílios brasileiros foi de 4,7 g para ingestão diária de 2.000 kcal, mantendo-se mais de duas vezes superior ao limite recomendado de ingestão desse nutriente.”
Sarno et al., 2013
Quando temos duas condições independentes (como no exemplo das estaturas de mulheres e homens), i.e., delineamento entre participantes, com amostras provenientes de uma população cujos desvios-padrão são desconhecidos, podemos utilizar o teste t para testar a igualdade das médias populacionais.
Por exemplo,
https://www.fns.usda.gov/snap/supplemental-nutrition-assistance-program-education-snap-ed
O SNAP-Ed (Supplemental Nutrition Assistance Program Education) é um programa baseado em evidências que ajuda as pessoas a terem uma vida mais saudável.
O SNAP-Ed ensina às pessoas que usam ou qualificam para o SNAP uma boa nutrição e como fazer com que o seu dinheiro de alimentação se estenda ainda mais.
Os participantes do SNAP-Ed também aprendem a ser fisicamente ativos.
Brendon e McGuirk fazem com que seus alunos do SNAP-Ed mantenham diários do que comem por uma semana e depois calculem a ingestão diária de sódio em miligramas.
Desde que as classes receberam diferentes programas de educação nutricional, eles querem ver se a ingestão média de sódio é a mesma para as duas turmas.
\[ \begin{cases} H_0: &\mu_{\text{Brendon}} = \mu_{\text{McGuirk}} \\ H_1: &\mu_{\text{Brendon}} \ne \mu_{\text{McGuirk}} \end{cases} \\ \alpha=0.05 \]
O subscrito na média populacional \(\mu\) das hipóteses nula e alternativa podem não ser os mais felizes. Note que, com o teste, nosso objetivo final é a inferência: não é avaliar a turma de Brendon em comparação à do McGuirk que interessa aqui, mas se populacionalmente os efeitos dos programas adotados por Brendon e pelo McGuirk são iguais ou não, tendo por base o que acontecer em suas respectivas turmas de estudantes.
Dados <- data.frame(readxl::read_excel("Nutricao.xlsx"))
Dados$Instructor <- factor(Dados$Instructor)
Dados$Student <- factor(Dados$Student)
print(head(Dados))
Instructor Student Sodium
1 Brendon Small a 1200
2 Brendon Small b 1400
3 Brendon Small c 1350
4 Brendon Small d 950
5 Brendon Small e 1400
6 Brendon Small f 1150
Instructor Student Sodium
35 Coach McGuirk ai 1400
36 Coach McGuirk aj 1200
37 Coach McGuirk ak 1150
38 Coach McGuirk al 1400
39 Coach McGuirk am 1500
40 Coach McGuirk an 1200
Instructor Student Sodium
Brendon Small:20 a : 1 Min. : 950
Coach McGuirk:20 aa : 1 1st Qu.:1150
ab : 1 Median :1250
ac : 1 Mean :1267
ad : 1 3rd Qu.:1362
ae : 1 Max. :1700
(Other):34
Começamos com a estatística descritiva (demo_sodio_descritiva.R
):
item group1 vars n mean sd median trimmed mad
Sodium1 1 Brendon Small 1 20 1287.50 193.7341 1300.0 1284.375 166.7925
Sodium2 2 Coach McGuirk 1 20 1246.25 142.4123 1212.5 1240.625 148.2600
min max range skew kurtosis se
Sodium1 950 1700 750 0.1186154 -0.4626583 43.32026
Sodium2 1000 1525 525 0.3030858 -0.8453012 31.84435
Observando se não há valores discrepantes, indicando possíveis erros na entrada de dados.
O teste t a ser aplicado é de Satterthwaite (apesar do R exibir como teste de Welch), conforme Satterthwaite (1946), Welch (1947) e Manuais do STATA.
Operacionalização do teste t de Welch com a função
t.test
(demo_sodio_t.R
):
Welch Two Sample t-test
data: Sodium by Instructor
t = 0.76722, df = 34.893, p-value = 0.4481
alternative hypothesis: true difference in means between group Brendon Small and group Coach McGuirk is not equal to 0
95 percent confidence interval:
-67.91132 150.41132
sample estimates:
mean in group Brendon Small mean in group Coach McGuirk
1287.50 1246.25
Não rejeitamos \(H_0\): não há elementos para afirmar que há diferença de resultado, quanto à ingestão de sódio, quando comparamos os dois grupos submetidos a diferentes programas educacionais.
Uma das premissas para a aplicação do teste t de Student,
discutido adiante, é a homocedasticidade (a variância populacional da
variável dependente deve ser igual nos dois grupos estudados). O teste
t de Welch (ou Satterthwaite) é um método mais robusto que o
teste t de Student tradicional: a modificação proposta por
Satterthwaite e Welch prescinde da homocedasticidade, corrigindo os
graus de liberdade (df
).
Uma forma heurística para sabermos se há indícios de heterocedasticidade é comparar os desvios-padrão: se a razão do maior e menor desvios-padrão é maior que 2, é indício de heterocedasticidade.
Uma forma mais rigorosa é testar homocedasticidade estatisticamente, por exemplo com:
Fligner-Killeen test of homogeneity of variances
data: Sodium by Instructor
Fligner-Killeen:med chi-squared = 0.6816, df = 1, p-value = 0.409
Este teste não rejeita a hipótese nula de homocedasticidade para qualquer nível de significância razoável.
Uma forma mais rigorosa é testar normalidade para cada condição independente estatisticamente, por exemplo com:
Shapiro-Wilk normality test
data: Dados[Dados$Instructor == "Brendon Small", "Sodium"]
W = 0.97212, p-value = 0.7989
Shapiro-Wilk normality test
data: Dados[Dados$Instructor == "Coach McGuirk", "Sodium"]
W = 0.96772, p-value = 0.7062
Este teste não rejeita a hipótese nula de normalidade para cada grupo para qualquer nível de significância razoável.
Utilizaremos o teste t de Welch neste caso, mesmo sendo
possível o uso do teste t de Student por meio do parâmetro
var.equal = TRUE
da função t.test
.
No caso de duas condições independentes, \(A\) e \(B\), o número de graus de liberdade é dados por \(\text{df}_{\text{max}} = n_A + n_B - 2=38\). A saída relata 34.893 graus de liberdade. No teste t de Welch, quanto maior for a heterocedasticidade, menor será o número de graus de liberdade. Esta correção leva em conta a heterocedasticidade amostral, numérica, incorporando um ajuste gradual que traz uma vantagem sobre o teste t de Student. Além disto, como a correção é sempre feita, prescinde da necessidade do teste de homocedasticidade.
Como foi visto, menor número de graus de liberdade equivale a caudas mais pesadas para a distribuição t e, portanto, mais incerteza é levada em conta para a decisão estatística quanto maior for a heterocedasticidade entre os grupos amostrados das duas condições experimentais, compensando o quanto a falta de homocedasticidade “atrapalha” o teste t.
Outra observação interessante sobre a correção de Welch é sobre seus valores extremos. O limite superior é \(df_{\text{max}} = n_A + n_B - 2\). Temos, neste exemplo, dois grupos de 20 estudantes e \(df_{\text{max}} = 38\). Também sabemos que na situação do teste t relacionado, os graus de liberdade são dados por \(df=n-1\). Este é o limite inferior dos graus de liberdade, como se fossem os mesmos indivíduos submetidos a ambas as condições: \(df_{\text{min}} = \text{min}(n_A, n_B) - 1\) que, neste exemplo é \(df_{\text{min}} = 19\), valor que seria alcançado se houvesse heterocedasticidade extrema.
O número de graus de liberdade é a quantidade necessária de unidades experimentais para que o estimador da variância do estimador do efeito do teste (diferença padronizada das médias amostrais) usando todas as medidas independentes da amostra seja não-viesado.
Quando ouvimos sobre o tamanho da amostra, habitualmente estão se referindo ao tamanho nominal da amostra. O número de graus de liberdade constitui o tamanho efetivo da amostra.
|
Calculamos d de Cohen (tamanho de efeito) (demo_sodio_efeito.R
):
Cohen's d
d estimate: 0.2426174 (small)
95 percent confidence interval:
lower upper
-0.3999031 0.8851379
Tamanho de efeito: estimativa pontual
"small"
(Rules: sawilowsky2009)
User-specified lambdas: (BrendonSmall, CoachMcGuirk)
Scaled lambdas: (-1, 1)
95.00% perc Confidence Interval, 100000 replicates
Stat CI (Low) CI (High) bias SE
-0.243 -0.912 0.380 -0.011 0.327
[1] "small"
(Rules: cohen1988)
Sawilowsky, 2009
Elis, 2010
Eta ao quadrado (notado como eta^2
ou \(\eta^2\)) é uma medida de tamanho de
efeito.
Como qualquer medida de tamanho de efeito, estas características são necessárias, mas não suficientes:
Existem equivalências do \(\eta^2\) com outras medidas de tamanho de efeito:
A estimação pontual e por intervalo de confiança de \(\eta^2\) está implementada em demo_sodio_eta2.R
:
One-way analysis of means (not assuming equal variances)
data: Sodium and Instructor
F = 0.58863, num df = 1.000, denom df = 34.893, p-value = 0.4481
For one-way between subjects designs, partial eta squared is equivalent
to eta squared. Returning eta squared.
`var.equal = FALSE` - effect size is an approximation.
# Effect Size for ANOVA
Eta2 | 95% CI
-------------------------------
0.016590 | [0.000000, 0.175526]
Tamanho de efeito: estimativa pontual
"small"
(Rules: field2013)
Este exercício direto só pode ser feito com dois instrutores. Não
podemos computar a correlação diretamente com três ou mais instrutores.
Para calcular a correlação implícita entre uma VI nominal e uma VD
intervalar quando a função cor
não pode ser utilizada,
basta computar \(\sqrt{\eta^2}\).
\(\eta\) é correlação de Pearson absoluta implícita.
Portanto, \(\eta^2\) é uma forma mais geral para medirmos o tamanho de efeito.
O valor de \(\eta^2\) é a proporção
da variância da VD (Sodium
) explicada pela VI
(Instructor
).
\(\eta^2\) é o tamanho de efeito global do modelo estatístico.
Neste caso existe apenas uma VI e, portanto, o tamanho de efeito global é também o atribuído à única VI existente. Veremos em capítulos adiante \(\eta^2\) global para o modelo e \(\eta^2\) parciais para os efeitos das VI.
Aplica-se tipicamente às situações em que o mesmo indivíduo (ou a mesma unidade experimental) tem uma variável de desfecho intervalar medida em dois momentos ou em duas condições experimentais dependentes. As duas medidas feitas em um mesmo indivíduo não podem ser consideradas independentes: ao contrário, estão relacionadas entre si por tudo que for idiossincrático.
Retomamos o exemplo anterior, no qual Brendon e McGuirk fazem com que seus alunos do SNAP-Ed mantenham diários do que comem por uma semana e depois calculem a ingestão diária de sódio em miligramas. No entanto, vamos imaginar que os mesmos estudantes passaram pelos dois programas, e portanto pretendemos verificar se a ingestão média de sódio foi a mesma para estes indivíduos nas duas situações.
Quando podemos submeter um grupo de indivíduos a duas situações e obtemos as mesmas medidas, podemos decidir com base na diferença entre as medidas de cada indivíduo, para sabermos se o efeito obtido é ou não similar (um teste bilateral). O mesmo raciocínio é aplicável a quaisquer duas condições: reações a drogas, sucessos em tratamentos, reações a influências ambientais ou respostas a estímulos.
O teste t relacionado também costuma ser chamado de teste t pareado. O problema de denominá-lo de pareado é a confusão conceitual entre o cálculo estatístico, que é o mesmo, e o delineamento dos estudos, que é diverso. Um desenho de estudo pareado não usa os mesmos indivíduos “antes e depois” nem “sob condição A e condição B”, mas indivíduos diferentes. No entanto, não são indivíduos quaisquer, mas pares de indivíduos o mais similares possíveis em todas as variáveis outras, que não a que nos interessa estudar, das quais sabemos ter influência em nossa medida. Por exemplo, para ver o efeito do tratamento em pares de hipertensos, podemos utilizar pares de indivíduos com o mesmo IMC, idade, sexo, nível de colesterol, hábitos de dieta etc. |
Desde que cada participante foi submetido aos dois programas de educação nutricional, as hipóteses são:
\[ \begin{cases} H_0: &\mu_{\text{McGuirk}} - \mu_{\text{Brendon}} = 0 \\ H_1: &\mu_{\text{McGuirk}} - \mu_{\text{Brendon}} \ne 0 \end{cases} \\ \alpha=0.05 \]
Utilizaremos os mesmos dados numéricos de antes, mas rearranjados
como medidas de um mesmo participante nas duas condições, disponíveis na
mesma planilha Nutricao.xlsx
. Os dados podem ser lidos
e exibidos assim:
suppressMessages(library(readxl, warn.conflicts = FALSE))
Dtfrm <- readxl::read_excel("Nutricao.xlsx", sheet="dependente")
print(Dtfrm)
# A tibble: 20 × 4
Student `Brendon Small` `Coach McGuirk` dif
<chr> <dbl> <dbl> <dbl>
1 a 1200 1100 -100
2 b 1400 1200 -200
3 c 1350 1250 -100
4 d 950 1050 100
5 e 1400 1200 -200
6 f 1150 1250 100
7 g 1300 1350 50
8 h 1325 1350 25
9 i 1425 1325 -100
10 j 1500 1525 25
11 k 1250 1225 -25
12 l 1150 1125 -25
13 m 950 1000 50
14 n 1150 1125 -25
15 o 1600 1400 -200
16 p 1300 1200 -100
17 q 1050 1150 100
18 r 1300 1400 100
19 s 1700 1500 -200
20 t 1300 1200 -100
A planilha Nutricao.xlsx tem duas abas. Os dados no formato
adequado para o teste t relacionado está na aba “dependente”.
Observe como usamos a função read_excel() para ler a aba
correta (por default esta função lê a primeira aba da
planilha).
|
Os códigos R são fundamentalmente os mesmos, com a importante
diferença de que usaremos principalmente a coluna dif
para
a tomada de decisões.
Diferentemente da seção anterior, fornecemos aqui o código demo_sodio.R
, o
qual faz todos os passos sequencialmente: estatística descritiva,
significância estatística e significância prática. A saída é longa, e
deve ser vista passo-a-passo:
----------------------
Estatistica descritiva
----------------------
Student Brendon Small Coach McGuirk dif
Length:20 Min. : 950 Min. :1000 Min. :-200
Class :character 1st Qu.:1150 1st Qu.:1144 1st Qu.:-100
Mode :character Median :1300 Median :1212 Median : -25
Mean :1288 Mean :1246 Mean : -41
3rd Qu.:1400 3rd Qu.:1350 3rd Qu.: 50
Max. :1700 Max. :1525 Max. : 100
------------------------------------
Analise de significancia estatistica
------------------------------------
Tamanho da amostra
n = 20 pares
One Sample t-test
data: Dtfrm$dif
t = -1.6986, df = 19, p-value = 0.1057
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-92.07733 9.57733
sample estimates:
mean of x
-41.25
--------------------------------
Analise de significancia pratica
--------------------------------
Tamanho de efeito de Cohen:
Eta^2 = 0.1318402 (medium)
A primeira parte da saída é a análise descritiva. Na parte textual e
nos gráficos verificamos que não há valores estranhos ou discrepantes.
Em seguida, aparece o teste t relacionado usando a função
t.test
e o gráfico correspondente. Aqui o teste t
é feito com a diferença entre as medidas, e a conclusão é pela não
rejeição da hipótese nula. Finalmente, fazemos a análise da
significância prática.
No caso de duas condições dependentes, o número de graus de liberdade é dado por \(df_{\text{max}} = n - 1\), igual a \(19\) neste exemplo. Para analisar o tamanho de efeito, o \(d\) de Cohen não é calculado aqui. A medida preferível é \(\eta^2\). |
Suponha que tivéssemos conhecimento prévio de que o programa do instrutor McGuirk é mais bem sucedido (i.e., reduz mais a ingesta de sódio) que o do instrutor Brendon, e quiséssemos testar esta hipótese. O teste passa a ser unilateral. As hipóteses serão:
\[ \begin{cases} H_0: &\mu_{\text{McGuirk}} - \mu_{\text{Brendon}} = 0 \\ H_1: &\mu_{\text{McGuirk}} - \mu_{\text{Brendon}} < 0 \end{cases}\\ \alpha=0.05 \]
O mesmo código está adaptado para esta situação, mudando o parâmetro
alternative
:
----------------------
Estatistica descritiva
----------------------
Student Brendon Small Coach McGuirk dif
Length:20 Min. : 950 Min. :1000 Min. :-200
Class :character 1st Qu.:1150 1st Qu.:1144 1st Qu.:-100
Mode :character Median :1300 Median :1212 Median : -25
Mean :1288 Mean :1246 Mean : -41
3rd Qu.:1400 3rd Qu.:1350 3rd Qu.: 50
Max. :1700 Max. :1525 Max. : 100
------------------------------------
Analise de significancia estatistica
------------------------------------
Tamanho da amostra
n = 20 pares
One Sample t-test
data: Dtfrm$dif
t = -1.6986, df = 19, p-value = 0.05285
alternative hypothesis: true mean is less than 0
95 percent confidence interval:
-Inf 0.7405367
sample estimates:
mean of x
-41.25
--------------------------------
Analise de significancia pratica
--------------------------------
Tamanho de efeito de Cohen:
Eta^2 = 0.1318402 (medium)
Suspeita-se de que um medicamento vasodilatador (Nifedipina) para Hipertensão Arterial, amplamente receitado, esteja aumentando a frequência cardíaca dos pacientes.
É sabido que a frequência cardíaca fisiológica tem distribuição normal com média 70 bpm.
Para verificar essa suspeita, planejou-se obter uma amostra aleatória de 50 pacientes que recebem Nifedipina para se medir a frequência cardíaca.
\[ \begin{cases} H_0: &\mu_{\text{nifedipina}} = \mu_0 \\ H_1: &\mu_{\text{nifedipina}} > \mu_0 \end{cases}\\ \alpha=0.05 \]
Adota-se \(\mu_0 = 70\).
A amostra de 50 pacientes forneceu:
72, 74, 70, 70, 69, 71, 72, 71, 69, 74, 71, 71, 70, 73, 69, 68, 68, 71, 71, 72, 70, 69, 73, 69, 71, 70, 72, 73, 70, 72, 67, 72, 67, 68, 69, 72, 70, 70, 70, 71, 74, 67, 69, 71, 71, 73, 71, 71, 70, 71
bpm <- c(72, 74, 70, 70, 69, 71, 72, 71, 69, 74, 71, 71, 70, 73, 69, 68, 68,
71, 71, 72, 70, 69, 73, 69, 71, 70, 72, 73, 70, 72, 67, 72, 67, 68,
69, 72, 70, 70, 70, 71, 74, 67, 69, 71, 71, 73, 71, 71, 70, 71)
print(fivenum(bpm))
[1] 67 69 71 72 74
Min. 1st Qu. Median Mean 3rd Qu. Max.
67.00 69.25 71.00 70.58 72.00 74.00
densprob <- density(bpm)
plot(densprob,
main="Distribuição dos dados amostrais",
xlab="Batimentos cardíacos",
ylab="Densidade")
por inspeção visual, parece aproximar-se da distribuição normal?
# dados
bpm <- c(72, 74, 70, 70, 69, 71, 72, 71, 69, 74, 71, 71, 70, 73, 69, 68, 68,
71, 71, 72, 70, 69, 73, 69, 71, 70, 72, 73, 70, 72, 67, 72, 67, 68,
69, 72, 70, 70, 70, 71, 74, 67, 69, 71, 71, 73, 71, 71, 70, 71)
# density plot
densprob <- density(bpm)
plot(densprob,
main="Distribuição dos dados amostrais",
xlab="Batimentos cardíacos", ylab="Densidade")
# distribuicao com media +- 4 desvios-padrao
media_bpm <- mean(bpm, na.rm = TRUE)
dp_bpm <- sd(bpm, na.rm = TRUE)
x <- seq(media_bpm-4*dp_bpm,media_bpm+4*dp_bpm,by=0.1)
distnormal <- dnorm(x, mean=media_bpm, sd=dp_bpm)
lines(x, distnormal, lty=2)
Para um teste t para uma condição, unilateral à direita
(note o uso de “greater”), é necessário fornecer o valor de
referência (mu_pop <- 70
) executado com:
bpm <- c(72, 74, 70, 70, 69, 71, 72, 71, 69, 74, 71, 71, 70, 73, 69, 68, 68,
71, 71, 72, 70, 69, 73, 69, 71, 70, 72, 73, 70, 72, 67, 72, 67, 68,
69, 72, 70, 70, 70, 71, 74, 67, 69, 71, 71, 73, 71, 71, 70, 71)
mu_pop <- 70
alfa <- 0.05
t_out <- t.test(bpm,
mu=mu_pop,
conf.level = 1-alfa,
alternative = "greater")
print(t_out)
One Sample t-test
data: bpm
t = 2.312, df = 49, p-value = 0.01251
alternative hypothesis: true mean is greater than 70
95 percent confidence interval:
70.15942 Inf
sample estimates:
mean of x
70.58
Para a decisão estatística, observe o valor da estatística do teste, guardada em t_out$statistic=2.3120489 e o valor-\(p\) associado em t_out$p.value=0.0125097.
Para \(\alpha=0.05\), rejeita-se \(H_0\) e, portanto, o uso de nifedipina está associada ao aumento da frequência cardíaca neste estudo.
Para \(\alpha=0.01\), não se rejeita \(H_0\) e, portanto, não há elementos neste estudo para afirmar-se que o uso de nifedipina está associada ao aumento da frequência cardíaca.
FALTOU escolher \(\alpha\) no planejamento do estudo.
Neste caso é obtido por
cat("Significancia pratica:\n")
df <- t_out$parameter # graus de liberdade
_t_ <- t_out$statistic # estatistica de teste _t_ observada
dC <- effsize::cohen.d(bpm~1,
mu=mu_pop,
conf.level=1-alfa,
na.rm=TRUE) # Classificação de Cohen (1988)
print(dC)
print(effectsize::interpret_cohens_d(d=dC$estimate,
rules="sawilowsky2009"))
F <- _t_^2 # estatistica de teste F de Fisher
eta2 <- F/(F+df)
cat("\tEta^2 = ",eta2 ,"\n",sep="")
print(effectsize::interpret_eta_squared(es=eta2))
Significancia pratica:
Cohen's d (single sample)
d estimate: 0.3269731 (small)
Reference mu: 70
95 percent confidence interval:
lower upper
-0.2452060 0.8991522
[1] "small"
(Rules: sawilowsky2009)
Eta^2 = 0.09836257
t
"medium"
(Rules: field2013)
Disponibilizamos o código Nifedipina.R
que reúne os procedimentos
acima.
\(H_0\) é a hipótese nula (sempre abrange a igualdade).
\(H_1\) é a hipótese alternativa (complementar a \(H_0\)).
\(H_0\) pode ser não rejeitada ou rejeitada (a rejeição deve ser baseada em evidências obtidas a partir da amostra).
A decisão estatística sempre envolve possíveis erros:
NA POPULAÇÃO: Não sabemos se o efeito existe |
||
Se o efeito não existe |
Se o efeito existe |
|
sem evidência de efeito na amostra |
Corretamente não se rejeita \(H_0\) |
\(\beta\) |
com evidência de efeito na amostra |
\(\alpha\) |
Corretamente rejeita-se \(H_0\) \(poder = 1-\beta\) |
que são:
Não rejeitar \(H_0\) (não encontrar evidência para a existência de efeito com base na amostra) não é o mesmo que aceitar \(H_0\) (assumir a ausência de efeito na população). Para aceitar \(H_0\) com boa probabilidade de não cometer erro (supondo que não rejeitou \(H_0\) e o efeito populacional existe), \(\beta\) deve ser pequeno, mas há um cuidado fundamental: tem que ser o \(\beta\) estabelecido a priori (prospectivo), ao planejar o estudo. O \(\beta\) a posteriori (retrospectivo) que poderia ser visualizado nestes gráficos, pela sobreposição das curvas após o experimento ter sido realizado, não tem valor sobre a decisão.
O mesmo vale para o poder do teste, \(1-\beta\), complementar à probabilidade de erro do tipo II. Se \(1-\beta\) for estabelecido a priori e se, com a amostra, rejeitarmos \(H_0\), então a probabilidade de acerto ao afirmar que o efeito existe na população é o poder do teste.
A decisão sobre o teste depende da comparação entre a probabilidade de se observar uma diferença sob a hipótese nula, dada uma amostra de tamanho \(n\) e a probabilidade do erro do tipo I (\(\alpha\)) escolhida previamente:
Entenda “acaso” como flutuação amostral: supondo que o efeito não exista na população, ocasionalmente uma amostra pode sair com valores compatíveis com a diferença, levando-nos a rejeitar \(H_0\) e cometer um erro do tipo I. Em outras palavras, o valor-\(p\) é a probabilidade de se observar os valores que vieram em determinada amostra supondo-se que o efeito populacional não existe (i.e. sob \(H_0\)). Portanto, se tal probabilidade for alta (\(p>\alpha\)), não apostamos na existência da diferença (os valores amostrais são aqueles esperados a partir de uma população que não exibe o efeito) e, assim, não rejeitamos \(H_0\). Por outro lado, se observar tais valores amostrais vindos de uma população que não tem o efeito é improvável (\(p < \alpha\)), apostamos que esta amostra não deve ter vindo de uma população que não tem efeito e rejeitamos \(H_0\); por exclusão de \(H_0\), aceitamos que há diferença na população que originou a amostra, com probabilidade \(p\) (de acordo com esta amostra) de estarmos enganados; nós decidimos aceitar qualquer probabilidade de engano se encontrássemos qualquer probabilidade abaixo do nivel de significância adotado, \(\alpha\). |
É muito comum, em publicações, que somente tenhamos acesso às medidas-resumo (número de participantes, média, desvio-padrão e correlação). Nestes casos, os códigos R acima não são utilizáveis.
Para fazer os testes t relacionados (ou pareados) e testes t de Welch (independentes), quando os dados brutos não estão disponíveis, criamos os seguintes códigos:
TestetWelchBilateral_SemDadosBrutos.R
TestetWelchUnilatDir_SemDadosBrutos.R
TestetWelchUnilatEsq_SemDadosBrutos.R
TestetRelacionadoBilateral_SemDadosBrutos.R
TestetRelacionadoUnilateralDireita_SemDadosBrutos.R
TestetRelacionadoUnilateralEsquerda_SemDadosBrutos.R
Estude e aprenda a modificar estes códigos R para seu uso.
Este teste foi inicialmente publicado por em 1908 por William Sealy Gosset sob o pseudônimo de Student, e posteriormente aprimorado por Ronald Fisher, que introduziu o conceito de graus de liberdade.
Em R, o teste t default é executado com a correção de
Satterthwaite (erroneamente exibido como Welch), mas é possível forçar o
teste clássico, adicionando o parâmetro var.equal
. O teste
t de Student bilateral do exemplo da ingesta de sódio é
computado com:
t_out <- t.test(data=Dados,
subset=Instructor=="Brendon Small" |
Instructor=="Coach McGuirk",
Sodium~Instructor,
conf.level=1-alfa,
var.equal=TRUE)
print(t_out)
Two Sample t-test
data: Sodium by Instructor
t = 0.76722, df = 38, p-value = 0.4477
alternative hypothesis: true difference in means between group Brendon Small and group Coach McGuirk is not equal to 0
95 percent confidence interval:
-67.59215 150.09215
sample estimates:
mean in group Brendon Small mean in group Coach McGuirk
1287.50 1246.25
O parâmetro var.equal = TRUE
é a indicação de que o
teste clássico exige variâncias iguais (homocedasticidade). Em relação
ao teste t de Welch apresentado acima, a mudança mais visível
são os graus de liberdade, aqui correspondendo a um número inteiro igual
ao tamanho da amostra subtraído de duas unidades (uma para cada
grupo).
Quando definimos a hipótese alternativa para detectar determinado
tamanho de efeito populacional, consideramos uma distribuição da
estatística de teste não centrada em zero. É para isto que existe o
parâmetro de não centralidade ncp
na família de funções da
distribuição t. Este parâmetro está relacionado com o tamanho
de efeito.
Além da translação da distribuição quando ncp
não é
zero, estas distribuições t não centrais são assimétricas. Por
exemplo, para 5 graus de liberdade:
t <- seq(from=-6, to=6, by=0.01)
H0_t <- dt(x=t, df=5, ncp=0)
plot(t, H0_t,
xlab="t", ylab="densidade",
type="l")
H1_t <- dt(x=t, df=5, ncp=2)
lines(t, H1_t, lty=2)
Para observar o comportamento das distribuições t,
implementamos Animacao_t_nao_central.R
, que compara a
curva observada sob a hipótese nula da animação anterior com diversas
curvas representando as hipóteses alternativas. Observe, sob \(H_1\), a assimetria das distribuições, e as
áreas correspondentes a \(\beta\) e ao
poder do teste (\(1 - \beta\)) a
priori.
Ao planejar você deve se perguntar:
Exemplificamos o planejamento de um estudo com o G*Power. Temos a informação de que homens brasileiros que vivem em área urbana _t_êm estatura diferente dos que vivem em área rural (https://www.ibge.gov.br/). Suponha que planejemos conduzir um estudo para saber se esta diferença persiste em 2021. Queremos determinar o tamanho da amostra. Para o G*Power informaremos:
O G*Power calcula \(n=429\) participantes em cada grupo, totalizando 858 participantes.
Suponha que não possamos realizar este estudo. No máximo temos recursos para 50 participantes em cada grupo. O G*Power nos permite verificar, escolhendo \(\alpha\), \(\beta\) e o número possível de participantes, saber qual é o tamanho de efeito que seremos capazes de detectar:
O G*Power calcula \(d\) de Cohen = 0.59. Esta é uma medida em desvios-padrão da distância entre as médias populacionais que poderíamos detectar com este estudo. Temos que buscar, então, informação sobre o desvio-padrão da estatura em homens brasileiros na literatura.
Em 2012 o valor foi estimado em 8.6 cm (Figueroa et al., 2012): portanto, este estudo será capaz de detectar uma diferença de cerca de 5.08 cm. Caso não achemos possível que a diferença populacional seja igual ou superior a esta medida, não adianta levar o estudo adiante.
Não parece impossível: homens em área urbana eram 3.6 cm mais altos que os de área rural em 2009 (https://www.ibge.gov.br/).
Um terceiro exemplo é quando queremos encontrar o poder adequado (pelo menos 90%). Como a medida de estatura é simples, podemos buscar a detecção de efeitos muito pequenos. Imagine que optemos por adotar \(d=0.1\) (corresponde a uma diferença de 0.86 cm de acordo com nossa referência). Usaremos o \(\alpha=0.05\) tradicional. Tateando os tamanhos de amostra (artigos que estimam estatura em populações costumam ter amostras grandes), com 2000 indivíduos em cada grupo conseguimos alcançar poder de 93.5%. Assim, caso não rejeitemos a hipótese nula, poderemos afirmar com alguma segurança que a estatura dos brasileiros de área urbana e rural não diferem, em vez de termos dúvida sobre a insuficiência do tamanho de nossa amostra.
Portanto, com o G*Power, tendo quaisquer três medidas definidas (\(\alpha\), \(\beta\), \(d\) ou \(n\)), a quarta é a incógnita a ser resolvida.
Dancey C & Reidy J (2019) Estatística sem Matemática para Psicologia. 7a ed. Porto Alegre: PENSO.
Eisenhauer JG (2008) Degrees of freedom. Teaching Statistics 30(3): 75-8.
Elis P (2010) The essential guide to effect sizes. UK: Cambridge.
Figueiroa JN et al. (2012) Evolução intergeracional da estatura no Estado de Pernambuco, Brasil, entre 1945 e 2006. Cad Saúde Pública 28(7): 1285-96.
Sarno et al. (2013) Estimativa de consumo de sodio pela população brasileira 2008-9. Rev Saude Pública 47(3): 571-8.
Satterthwaite FE (1946) Approximate distribution of estimates of variance components. Biometrics Bulletin 2(6): 110-4.
Sawilowsky S (2009) New effect size rules of thumb. Journal of Modern Applied Statistical Methods 8(2): 467-74.
Spanos A (1998) Probability theory and statistical inference. UK: Cambridge.
Wonnacott T & Wonnacott R (1990) Introductory Statistics for Business and Economics. 4ª ed. NJ: Wiley.
Welch BL (1947) The generalization of ‘Student’s’ problem when several different population variances are involved. Biometrika 34(1/2): 28-35.