library(rethinking)
library(RColorBrewer)
library(lubridate)
library(tidyverse)
library(rstan)
# ponderador LSV ####
lsv_semaforo <- tribble(~encuestadora,~semaforo,
"CNC",7.1,
"Invamer",10,
"GAD3",7,
"AtlasIntel",7.5,
"MassiveCaller",5.6,
"YanHaas",5.5,
"Guarumo",8.9,
"TYSE",5.5,
"CELAG",5.1)
# Encuestas ####
postre2022_encuestas <- readr::read_csv("https://raw.githubusercontent.com/nelsonamayad/Elecciones-presidenciales-2022/main/Encuestas%202022/encuestas_2022.csv") %>%
dplyr::select(n,fecha,encuestadora,muestra,gustavo_petro,rodolfo_hernandez,tipo) %>%
dplyr::filter(fecha>=lubridate::as_date("2022-05-29")) %>%
dplyr::mutate(gp=gustavo_petro*muestra/100,
rh=rodolfo_hernandez*muestra/100,
encuestadora =factor(encuestadora)) %>%
dplyr::mutate(dd = lubridate::as_date(as.character(today()), format="%Y-%m-%d") - lubridate::as_date(as.character(fecha), format="%Y-%m-%d")) %>%
dplyr::mutate(dd = as.numeric(dd)) %>%
dplyr::mutate(gp_win = ifelse(gp>rh,1,0),
rh_win = ifelse(gp<rh,1,0)) %>%
dplyr::mutate(tipo_1=ifelse(tipo=="presencial",1,0),
tipo_2=ifelse(tipo=="telefonico y presencial",1,0),
tipo_3=ifelse(tipo=="digital",1,0))
# Numero de encuestas disponibles
postre2022_disponibles <- readr::read_csv("https://raw.githubusercontent.com/nelsonamayad/Elecciones-presidenciales-2022/main/Encuestas%202022/encuestas_2022.csv") %>%
dplyr::filter(lubridate::as_date(fecha) >= lubridate::as_date("2022-05-30")) %>%
dplyr::tally() %>%
as.numeric()
postre2022_encuestadoras <- readr::read_csv("https://raw.githubusercontent.com/nelsonamayad/Elecciones-presidenciales-2022/main/Encuestas%202022/encuestas_2022.csv") %>%
dplyr::filter(lubridate::as_date(fecha) >= lubridate::as_date("2022-05-30")) %>%
dplyr::select(encuestadora) %>%
dplyr::n_distinct() %>%
as.numeric()
# Postre ulam Petro ####
postre2022_ulam_gp <- ulam(
alist(
#modelo
gp ~ dbinom(muestra,p),
logit(p) <- a[encuestadora] + b1*dd + b2*tipo_1,
#priors
a[encuestadora] ~ dnorm(a,s),
a ~ dnorm(45,5),
b1 ~ dnorm(0,5),
b2 ~ dnorm(0,5),
s ~ dcauchy(0,5)
),
data=list(
N = postre2022_disponibles,
encuestadora = postre2022_encuestas$encuestadora,
muestra = postre2022_encuestas$muestra,
dd = postre2022_encuestas$dd,
tipo_1 = postre2022_encuestas$tipo_1,
gp= postre2022_encuestas$gp
),
control=list(adapt_delta=0.96),
iter=5000,
warmup=1000,
chains=4,
cores=4,
log_lik=TRUE)
# Postre ulam Hernandez ####
postre2022_ulam_rh <- ulam(
alist(
#modelo
rh ~ dbinom(muestra,p),
logit(p) <- a[encuestadora] + b1*dd + b2*tipo_1,
#priors
a[encuestadora] ~ dnorm(a,s),
a ~ dnorm(47,5),
b1 ~ dnorm(0,5),
b2 ~ dnorm(0,5),
s ~ dcauchy(0,5)
),
data=list(
N = postre2022_disponibles,
encuestadora = postre2022_encuestas$encuestadora,
muestra = postre2022_encuestas$muestra,
dd = postre2022_encuestas$dd,
tipo_1 = postre2022_encuestas$tipo_1,
rh= postre2022_encuestas$rh
),
control=list(adapt_delta=0.96),
iter=5000,
warmup=1000,
chains=4,
cores=4,
log_lik=TRUE)