From 322ef9500342bb35264a8cf8d723c518ac5a4f9d Mon Sep 17 00:00:00 2001
From: Walmes Zeviani <walmes@ufpr.br>
Date: Thu, 21 Jul 2016 16:35:48 -0300
Subject: [PATCH] Usa o dados seguros adicionado pelo Eduardo.

---
 vignettes/v03_binomial_negativa.Rmd | 88 ++++++++++++++---------------
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/vignettes/v03_binomial_negativa.Rmd b/vignettes/v03_binomial_negativa.Rmd
index f986500..e6d7464 100644
--- a/vignettes/v03_binomial_negativa.Rmd
+++ b/vignettes/v03_binomial_negativa.Rmd
@@ -25,9 +25,6 @@ seguintes variáveis:
   * **Sexo**: M para masculino e F para feminino;
   * **Valor**: Valor do veículo segurado (em reais).
 
-```{r, include=FALSE}
-devtools::load_all()
-```
 ```{r, results = "hide", message = FALSE}
 # Pacotes necessários.
 
@@ -35,67 +32,70 @@ library(lattice)
 library(MASS)
 library(effects)
 library(knitr)
+library(MRDCr)
 ```
 
 ## Verificação do conteúdo e a estrutura dos dados
 
 ```{r}
 # Dez primeiras linhas da base.
-head(seguro, 10)
-str(seguro)
+head(seguros, 10)
+str(seguros)
+
+seguros$lexpo <- log(seguros$expos)
 ```
 
 ## Análise descritiva da distribuição do número de sinistros
 
 ```{r}
 # Distribuição do números de sinistros.
-tb <- table(seguro$Sinistros)
+tb <- table(seguros$nsinist)
 tb
 
 barchart(tb, horizontal = FALSE)
 
 # Taxa de sinistros na amostra.
-taxageral <- sum(seguro$Sinistros)/sum(seguro$Exposicao)
+taxageral <- sum(seguros$nsinist)/sum(seguros$expos)
 taxageral
 
-tab <- aggregate(cbind(Exposicao, Sinistros) ~ Sexo,
-                 data = seguro, FUN = sum)
-taxa <- with(tab, Sinistros/Exposicao)
+tab <- aggregate(cbind(expos, nsinist) ~ sexo,
+                 data = seguros, FUN = sum)
+taxa <- with(tab, nsinist/expos)
 tab <- cbind(tab, taxa)
 
 # Distribuição do número de sinistros por sexo.
 kable(tab, align = "c",
-      caption = "**Taxa de sinistros segundo Sexo**")
+      caption = "**Taxa de sinistros segundo sexo**")
 
-seguro$idadecat <- cut(seguro$Idade,
+seguros$idadecat <- cut(seguros$idade,
                        breaks = c(18, 30, 60, 92),
                        include.lowest = TRUE)
-tab <- aggregate(cbind(Exposicao, Sinistros) ~ idadecat,
-                 data = seguro, FUN = sum)
-taxa <- with(tab, Sinistros/Exposicao)
+tab <- aggregate(cbind(expos, nsinist) ~ idadecat,
+                 data = seguros, FUN = sum)
+taxa <- with(tab, nsinist/expos)
 tab <- cbind(tab, taxa)
 
 # Distribuição do número de sinistros por sexo.
 kable(tab, align = "c",
-      caption = "**Taxa de sinistros segundo Idade**")
+      caption = "**Taxa de sinistros segundo idade**")
 
-tabidsex <- aggregate(cbind(Exposicao, Sinistros) ~ Sexo + idadecat,
-                      data = seguro, FUN = sum)
-taxa <- with(tabidsex, Sinistros/Exposicao)
+tabidsex <- aggregate(cbind(expos, nsinist) ~ sexo + idadecat,
+                      data = seguros, FUN = sum)
+taxa <- with(tabidsex, nsinist/expos)
 tabidsex <- cbind(tabidsex, taxa)
 
 # Distribuição do número de sinistros por idade e sexo.
 kable(tabidsex, align = "c",
-      caption = "**Taxa de sinistros segundo Sexo e Idade**")
+      caption = "**Taxa de sinistros segundo sexo e idade**")
 ```
 
 ## Regressão usando o modelo log-linear Poisson
 
 ```{r}
-seguro <- na.omit(seguro)
-mP <- glm(Sinistros ~ Sexo + Idade + I(Idade^2) + Valor +
-              offset(log(Exposicao)),
-          data = seguro, family = poisson)
+seguros <- na.omit(seguros)
+mP <- glm(nsinist ~ sexo + idade + I(idade^2) + valor +
+              offset(log(expos)),
+          data = seguros, family = poisson)
 summary(mP)
 
 # Estimação do parâmetro de dispersão.
@@ -152,9 +152,9 @@ envelope(mP)
 ## Ajuste do modelo associando um parâmetro ao termo offset (log-exposicao)
 
 ```{r}
-mPo <- glm(Sinistros ~ Sexo + Idade + I(Idade^2) + Valor +
-               log(Exposicao),
-           data = seguro, family = poisson)
+mPo <- glm(nsinist ~ sexo + idade + I(idade^2) + valor +
+               log(expos),
+           data = seguros, family = poisson)
 summary(mPo)
 anova(mP, mPo, test = "Chisq")
 ```
@@ -162,8 +162,8 @@ anova(mP, mPo, test = "Chisq")
 ## Regressão usando a distribuição binomial negativa
 
 ```{r}
-mBNo <- glm.nb(Sinistros ~ Sexo + Idade + I(Idade^2) + Valor +
-                   log(Exposicao), data = seguro)
+mBNo <- glm.nb(nsinist ~ sexo + idade + I(idade^2) + valor +
+                   log(expos), data = seguros)
 summary(mBNo)
 ```
 
@@ -177,11 +177,11 @@ plot(mBNo)
 
 ```{r}
 dadosnb3 <-
-    seguro[, c("Sexo", "Idade", "Valor", "Exposicao", "Sinistros")]
-dadosnb3$lexpo <- log(seguro$Exposicao)
+    seguros[, c("sexo", "idade", "valor", "expos", "nsinist")]
+dadosnb3$lexpo <- log(seguros$expos)
 
-mBNo <- glm.nb(Sinistros ~ Sexo + Idade + I(Idade^2) +
-                   Valor + lexpo,
+mBNo <- glm.nb(nsinist ~ sexo + idade + I(idade^2) +
+                   valor + lexpo,
                data = dadosnb3)
 
 envelope <- function(modelo) {
@@ -241,19 +241,19 @@ trellis.par.set(list(axis.text = list(cex = 1.2)))
 
 plot(efeitos[[2]],
      type = "response",
-     main = "Taxa de sinistros vs. Idade",
+     main = "Taxa de sinistros vs. idade",
      xlab = "Idade (anos)",
      ylab = "Taxa de sinistros")
 
 plot(efeitos[[1]],
      type = "response",
-     main = "Taxa de sinistros vs. Sexo",
+     main = "Taxa de sinistros vs. sexo",
      xlab = "Sexo",
      ylab = "Taxa de  sinistros")
 
 plot(efeitos[[4]],
      type = "response",
-     main = "Taxa de sinistros vs. Valor do automóvel",
+     main = "Taxa de sinistros vs. valor do automóvel",
      xlab = "Valor (x1000 reais)",
      ylab = "Taxa de sinistros")
 ```
@@ -263,23 +263,23 @@ plot(efeitos[[4]],
 ```{r}
 
 # Poisson sem ajuste de covariáveis.
-n <- nrow(seguro)
-mediasin <- mean(seguro$Sinistros)
+n <- nrow(seguros)
+mediasin <- mean(seguros$nsinist)
 freqps <- round(n * dpois(0:10, mediasin))
 
 # Poisson com covariaveis
 pred1 <- predict(mPo, type = "response")
 intervalo <- 0:10
-matprob <- matrix(0, nrow = nrow(seguro), ncol = length(intervalo))
+matprob <- matrix(0, nrow = nrow(seguros), ncol = length(intervalo))
 probpois <- function(interv, taxa) dpois(intervalo, taxa)
-for (i in 1:nrow(seguro)) {
+for (i in 1:nrow(seguros)) {
     matprob[i, ] <- probpois(interv = intervalo, taxa = pred1[i])
 }
 pbarra <- colMeans(matprob)
 freqpsaj <- round(n * pbarra)
 
 # Binomial negativa sem covariaveis.
-ajustenb <- glm.nb(Sinistros ~ 1, data = seguro)
+ajustenb <- glm.nb(nsinist ~ 1, data = seguros)
 
 media <- exp(coefficients(ajustenb))
 shape <- ajustenb$theta
@@ -289,18 +289,18 @@ freqbn <- round(n * dnbinom(0:10, mu = media, size = shape))
 pred2 <- predict(mBNo, type = "response")
 
 intervalo <- 0:10
-matprob <- matrix(0, nrow = nrow(seguro), ncol = length(intervalo))
+matprob <- matrix(0, nrow = nrow(seguros), ncol = length(intervalo))
 probnb <- function(interv, media, shape) {
     dnbinom(intervalo, mu = media,
             size = shape)
 }
-for (i in 1:nrow(seguro)) {
+for (i in 1:nrow(seguros)) {
     matprob[i, ] <- probnb(interv = intervalo, media = pred2[i],
                            shape = mBNo$theta)
 }
 pbarra <- colMeans(matprob)
 frebnaj <- round(n * pbarra)
-ams <- c(table(seguro$Sinistros), rep(0, 5))
+ams <- c(table(seguros$nsinist), rep(0, 5))
 matfreq <- rbind(ams, freqps, freqpsaj, freqbn, frebnaj)
 colnames(matfreq) <- 0:10
 rownames(matfreq) <- c("Amostra",
-- 
GitLab