Bastão de Asclépio & Distribuição Normal

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)

Material

Objetivos

  • reconhecer e mencionar propriedades da distribuição t
  • reconhecer as indicações e aplicar um teste t:
    • para uma condição
    • relacionado (duas condições dependentes)
    • independente (duas condições independentes)
  • definir as hipóteses estatísticas nula e alternativa
  • calcular e interpretar medidas de tamanho de efeito (\(d\) e \(\eta^2\) de Cohen)
  • computar as significância estatísticas e prática em suas versões bootstrapping
  • conceituar e executar com G*Power os requisitos principais para o planejamento de um estudo

Distribuição t de Student

É 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 Animacao_t_central.R para ver o aspecto da distribuição t central e observe:

  • a distribuição t é simétrica e central em zero.
  • aproxima-se da distribuição normal se o número de graus de liberdade da distribuição t tende para infinito.

Funções para distribuições em R

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.

distribuição t de Student central

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:

  • graus de liberdade (df, do inglês degrees of freedom)
  • parâmetro de não centralidade (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"))

Raciocínio inferencial

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.

Teste t para duas condições independentes (teste t de Welch)

“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.

Exemplo: ingestão de sódio em delineamento entre participantes

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

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
print(tail(Dados))
      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
print(summary(Dados))
         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                 

Estatística descritiva

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.

Significância estatística: valor p

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.

Homocedastididade e Normalidade

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:

hmc <- fligner.test(Sodium ~ Instructor, data=Dados)
print(hmc)

    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:

print(shapiro.test(Dados[Dados$Instructor=="Brendon Small","Sodium"]))

    Shapiro-Wilk normality test

data:  Dados[Dados$Instructor == "Brendon Small", "Sodium"]
W = 0.97212, p-value = 0.7989
print(shapiro.test(Dados[Dados$Instructor=="Coach McGuirk","Sodium"]))

    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.

Graus de liberdade

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.

Adaptado de Wonnacott & Wonnacott, 1990, p. 262

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.

Eisenhauer, 2008

Significância prática: tamanho de efeito

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:

  • não depende do tamanho da amostra,
  • varia entre 0 e 1,
  • adimensional.

Existem equivalências do \(\eta^2\) com outras medidas de tamanho de efeito:

  • é o quadrado da correlação de Pearson implícita entre a VI (nominal) e a VD (intervalar) do modelo linear geral (GLM).
  • é igual ao coeficiente de determinação \(R^2\) do modelo de regressão linear.
  • é igual ao coeficiente de correlação de Pearson ao quadrado entre a VI (intervalar binária) e a VD (intervalar)

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.

Teste t relacionado (duas condições dependentes)

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.

Exemplo: ingestão de sódio em delineamento intraparticipantes

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.

Hipóteses

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 \]

Dados

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).

Teste t relacionado bilateral

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:

alternative <- "two.sided"
source("demo_sodio.R")

----------------------
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\).

Teste t relacionado unilateral

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:

alternative <- "less"
source("demo_sodio.R")

----------------------
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)

Teste t para uma condição

Exemplo: Nifedipina e frequência cardíaca

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.

Hipóteses

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\).

Dados

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

Estatística descritiva

  • Esquema de 5 pontos de Tukey:
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
sumario <- summary(bpm)
print(sumario)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  67.00   69.25   71.00   70.58   72.00   74.00 
  • Boxplot
boxplot(bpm, 
        horizontal = TRUE, 
        main="Dados amostrais", 
        xlab="Batimentos cardíacos", 
        ylab="")

  • Density plot para ver o formato da distribuição dos dados:
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)

Estatística inferencial

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.

Tamanho de efeito

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.

Revendo o raciocínio

  1. Formular as hipóteses.
  2. Definir as variáveis e o delineamento do estudo.
  3. Escolher e executar o teste estatístico apropriado.
  4. Tomar as decisões de significância estatística e prática.

\(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:

  • \(\alpha\), a probabilidade de erro do tipo I, rejeitar \(H_0\) e assumir, com base na amostra, que existe efeito, quando o efeito não existe na população;
  • \(\beta\), a probabilidade de erro do tipo II, não rejeitar \(H_0\) e falhar, com base na amostra, em detectar efeito, quando o efeito existe na populaçã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:

  • se a probabilidade de que a diferença seja observada ao acaso for “grande” (\(p > \alpha\)), não se rejeita \(H_0\) (só podemos falar em aceitar \(H_0\) se o poder a priori for maior que \(90\%\)).
  • se a probabilidade de que a diferença seja observada ao acaso for “pequena” (\(p < \alpha\)), rejeita-se \(H_0\).

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\).

Testes t de Welch e relacionado sem dados brutos

É 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:

Estude e aprenda a modificar estes códigos R para seu uso.

Teste t de Student

http://unusual-cars.com/wp-content/uploads/2016/01/Ford-Model-T-1908.jpg

https://en.wikipedia.org/wiki/Student%27s_t-test

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).

Distribuição t não central

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.

Planejamento do teste t de Student com G*Power

Ao planejar você deve se perguntar:

  • Qual é o delineamento: entreparticipantes ou intraparticipantes?
  • Qual será a estrutura do arquivo: long ou wide?
  • Sobre as variáveis:
    • Qual é a variável independente (VI)?
    • Qual é a variável dependente (VD)?
    • Quais são seus níveis de mensuração: nominal, ordinal ou intervalar?
  • Este é um teste unilateral (atenção ao lado que será testado) ou bilateral?
  • Qual é a hipótese nula \(H_0\)?
  • Qual é a hipótese de pesquisa \(H_1\)?
  • Especificar (três dos quatro abaixo):
    • nível de significância (\(\alpha\)),
    • poder a priori (1-\(\beta\)),
    • tamanho de efeito mínimo a detectar,
    • tamanho da amostra.

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:

  • teste t de Student,
  • tipo de análise de poder: a priori (calcular o tamanho da amostra),
  • teste unilateral à direita,
  • tamanho de efeito pequeno (\(d\) de Cohen = 0.2),
  • poder a priori: 0.9,
  • razão de alocação nas condições independentes: \({n_1 \over n_2} = 1\) (balanceados).

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.

Referências

  • 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.