[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