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 | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
pessoais:eder [2011/06/01 22:30] eder [section 4] |
pessoais:eder [2011/06/05 19:33] eder [Codigos] |
||
---|---|---|---|
Linha 16: | Linha 16: | ||
* [[http://www.leg.ufpr.br/ragronomia|Estatística Experimental com Software R]] | * [[http://www.leg.ufpr.br/ragronomia|Estatística Experimental com Software R]] | ||
* [[http://www.leg.ufpr.br/doku.php/pessoais:eder:exptempo| Análise de Experimentos de longa duração]] | * [[http://www.leg.ufpr.br/doku.php/pessoais:eder:exptempo| Análise de Experimentos de longa duração]] | ||
- | ===== Codigos ===== | + | ===== Códigos ===== |
<code R> | <code R> | ||
###buf | ###buf | ||
Linha 42: | Linha 42: | ||
### MOnte carlo | ### MOnte carlo | ||
+ | ## Calcula a área via simulação de monte carlo | ||
+ | ## args: r= raio, s vetor com numero de simulação, plotS plotar a simulação | ||
+ | MCcirculo<-function(r,s,plotS=TRUE){ | ||
+ | ns<-area<-s | ||
+ | r<-r | ||
+ | con <- 1 | ||
+ | for (j in ns) { | ||
+ | #pontos aleatorios | ||
+ | x<-runif(j, min=-r, max=r) | ||
+ | y<-runif(j, min=-r, max=r) | ||
+ | ponto<-cbind(x,y) | ||
+ | cont <- sum(apply(ponto,1,function(x){sqrt(sum(x^2))})<r) | ||
+ | #plotando Simulação | ||
+ | if(plotS==TRUE){ | ||
+ | plot(x,y,col="red",type="p",asp=1,lwd=1,xlim=c(-r,r),ylim=c(-r,r), main="Simulação Monte Carlo",sub=j) | ||
+ | ang <- seq(0, 2*pi, length = 100) | ||
+ | xx <- r * cos(ang);yy <- r * sin(ang) | ||
+ | polygon(xx, yy,border = "dark blue",lwd=2) | ||
+ | } | ||
+ | #Calculo de Area | ||
+ | area[con]<-(cont/j)*(r^2)*4 | ||
+ | cat(paste(round(area[con],6),j,'\n')) | ||
+ | con <- con+1 | ||
+ | } | ||
+ | plot(ns,area,main="Simulação Monte Carlo",xlab='Número da amostra',ylab='Area') | ||
+ | abline(h=pi*r^2,col='red',lwd=2) | ||
+ | | ||
+ | } | ||
+ | MCcirculo(1,seq(5,5000,by=1000),plotS=FALSE) | ||
### inversão de p | ### inversão de p | ||
- | 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]] |