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



--
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.