Não foi possível enviar o arquivo. Será algum problema com as permissões?
Essa é uma revisão anterior do documento!
Éder David Borges da Silva
- Graduado em Engenharia Agronômica - Eng Agronômica - UFPR
- e-mail: ederdbs@gmail.com / eder@leg.ufpr.br
Área de Interesse
- Estatística Experimental
- Estatística Espacial
- GEM² Grupo de estudos em modelos mistos
Disciplinas 2011/1
Minicursos
- Análise de Experimentos de longa duração II Reunião Paranaense Ciência do Solo
Códigos
###-----------------------------------------------------------------###
###buf
buf <- function(n){
ttt <- NULL
ttt[1] <- 0
x <- runif(n)
th <- runif(n,0,pi)
st <- sin(th)
for ( i in 1:n){
if(st[i]>x[i]){
ttt[i+1] <- ttt[i]+1
}
else {
ttt[i+1] <- ttt[i]
}}
if (ttt[n+1]>0){
plot((0:n)[ttt>0],2*(0:n)[ttt>0]/ttt[ttt>0],type='l',xlab='numero simulação',ylab='pi')
}
else{print('no sucesso')}
abline(pi,0)
}
buf(100000)
###-----------------------------------------------------------------###
### 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 Probabilidade
### OBJ: gerar x~exp transformando de uma uniforme
NS <- 10000
lam <- 0.5
#f(x)=exp(lam) F(x)=1-exp(-lam*x), logo: F^-1(x)= -lam^-1*log(1-x)
Gexp <- function(x,lam){-(log(1-U))/lam}
U <- runif(NS)
X <- Gexp(U,lam)
Y <- rexp(NS,lam)
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,lam),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,lam),min(Y),max(Y),add=TRUE),col='blue',lwd=2)
###-----------------------------------------------------------------###
### Regressão Beta
### pacote oficial
require(betareg)
data("FoodExpenditure", package = "betareg")
fe_beta <- betareg(I(food/income) ~ income + persons , data = FoodExpenditure)
summary(fe_beta)
###-----------------------------------------------------------------###
### log vero da regressão beta com duas covariaveis,
log.vero <- function(par,y,x1,x2){
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* par[4], (1-mu)*par[4],log = TRUE))
return(ll)
}
###-----------------------------------------------------------------###
opt <- optim(c(B0=-0.5,B1=-0.51,B2=0.11,phi=35),log.vero,y=FoodExpenditure$food/FoodExpenditure$income,
x1=FoodExpenditure$income,
x2=FoodExpenditure$persons,
hessian = TRUE, control=(list(fnscale=-1)))
opt
opt$par
sqrt(-diag(solve(opt$hessian)))
summary(fe_beta)
###-----------------------------------------------------------------###