[R-br] Somas de Quadrados Tipo III

Cesar Rabak cesar.rabak em gmail.com
Quarta Junho 21 16:19:11 -03 2017


Eduardo,

Além das excelentes respostas que vc já recebeu, note que até a
*terminologia* sobre "Somas de Quadrados Tipos II e III" é na verdade
estranha à Estatística e sim um artifício inventado por um dos
'fabricantes' de pacote de SW estatístico cuja terminologia "pegou".

Comecei o post com essa observação para poder comentar que sua afirmação «
. . . nem sempre o R as calcula corretamente. » não está certa, na verdade
nem errada está (W. Pauli)¹!

Como seu exemplo é "sintético" e visando apenas à mecânica/matemática do
cálculo, não há mais que se possa dizer.

Com relação a uma análise mais concreta com objetivos no domínio do
problema você deve estudar o quê está em jogo na análise e se os resultados
de dados tão desbalanceados fariam sentido 'prático' para o problema físico.

HTH
--
Cesar Rabak


[1] « Das ist nicht nur nicht richtig, es ist nicht einmal falsch! »
     -- Wolfgang Pauli

2017-06-21 12:52 GMT-03:00 Fernando Souza via R-br <r-br em listas.c3sl.ufpr.br
>:

> Se você possui 4 GL para o fator A e  4 GL para o fator B, como podem
> haver somente 1 GL para a interação? Acredito que por isso o R retorna "there
> are aliased coefficients in the model". Uma vez que você não possui
> informações em todas as combinações dos fatores A e B.
>
> with(dados,table(factorA,factorB))
>
> Veja com um banco de dados completo e nos retorne
>
>
> Att
>
> Em 21 de junho de 2017 11:23, Eduardo Bearzoti via R-br <
> r-br em listas.c3sl.ufpr.br> escreveu:
>
>> Bom dia, pessoal.
>>
>> Minha dúvida é particularmente sobre o cálculo de somas de quadrados tipo
>> III (mas também do tipo II) no R com conjuntos de dados desbalanceados.
>>
>> Estou ciente da polêmica em torno do uso destas somas de quadrados na
>> comunidade estatística, mas gostaria muito de poder calculá-las no R, e, a
>> não ser que eu esteja enganado, nem sempre o R as calcula corretamente.
>>
>> Pesquisando na rede, descobri que em geral são apontadas duas maneiras de
>> se calcular somas de quadrados tipo III no R: a) Utilizando a função
>> drop1() em modelos ajustados com a especificação de contrastes contr.sum
>> (ou contr.helmert), e b) utilizando a função Anova() (com "A" maiúsculo),
>> do pacote car.
>>
>> Abaixo, eu apresento um exemplo simulado de um ensaio fatorial altamente
>> desbalanceado, faltando várias combinações entre os níveis dos dois
>> fatores. A interação entre eles, por exemplo, apresenta um único grau de
>> liberdade, tamanho o desbalanceamento.
>>
>> dados <- data.frame(y=c(35.44627,43.43353,40.20125,38.1061,39.96211,
>> 44.21636,19.78237,23.58636,31.73537,
>>          36.49977,38.71573,41.00456,19.6787,16.43436,32.05407,33.3784
>> ,18.58266,17.74051),
>>          factorA=as.factor(c(2,2,4,4,4,4,6,6,6,6,6,6,8,8,8,8,10,10)),
>>          factorB=as.factor(c(2,2,1.5,1.5,2.5,2.5,1,1,2,2,3,3,1.5,1.5,
>> 2.5,2.5,2,2)))
>>
>> Tenho em mente o modelo contendo os fatores A e B, bem como sua
>> interação.
>>
>> No SAS, utilizando o proc glm, obtenho as seguintes somas de quadrados
>> tipo I, tipo II e tipo III:
>>
>> Source                      DF       Type I SS
>>
>> factorA                       4     964.4164933
>> factorB                       3     500.0771638
>> factorA*factorB               1      68.7277880
>>
>> Source                      DF      Type II SS
>>
>> factorA                       3     954.6730970 <(954)%20673-0970>
>> factorB                       3     500.0771638
>> factorA*factorB               1      68.7277880
>>
>> Source                      DF     Type III SS
>>
>> factorA                       3     954.6730970 <(954)%20673-0970>
>> factorB                       3     500.0771638
>> factorA*factorB               1      68.7277880
>>
>> Percebam que neste exemplo as somas de quadrados tipo II e III são
>> iguais, pois as "caselas" apresentam o mesmo número de repetições (duas).
>>
>> No R, tentei reproduzir este resultado seguindo os dois procedimentos
>> citados acima:
>>
>> 1) Utilizando a função drop1()
>>
>> > mod <- lm(y ~ factorA*factorB,
>>           contrasts=list(factorA=contr.sum, factorB=contr.sum),
>>           data=dados)
>>
>> > drop1(mod, ~.,test = "F")
>> Single term deletions
>>
>> Model:
>> y ~ factorA * factorB
>>                 Df Sum of Sq     RSS    AIC F value  Pr(>F)
>> <none>                        70.841 42.661
>> factorA          0     0.000  70.841 42.661
>> factorB          0     0.000  70.841 42.661
>> factorA:factorB  1    68.728 139.569 52.867  8.7315 0.01609 *
>> ---
>> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>>
>> (apenas a soma de quadrados da interação foi calculada)
>>
>>
>> 2) Utilizando car::Anova()
>>
>> > mod <- lm(y ~ factorA*factorB, data=dados)
>> > library(car)
>> > Anova(mod,type = "II")
>> Anova Table (Type II tests)
>>
>> Response: y
>>                  Sum Sq Df F value    Pr(>F)
>> factorA         1284.10  4 40.7845 8.995e-06 ***
>> factorB          500.08  3 21.1774 0.0002047 ***
>> factorA:factorB   68.73  1  8.7315 0.0160919 *
>> Residuals         70.84  9
>> ---
>> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>> > Anova(mod,type = "III")
>> Error in Anova.III.lm(mod, error, singular.ok = singular.ok, ...) :
>>   there are aliased coefficients in the model
>>
>> (soma de quadrados tipo II calculada errada para o fator A, e tipo III
>> não calculadas)
>>
>> Ou seja, não consegui reproduzir nem as somas de quadrados tipo III nem
>> as do tipo II, por nenhum dos dois procedimentos sugeridos na rede.
>>
>> Estou utilizando:
>> > sessionInfo()
>> R version 3.4.0 (2017-04-21)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>> Running under: Ubuntu 14.04.5 LTS
>> (...)
>> other attached packages:
>> [1] car_2.1-4
>>
>>
>>
>> Eu estaria fazendo alguma coisa equivocada? Qualquer observação,
>> sugestão, ou indicação de alguma maneira alternativa para cálculo das somas
>> de quadrados tipo III no R será muito bem vinda.
>>
>> Abs,
>>
>> Eduardo Bearzoti
>> (UFOP)
>>
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> --
> =========================================
> Fernando Souza
> Zootecnista, DSc. Produção e Alimentação Animal
> Celular: (31)99796-8781 (Vivo)
> E-mail:nandodesouza em gmail.com <e-mail%3Anandodesouza em gmail.com>
> Lattes: http://lattes.cnpq.br/6519538815038307
> Blog: https://producaoanimalcomr.wordpress.com/
> ==========================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170621/3ef56ff2/attachment.html>


Mais detalhes sobre a lista de discussão R-br