Análise Estatística com ANOVA

A análise de variância unidirecional (ANOVA), também conhecida como ANOVA de um fator, é uma extensão do teste t independente de duas amostras para comparar médias em uma situação em que há mais de dois grupos.

A análise de variância é um método comumente usado para determinar diferenças entre várias amostras. R fornece uma função para conduzir a ANOVA assim: aov (model, data).Na ANOVA unidirecional, os dados são organizados em vários grupos com base em uma única variável de agrupamento (também chamada de variável de fator).

A análise de variância e regressão tem muito em comum.Ambos examinam uma variável dependente e determinam a variabilidade dessa variável em resposta a vários fatores.

Hipóteses de teste da ANOVA:

  • Hipótese nula: as médias dos diferentes grupos são as mesmas (hipótese nula geralmente afirma que não existe relação entre dois fenômenos medidos)
  • Hipótese alternativa: pelo menos uma média amostral não é igual às outras.
  • Exemplo utilizando o método de avaliação ANOVA

    Uma amostragem de tempo de tarefa executados por quatro grupos diferentes apresentou os resultados descritos a seguir. Com base em um teste ANOVA, pode-se afirmar que:

    a.( ) A média do grupo t6 é significativamente maior que a média do grupo t4

    b.( ) A média do grupo gr3 é significativamente maior que a média do grupo gr2

    c.(x) A média do grupo t5 não é significativamente maior que a média do grupo t1

    d.( ) A média do grupo t5 é significativamente maior que a média do grupo t4

    e.( ) A média do grupo gr4 não é significativamente maior que a média do grupo gr2

    #      t1 t2 t3 t4 t5 t6
    # gr1  16 12 14 15 19 20
    # gr2  12 11 13 18 17 21
    # gr3  16 19 18 19 17 19
    # gr4  20 21 18 20 21 23
    
    dados = c(16, 12, 14, 15, 19, 20,
              12, 11, 13, 18, 17, 21,
              16, 19, 18, 19, 17, 19,
              20, 21, 18, 20, 21, 23)
    
    g1 = as.factor(rep(1:4, each = 6))
    g2 = as.factor(rep(1:6, times = 4))
    a = aov(dados~g1+g2)
    summary(a)
    ##             Df Sum Sq Mean Sq F value  Pr(>F)   
    ## g1           3  97.13   32.38   7.573 0.00259 **
    ## g2           5  80.71   16.14   3.776 0.02057 * 
    ## Residuals   15  64.13    4.28                   
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

    Análise estatística utilizando o ANOVA com a fórmula \(aov(dados~g1+g2)\)

  • Quanto menor o valor “Pr(>F)” mais confiança se pode ter que a \(H_0\) não é verdadeira, ou seja, pode-se descartar \(H_0\).
  • Quanto mais "*" se tem, pode-se afirmar que a amostra é improcedente.
  • É o valor “F value” que vai dizer se haverá pelo menos uma diferença entre os grupos de média.
  • Se dentro da coluna “Mean Sq” a variação entre grupos (32.38 e 16.14), estatisticamente o “F value” vai ser um número muito grande a ponto de cair na rejeição da \(H_0\) - de tal modo que g1 e g2 sejam muito maior que “Residuals” (na referida coluna).
  • Portanto, quando a variação entre grupos não é muito superior do que a variação dentro do grupo, o resultado do teste “F” vai ser um número muito próximo de 1.
  • Vejamos os resultados agora. O p-value do teste ANOVA é o valor na última coluna \(Pr(>F)\). O valor de g1 esta acima de 0.05, entretanto g2 tem um valor menor do que 0.05 - ou seja, há uma suspeita considerável de que pelo menos um tratamento esteja desconforme.

    Comparações múltiplas com o Teste de Tukey

    TukeyHSD(aov(dados~g1+g2))
    ##   Tukey multiple comparisons of means
    ##     95% family-wise confidence level
    ## 
    ## Fit: aov(formula = dados ~ g1 + g2)
    ## 
    ## $g1
    ##           diff        lwr      upr     p adj
    ## 2-1 -0.6666667 -4.1071845 2.773851 0.9427715
    ## 3-1  2.0000000 -1.4405178 5.440518 0.3696429
    ## 4-1  4.5000000  1.0594822 7.940518 0.0089545
    ## 3-2  2.6666667 -0.7738511 6.107184 0.1589008
    ## 4-2  5.1666667  1.7261489 8.607184 0.0029866
    ## 4-3  2.5000000 -0.9405178 5.940518 0.1995226
    ## 
    ## $g2
    ##              diff           lwr      upr     p adj
    ## 2-1 -2.500000e-01 -5.000054e+00 4.500054 0.9999748
    ## 3-1 -2.500000e-01 -5.000054e+00 4.500054 0.9999748
    ## 4-1  2.000000e+00 -2.750054e+00 6.750054 0.7443654
    ## 5-1  2.500000e+00 -2.250054e+00 7.250054 0.5459628
    ## 6-1  4.750000e+00 -5.366828e-05 9.500054 0.0500034
    ## 3-2  1.776357e-15 -4.750054e+00 4.750054 1.0000000
    ## 4-2  2.250000e+00 -2.500054e+00 7.000054 0.6466577
    ## 5-2  2.750000e+00 -2.000054e+00 7.500054 0.4489559
    ## 6-2  5.000000e+00  2.499463e-01 9.750054 0.0363675
    ## 4-3  2.250000e+00 -2.500054e+00 7.000054 0.6466577
    ## 5-3  2.750000e+00 -2.000054e+00 7.500054 0.4489559
    ## 6-3  5.000000e+00  2.499463e-01 9.750054 0.0363675
    ## 5-4  5.000000e-01 -4.250054e+00 5.250054 0.9992431
    ## 6-4  2.750000e+00 -2.000054e+00 7.500054 0.4489559
    ## 6-5  2.250000e+00 -2.500054e+00 7.000054 0.6466577

    Comentário da aplicação do Teste de Tukey:

    Em estudos que buscam comparar a distribuição de três ou mais grupos de amostras independentes, frequentemente se utiliza a Análise de Variância ou ANOVA. Nesse caso, o resultado evidencia que a distribuição de pelo menos um dos grupos se difere das demais, mas não indica entre quais grupos a diferença é significativa. Assim, se faz necessário utilizar testes de comparações múltiplas

    O Tukey HSD (honest significant diffence) é o teste mais usado para identificar os grupos responsáveis pela rejeição da \(H_0\) na ANOVA.

    A função \(aov\) é necessária porque o comando TukeyHSD atua sobre objetos dessa classe. O R devolve-nos uma série de comparações entre os grupos.

    plot(TukeyHSD(a))

    A visualização gráfica ao objeto que armazenou o resultado do teste de Tukey apresenta as diferenças observadas no teste.

    A conclusão deste estudo não é completamente perentória. No entanto, uma coisa parece clara: se houver um tratamento diferente dos outros, será o tratamento 4-2, 6-2 e 6-3 - pois o que ocorre é que o \(padj\) destes componentes são menores de 0.05 - isso pode ser observado também nas duas figuras. Neste caso o que há a fazer é recolher mais dados e repetir a análise.

    boxplot(TukeyHSD(a))

    Resposta do Exercício

    t5=c(19,17,17,21)
    t1=c(16,12,16,20)
    mean(t5)
    ## [1] 18.5
    mean(t1)
    ## [1] 16

    Análise de Regressão

    Análise de regressão é uma técnica estatística utilizada para investigar a relação existente entre variáveis através da construção de uma equação (um modelo). De maneira geral, essa técnica pode ser utilizada com vários objetivos, dentre os quais se pode destacar: descrever a relação entre variáveis para entender um processo ou fenômeno; prever o valor de uma variável a partir do conhecimento dos valores das outras variáveis; substituir a medição de uma variável pela observação dos valores de outras variáveis; controlar os valores de uma variável em uma faixa de interesse.

    Segue um roadmap para realização da regressão linear no R

    1. Primeiramente, cria-se dois conjuntos de dados
    2. A função para regressão é: m = lm(y~x)
    3. Sumário dos resultados do modelo: summary(m)
    4. Teste para Normalidade do modelo (valores de p>0.05 indicam dados normais) através do teste de Shapiro com a fórmula: shapiro.test(m$res)
    5. Análise visual para homogeneidade dos resíduos (visualmente eles devem se distribuir igualmente abaixo e acima da linha)
    6. Visualização gráfica lty é o tipo da linha 1: linha contínua; 2: linha descontínua

     

    Exemplo utilizando a Análise de Regressão

    Uma regressão da forma y = a + bx foi conduzida com base nos dados a seguir. Assinale a alternativa Falsa.

    a.( ) A hipótese de que os resíduos sao normais é aceita

    b.( ) A hipótese de que o modelo é homoscedástico é aceita

    c.( ) A hipótese de que o modelo \(y = a + bx\) é correto é aceita

    d.( ) A hipótese de que existe regressão é aceita

    e.(x) A hipótese \(H_0: a = 0\) é aceita

    #     x    y
    # 1  6.1  23.7
    # 2  3.7  17.8
    # 3  6.5  22.4
    # 4  5.8  18.9
    # 5  5.1  17.4
    # 6  4.6  19.2
    # 7  9.1  29.2
    # 8  6.5  18.2
    # 9  7.5  24.7
    # 10 5.5  21.3
    
    x = c(6.1, 3.7, 6.5, 5.8, 5.1, 4.6, 9.1, 6.5, 7.5, 5.5)
    y = c(23.7, 17.8, 22.4, 18.9, 17.4, 19.2, 29.2, 18.2, 24.7, 21.3)
    cbind(x,y)      
    ##         x    y
    ##  [1,] 6.1 23.7
    ##  [2,] 3.7 17.8
    ##  [3,] 6.5 22.4
    ##  [4,] 5.8 18.9
    ##  [5,] 5.1 17.4
    ##  [6,] 4.6 19.2
    ##  [7,] 9.1 29.2
    ##  [8,] 6.5 18.2
    ##  [9,] 7.5 24.7
    ## [10,] 5.5 21.3

    Comentário 01

    Sejam X e Y, respectivamente, as variáveis x e y. Propõe-se um modelo de regressão linear de primeira ordem, dado pela equação: \(Y = β_0 + β_1X + ꞓ\), onde \(β_0\) e \(β_1\) são parâmetros desconhecidos e ꞓ é o erro aleatório. Para ajustar um modelo de regressão linear no R utiliza-se a função ajuste=lm(x~y).

    O R retorna o valor dos coeficientes de \(β_0\) e \(β_1\) estimados via Método de Mínimos Quadrados. Logo, a equação da reta ajustada é dada por \(Y = -1,23 + 0,034X_i\).

    ajuste=lm(x~y)
    ajuste
    ## 
    ## Call:
    ## lm(formula = x ~ y)
    ## 
    ## Coefficients:
    ## (Intercept)            y  
    ##     -1.2347       0.3419
    m = lm(y~x)
    s = summary(lm(y~x))
    s
    ## 
    ## Call:
    ## lm(formula = y ~ x)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -4.0535 -1.3674  0.6488  1.3736  2.2930 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)   
    ## (Intercept)   8.4969     2.8721   2.958  0.01819 * 
    ## x             2.1164     0.4626   4.575  0.00181 **
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 2.105 on 8 degrees of freedom
    ## Multiple R-squared:  0.7235, Adjusted R-squared:  0.6889 
    ## F-statistic: 20.93 on 1 and 8 DF,  p-value: 0.001813

    Comentário 02

    O relatório gerado pela fórmula lm(x~y) é composto por: