From 229a5010f0ef493225bc7fb426c2c643e96dfd08 Mon Sep 17 00:00:00 2001 From: Walmes Zeviani <walmes@ufpr.br> Date: Tue, 3 May 2016 20:11:03 -0300 Subject: [PATCH] =?UTF-8?q?Passa=20para=20baixo=20o=20estudo=20do=20espa?= =?UTF-8?q?=C3=A7o=20parametrico.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vignettes/v04_poisson_generelizada.Rmd | 87 ++++++++++++++++---------- 1 file changed, 55 insertions(+), 32 deletions(-) diff --git a/vignettes/v04_poisson_generelizada.Rmd b/vignettes/v04_poisson_generelizada.Rmd index fdada46..57c8125 100644 --- a/vignettes/v04_poisson_generelizada.Rmd +++ b/vignettes/v04_poisson_generelizada.Rmd @@ -134,37 +134,6 @@ rp.checkbox(panel = panel, rp.do(panel = panel, action = react) ``` -## O espaço paramétrico de $\theta$ e $\gamma$ ## - -```{r} -#----------------------------------------------------------------------- -# Gráfico do espaço paramétrico de theta x gamma. - -library(latticeExtra) - -y <- 0:200 -fun <- Vectorize(vectorize.args = c("theta", "gamma"), - FUN = function(theta, gamma) { - sum(dpg0(y = y, theta = theta, gamma = gamma)) - }) - -grid <- list(theta = seq(0.5, 50, by = 0.5), - gamma = seq(-0.98, 0.98, by = 0.02)) -grid$sum <- with(grid, outer(theta, gamma, fun)) -grid <- with(grid, - cbind(expand.grid(theta = theta, gamma = gamma), - data.frame(sum = c(sum)))) - -# levelplot(sum ~ theta + gamma, data = grid, -# col.regions = gray.colors) + -# layer(panel.abline(h = 0)) - -levelplot(sum ~ theta + gamma, - data = subset(grid, round(sum, 3) == 1), - col.regions = gray.colors) + - layer(panel.abline(a = 0, b = -1/200)) -``` - ## Modelo de Regressão com a Distribuição Poisson Generalizada ## ```{r, eval=FALSE} @@ -173,10 +142,12 @@ dpg1 <- function(y, lambda, alpha) { k <- lfactorial(y) w <- 1 + alpha * y z <- 1 + alpha * lambda + m <- alpha > pmax(-1/y, -1/lambda) # fy <- (lambda/z)^(y) * w^(y - 1) * exp(-lambda * (w/z))/exp(k) fy <- y * (log(lambda) - log(z)) + (y - 1) * log(w) - lambda * (w/z) - k - return(exp(fy)) + fy[!m] <- 0 + return(m * exp(fy)) } react <- function(panel){ @@ -238,6 +209,58 @@ rp.checkbox(panel = panel, rp.do(panel = panel, action = react) ``` +## O espaço paramétrico ## + +```{r} +#----------------------------------------------------------------------- +# Gráfico do espaço paramétrico de theta x gamma. + +# debug(dpg1) +# dpg1(y = 0:10, lambda = 1, alpha = 0) +# dpg1(y = 0:10, lambda = 1, alpha = -0.1) +# undebug(dpg1) + +library(latticeExtra) + +y <- 0:200 +fun <- Vectorize(vectorize.args = c("theta", "gamma"), + FUN = function(theta, gamma) { + sum(dpg0(y = y, theta = theta, gamma = gamma)) + }) + +grid <- list(theta = seq(0.5, 50, by = 0.5), + gamma = seq(-0.98, 0.98, by = 0.02)) +grid$sum <- with(grid, outer(theta, gamma, fun)) +grid <- with(grid, + cbind(expand.grid(theta = theta, gamma = gamma), + data.frame(sum = c(sum)))) + +levelplot(sum ~ theta + gamma, + data = subset(grid, round(sum, 3) == 1), + col.regions = gray.colors) + + layer(panel.abline(a = 0, b = -1/200)) + +fun <- Vectorize(vectorize.args = c("lambda", "alpha"), + FUN = function(lambda, alpha) { + sum(dpg1(y = y, lambda = lambda, alpha = alpha)) + }) + +dpg1(y = 0:10, lambda = 5, alpha = -0) +dpois(0:10, lambda = 5) + +grid <- list(lambda = seq(0.2, 50, by = 0.2), + alpha = seq(-0.98, 0.98, by = 0.02)) +grid$sum <- with(grid, outer(lambda, alpha, fun)) + +grid <- with(grid, + cbind(expand.grid(lambda = lambda, alpha = alpha), + data.frame(sum = c(sum)))) + +levelplot(sum ~ lambda + alpha, + data = subset(grid, round(sum, 3) == 1), + col.regions = gray.colors) +``` + ## Verossimilhança e Estimação ## ```{r} -- GitLab