Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior | Próxima revisão Ambos lados da revisão seguinte | ||
pessoais:eder [2011/06/01 22:31] eder [Codigos] |
pessoais:eder [2011/06/02 14:13] eder [section 4] |
||
---|---|---|---|
Linha 44: | Linha 44: | ||
### inversão de p | ### inversão de p | ||
################################################################################ | ################################################################################ | ||
- | ### Regressão beta | ||
- | rm(list=ls()) | ||
- | require(betareg) | ||
###----------------------------------------------------------### | ###----------------------------------------------------------### | ||
+ | ### Regressão Beta | ||
### pacote oficial | ### pacote oficial | ||
+ | require(betareg) | ||
data("FoodExpenditure", package = "betareg") | data("FoodExpenditure", package = "betareg") | ||
fe_beta <- betareg(I(food/income) ~ income + persons , data = FoodExpenditure) | fe_beta <- betareg(I(food/income) ~ income + persons , data = FoodExpenditure) | ||
summary(fe_beta) | summary(fe_beta) | ||
###----------------------------------------------------------### | ###----------------------------------------------------------### | ||
- | ### log vero | + | ### log vero da regressão beta com duas covariaveis, |
- | log.vero <- function(B0,B1,B2,phi,y,x1,x2){ | + | log.vero <- function(par,y,x1,x2){ |
- | mu <- exp((B0 + B1 * x1 + B2 * x2))/(1+exp((B0 + B1 * x1 + B2 * x2)))##logit^-1 | + | mu <- exp((par[1] + par[2] * x1 + par[3] * x2))/(1+exp((par[1] + par[2] * x1 + par[3] * x2)))##logit^-1 |
- | ll <- sum(dbeta(y, mu* phi, (1-mu)*phi,log = TRUE)) | + | ll <- sum(dbeta(y, mu* par[4], (1-mu)*par[4],log = TRUE)) |
return(ll) | return(ll) | ||
} | } | ||
- | ###----------------------------------------------------------### | + | |
- | log.vero(-0.62,-0.12,0.11,35,y=FoodExpenditure$food/FoodExpenditure$income, | + | |
- | x1=FoodExpenditure$income, | + | |
- | x2=FoodExpenditure$persons) | + | |
- | ###----------------------------------------------------------### | + | |
- | ### B0 B1 | + | |
- | par.vals <- expand.grid(B0=seq(0,2,l=100),B1=seq(-1,1,l=100)) | + | |
- | logL <- apply(as.matrix(par.vals),1,log.vero,B2=0.11,phi=35,y=FoodExpenditure$food/FoodExpenditure$income, | + | |
- | x1=FoodExpenditure$income, | + | |
- | x2=FoodExpenditure$persons) | + | |
- | contour(unique(par.vals$B0),unique(par.vals$B1),matrix(logL,ncol=100)) | + | |
###----------------------------------------------------------### | ###----------------------------------------------------------### | ||
- | opt <- optim(c(-0.5,-0.12,0.11,35),logvero,y=FoodExpenditure$food/FoodExpenditure$income, | + | opt <- optim(c(B0=-0.5,B1=-0.51,B2=0.11,phi=35),log.vero,y=FoodExpenditure$food/FoodExpenditure$income, |
x1=FoodExpenditure$income, | x1=FoodExpenditure$income, | ||
x2=FoodExpenditure$persons, | x2=FoodExpenditure$persons, | ||
hessian = TRUE, control=(list(fnscale=-1))) | hessian = TRUE, control=(list(fnscale=-1))) | ||
+ | opt | ||
+ | opt$par | ||
+ | sqrt(-diag(solve(opt$hessian))) | ||
+ | summary(fe_beta) | ||
</code> | </code> | ||
[[http://www.ime.usp.br/~sferrari/beta.pdf|Regressão beta]] | [[http://www.ime.usp.br/~sferrari/beta.pdf|Regressão beta]] |