Verossimilhança no R

Aqui apresentamos o exercício de verossimilhança como script do R. O objetivo é estimar a ocorrência e probabilidade de detectar um organismo hipotético através do método de verossimilhança. Primeior vamos simular dados de ocorrência em diferentes sítios de amostragem, em seguida encontrar a estimatíva de cada parâmetro de interesse calculando a log-verossimilhança associada aos dados.

# Construir base de dados fictícia
DADOS <- rbind(c(0,0,0,0,0),
c(0,0,0,0,0),
c(1,1,1,1,0),
c(0,1,1,1,1),
c(1,0,1,1,1),
c(0,1,1,1,1),
c(0,0,0,0,0),
c(1,1,1,1,0),
c(0,0,0,0,0),
c(0,0,0,0,0))
r <- dim(DADOS)[1]
c <- dim(DADOS)[2]
# declarar vetor com possíveis valores de psi
psis <- seq(0.01,0.99,0.01)
# declarar vetor com possíveis valores de p
ps <- seq(0.01,0.99,0.01)
# Declarar matriz para guardar valores de verosimilhança
LIKE <-
matrix(rep(0,length(psis)*length(ps)),nrow=length(psis))
# Calcular valores de verosimilhança para cada par de
valores de psi e p
# o modelo assume p constante no tempo (colunas) e psi
igual para todos os
# lugares (linhas)
for (i in 1:length(psis)) {
for (j in 1:length(ps)) {
# obter valores de psi e p para esta iteração
psi <- psis[i]
p <- ps[j]
# declarar vetor para guardar verosimilhança das linhas
de dados
llikerow <- rep(0,r)
# calcular verosimilhança das linhas de dados
(loglikelihood)
for (k in 1:r) {
viu <- sum(DADOS[k,])
if(viu==0) {
llikerow[k] <- -log((1-psi)+psi*(1-p)^5)
} else {
llikerow[k] <- -log(psi*(p^viu)*((1-p)^(c-viu)))
}
}
LIKE[i,j] <- sum(llikerow)
}
}
# Obter estimativa de psi e p de máxima verosimilhança
estpsi <- psis[which(LIKE==min(LIKE),arr.ind=TRUE)[1]]
estp <- ps[which(LIKE==min(LIKE),arr.ind=TRUE)[2]]
# Representação gráfica
contour(LIKE,xlab="psi",ylab="p")
abline(v=estpsi,lty=2, col="red")
abline(h=estp,lty=2, col="red")
 
exercicios/exe_verr.txt · Última modificação: 2024/01/09 18:18 por 127.0.0.1
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0