
Olá Nicolay, Como seus dados apresentam 0's e 1's acredito que modelos de regressão beta inflacionados possam lhe ajudar, porém não sei se existe algo implementado no R. Pesquise sobre isso. Att, Eliardo. Em 18 de outubro de 2012 11:45, Nicolay Cunha <nicolaycunha@gmail.com>escreveu:
Olá a todos,
Tenho uma variável dependente (Y) que varia de 0 a 1 e quero testar em relação a duas variáveis categóricas (X1 com três níveis e X2 com 7 níveis). A categórica X2 transformo em números para ganhar graus de liberdade.
Os dados não atendem nenhum tipo de premissa de linearidade, portanto tive que buscar outras alternativas para analisa-los. Ao estudar sobre a melhor forma de ajustar esses dados, encontrei o artigo (http://cran.r-project.org/web/packages/betareg/vignettes/betareg.pdf) sobre o tema, e os exemplos dados aparentam encaixar com o meu caso.
No entanto meu Y tem valores inteiros (0 e 1) e a distribuiçãoa aparenta não aceitar isso, para tal transformei todos os 0s em 0.0001 e 1s em 0.9999. Ainda tenho dúvidas sobre a interpretação dos dados (inclusive o papel do phi), utilização e escolha da melhor forma de gerar o modelo da forma que estou propondo, logo gostaria de sugestões e orientações sobre como proceder com essas análises.
Abaixo um CMR com um exemplo do que estou fazendo onde aparece uma mensagem de aviso perdida ao estimar o modelo.
*"In betareg.fit(X, Y, Z, weights, offset, link, link.phi, type, control) : no valid starting value for precision parameter found, using 1 instead"*
#############################################################################
X1<-factor(rep(c("A", "B", "C"),50)) ## categoria 1 X2<- rep(sample(1:7), len=150 ) ## categoria 2 Y<-rep(sample(0:100)/100, len=150) ## minha variável dependente em proporção Y[Y=='1']<-0.99999 # transformo 1 em 0.99999 pois a distribuição beta não aceita 0 e 1, somente o intervalo entre eles Y[Y=='0']<-0.00001 # transformo 0 em 0.00001
library(betareg) beta1<-betareg(Y~X1+X2, link="loglog") coef(beta1) summary(beta1)
beta2<-betareg(Y~X1+X2|X2, link="loglog") ## adicionando X2 como um regressor adicional coef(beta2) summary(beta2)
AIC(beta1, beta2, k = log(nrow(data.frame(X1,X2,Y))))
##############################################################################
Agradeço a ajuda! Nicolay
-- Nicolay Leme da Cunha
Biólogo, Mestre, Doutorando em Ecologia e Conservação Universidade Federal de Mato Grosso do Sul, 79070-900 Campo Grande, MS, Brasil E-mail: nicolaycunha@gmail.com lattes.cnpq.br/5916316648872099
-- Nicolay Leme da Cunha
Biólogo, Mestre, Doutorando em Ecologia e Conservação Universidade Federal de Mato Grosso do Sul, 79070-900 Campo Grande, MS, Brasil E-mail: nicolaycunha@gmail.com lattes.cnpq.br/5916316648872099
_______________________________________________ R-br mailing list R-br@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.