Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

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:46]
eder [Códigos]
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()) +### Inversão de Probabilidade 
-require(betareg)+NS <- 10000 
 +U <- runif(NS) 
 +X <- - log(U) 
 +Y <- rexp(NS) 
 +par(mfrow=c(1,3)) 
 +hist(U,​freq=FALSE,​main='​Uniforme',​col='​lightblue'​) 
 +lines(density(U),​col='​red',​lwd=2) 
 +hist(X,​freq=FALSE,​main='​Expoencial via uniforme',​col='​lightblue'​) 
 +lines(density(X),​col='​red',​lwd=2) 
 +lines(curve(dexp(x,​1),​min(X),​max(X),​add=TRUE),​col='​blue',​lwd=2) 
 +hist(Y,​freq=FALSE,​main='​Expoencial do R',​col='​lightblue'​) 
 +lines(density(Y),​col='​red',​lwd=2) 
 +lines(curve(dexp(x,​1),​min(Y),​max(Y),​add=TRUE),​col='​blue',​lwd=2) 
 +################################################################################​
 ###​----------------------------------------------------------###​ ###​----------------------------------------------------------###​
 +### 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]]

QR Code
QR Code pessoais:eder (generated for current page)