[R-br] Heterocedasticidade e teste de média

Luiz Leal richfield1974 em yahoo.com
Segunda Novembro 14 10:06:20 BRST 2016


Muito obrigado 

    On Sunday, November 13, 2016 3:40 PM, Wagner Bonat <wbonat em gmail.com> wrote:
 

 Prezados membros da lista,

Alguns dias postei um código não reproduzível sobre modelos para heterocedásticidade.
Peço desculpas e abaixo vai o código que imagino ser possível reproduzir.
Os dois principais problemas eram a instalação do pacote mcglm e o conjunto de dados.
O pacote pode ser instalado facilmente pelo github repository neste endereço

https://github.com/wbonat/mcglm
install_github("wbonat/mcglm", ref = "devel") # Saliento para instalar a versão devel !!

O conjunto de dados está anexado neste e-mail.
Além disso, o Luiz Leal estava com problemas pra ter acesso e pediu o .tar.gz que também vai em anexo.
Aproveito para salientar que o mcglm está em desenvolvimento, assim quaisquer dúvidas, criticas e/ou 
sugestões serão muito bem vindas.

All the best!

# Heteroscedastic regression model -------------------------------------
# Author: Wagner Hugo Bonat LEG/UFPR -----------------------------------
# Date: 13/11/2016 -----------------------------------------------------

# Loading extra packages
install.packages("devtools")
require(devtools)

# Install mcglm package from github repository -------------------------
install_github("wbonat/mcglm", ref = "devel")
require(mcglm)


# Loading data set
Fenois <- c(337.311, 344.874, 342.353, 325.546, 333.950, 330.588, 328.067,
            328.067, 318.824, 331.429, 333.950, 334.790, 336.471, 338.151,
            342.353, 259.160, 252.437, 268.403, 265.882, 266.723, 287.731,
            88.571, 88.571,  90.252,  41.513,  52.437,  49.076,  88.571,
            88.571,  90.252,  64.202,  60.000,  61.681)
Cor <- factor(c(rep("ambar",6), rep("ambar_claro",3), rep("ambar",6),
                rep("ambar_claro",6),rep("branco",6),
                rep("extra_ambar_claro",3),rep("branco",3)))
dados <- data.frame("Fenois" = Fenois, "Cor" = Cor)
boxplot(dados$Fenois ~ dados$Cor)
tapply(dados$Fenois, dados$Cor, sd)

# Linear regression model- ---------------------------------------------
fit1 <- lm(Fenois ~ Cor, data = dados)
anova(fit1)
plot(residuals(fit1) ~ fitted(fit1))
plot(residuals(fit1) ~ Cor)

# Double Linear regression model ---------------------------------------
dados$id <- 1
fit2 <- mcglm(c(Fenois ~ Cor), list(mc_dglm(~ Cor, id = "id", data = dados)), 
              covariance = "expm", data = dados)
summary(fit2)

summary(fit1)
summary(fit2)

cbind(coef(fit1), coef(fit2, type = "beta")$Estimates)
cbind(sqrt(diag(vcov(fit1))), coef(fit2, type = "beta", std.error = TRUE)$Std.error)

# Example 2 ------------------------------------------------------------
dados2 <- read.table("HETE.csv", header = TRUE, sep = ";", dec = ",")
with(dados2, boxplot(y ~ x))

# Note that, the A33 has no variance, so we need to remove this level.
dados2 <- dados2[which(dados2$x != "A33"),]
dados2$x <- droplevels(dados2$x)
tapply(dados2$y, dados2$x, sd)

# Linear regression model ----------------------------------------------
fit_lm <- lm(y ~ x, data = dados2)
summary(fit_lm)
plot(residuals(fit_lm) ~ fitted(fit_lm))
plot(residuals(fit_lm) ~ dados2$x)

# Double linear regression model ---------------------------------------
dados2$id <- 1
fit_dlm <- mcglm(c(y ~ x), list(mc_dglm(~ x, id = "id", data = dados2)), 
              covariance = "expm", data = dados2)
summary(fit_dlm)

# Comparing estimates and standard errors ------------------------------
cbind(coef(fit_lm), coef(fit_dlm, type = "beta")$Estimates)
cbind(sqrt(diag(vcov(fit_lm))), coef(fit_dlm, type = "beta", std.error = TRUE)$Std.error)



Em 11 de novembro de 2016 17:01, Luiz Leal <richfield1974 em yahoo.com> escreveu:

Prezado Wagner, uso o R no trabalho e devido a restrições técnicas só consigo instalar pacotes a partir do zip. Poderia me mandar o zip deste pacote?AttLuiz 

    On Friday, November 4, 2016 5:05 PM, Wagner Bonat <wbonat em gmail.com> wrote:
 

 Sim, vc pode usar qualquer dos testes padrões. 
A única diferença é que vc deve usar os beta e erros padrões que vem deste modelo.
Não sei se vc pode incluir sua própria matriz de covariancia nas funções do R.
Talvez, sim. Se não tem que implementar.
O Walmes é muito bom nestes testes de comparações múltiplas talvez ele possa ajudar.

O que houve q não conseguiu instalar o pacote?
Tentou pelo github ou do CRAN?

https://cran.r-project.org/ web/packages/mcglm/index.html
https://github.com/wbonat/ mcglm




Em 4 de novembro de 2016 19:46, Luiz Leal <richfield1974 em yahoo.com> escreveu:

Wagner, meu interesse é, uma vez identificado que existe diferença entre os tratamentos (considerando que um deles é o controle) utilizar o teste de Dunnett para verificar quais tratamentos diferem do tratamento controle. Como o pressuposto de homogeneidade das variâncias é violado busquei alternativas para "homogeneizar" as variâncias. Posso aplicar esse teste a partir do modelo acima descrito?Desde já agradeçoLuizPS. Não consegui instalar o pacote 

    On Friday, November 4, 2016 4:13 PM, Wagner Bonat via R-br <r-br em listas.c3sl.ufpr.br> wrote:
 

 Caros, 

Alguém postou esse conjunto de dados com problema de pressupostos, principalmente heterocedasticidade. Agora a pouco veio outro e-mail com um problema similar. Fiz um exemplo um pouco mais detalhado de como isso pode
ser facilmente resolvido e mostrando o efeito disso no modelo.

# Example 2 ------------------------------ ------------------------------
Fenois = c(337.311, 344.874, 342.353, 325.546, 333.950, 330.588, 328.067, 
           328.067, 318.824, 331.429, 333.950, 334.790, 336.471, 338.151, 
           342.353, 259.160, 252.437, 268.403, 265.882, 266.723, 287.731, 
           88.571, 88.571,  90.252,  41.513,  52.437,  49.076,  88.571,  
           88.571,  90.252,  64.202,  60.000,  61.681)
Cor = factor(c(rep("ambar",6), rep("ambar_claro",3), rep("ambar",6), 
               rep("ambar_claro",6),rep(" branco",6), 
               rep("extra_ambar_claro",3), rep("branco",3)))

# Exploratory analysis
boxplot(Fenois ~ Cor)
tapply(Fenois, Cor, sd)
dados <- data.frame(Fenois, Cor)
dados$id <- 1

# Fitting 
fit1 <- mcglm(c(Fenois ~ Cor), list(mc_id(dados)), data = dados)
fit2 <- mcglm(c(Fenois ~ Cor), list(mc_dglm(~ Cor, id = "id", data = dados)),
              covariance = "expm", data = dados)
# Goodness-of-fit 
gof(fit1)
gof(fit2)

# Comparing estimates and standard errors
coef(fit1, type = "beta", std.error = TRUE)
coef(fit2, type = "beta", std.error = TRUE)

O interessante é que a estimativa pontual é exatamente a mesma, porém
olha a enorme diferença nos erros padrões dos betas.

-- 
Wagner Hugo Bonat
------------------------------ ------------------------------ ------------------------------ ----
Department of Mathematics and Computer Science (IMADA)
University of Southern Denmark (SDU) and
Laboratório de Estatística e Geoinformação (LEG)
Universidade Federal do Paraná (UFPR)


______________________________ _________________
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� c�igo m�imo reproduz�el.

   



-- 
Wagner Hugo Bonat
------------------------------ ------------------------------ ------------------------------ ----
Department of Mathematics and Computer Science (IMADA)
University of Southern Denmark (SDU) and
Laboratório de Estatística e Geoinformação (LEG)
Universidade Federal do Paraná (UFPR)



   



-- 
Wagner Hugo Bonat
----------------------------------------------------------------------------------------------
Department of Mathematics and Computer Science (IMADA)
University of Southern Denmark (SDU) and
Laboratório de Estatística e Geoinformação (LEG)
Universidade Federal do Paraná (UFPR)



   
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20161114/5955c0da/attachment.html>


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