[R-br] Somas de Quadrados Tipo III
Fernando Souza
nandodesouza em gmail.com
Quarta Junho 21 12:52:18 -03 2017
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/
==========================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170621/114505de/attachment.html>
Mais detalhes sobre a lista de discussão R-br