Ustedes van a usar los modelos para buscar explicaciones. Que están fundamentadas en la teoría.
Ejemplo: vas a tu clase X.
Te dicen: la DEMOCRACIA. ¿Qué hay que hacer para que la democracia mejore?
Tu democracia es tu variable Y. Y todas las X que se te ocurra, son aquellas cosas que tú crees impactarían la democracia (positiva o negativamente).
Concepto más chiquito: democracia participativa. Y así… te vas a ir achicando más.
En lo que te vas a romper la cabeza: cómo medir la Y.
La estadística no sabe lo que le estás metiendo. [La responsabilidad de uno es buscar buenos conceptos]
CUENTOS NUEVOS CUENTOS ENCONTRAR TU CUENTO
En pregrado: no te piden que inventes una teoría.
[Putnam, Making Democracy Work]
Busca la HIPÓTESIS. Si se llama científico, ¿cuál es la hipótesis?
Democratic Governance
La estadística no se responsbiliza por el tipo de concepto. ESCALA.
Todo depende de la Y
Hipótesis: X1, X2, X3 y X4 impactan en la Y.
Si solo cojo Y y X1 [y así de dos en dos]: no estoy controlando. Se puede tener una correlación espúrea: NO ES LO QUE ESTÁS VIENDO, ES OTAR COSA.
[Todos los modelos requieren de una buena cantidad de datos]
La parte inferencial de la Estadística NO GENERALIZA TAN RÁPIDO
Los modelos están para hallar relaciones entre variables.
Primera parte del curso: explorando data comprehensiva [todos los distritos]. por eso vale la pena hacer clusters
Las técnicas de dimensionalidad sirven para analizar los casos
En los modelos, lo que nos importan son las columnas
[Nosotros estamos buscando sostener una teoría. No tanto predecir.]
Las Y tienen que sonar a que son resultado de algo. En nuestro ejemplo, nuestras Y son los votos por PPK y FP. Y lo demás, tiene que ver con Desarrollo Humano.
Carguemos la data:
folder='data'
fileName='idh_elec.csv'
fileToRead=file.path(folder,fileName)
idh_elec=read.csv(fileToRead,strip.white = T,
stringsAsFactors = F)
Veamos el TIPO de data que tenemos:
str(idh_elec)
## 'data.frame': 1834 obs. of 14 variables:
## $ ubiReg : int 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 ...
## $ ubiProv : int 10200 10200 10200 10200 10200 10200 10300 10300 10300 10300 ...
## $ ubiDis : int 10202 10201 10203 10204 10205 10206 10302 10303 10304 10305 ...
## $ depa : chr "AMAZONAS" "AMAZONAS" "AMAZONAS" "AMAZONAS" ...
## $ prov : chr "BAGUA" "BAGUA" "BAGUA" "BAGUA" ...
## $ dist : chr "ARAMANGO" "BAGUA" "COPALLIN" "EL PARCO" ...
## $ pobla : int 11587 26067 6501 1443 23820 8020 349 282 922 883 ...
## $ idh : num 0.311 0.479 0.366 0.408 0.236 ...
## $ esperanza : num 76.8 74.7 78 77.4 77.4 ...
## $ secundaria: num 21.6 59.3 38.7 44.1 16 ...
## $ tiempoedu : num 5.38 8.33 5.77 6.24 5.78 8.33 5.76 6.75 4.83 5.04 ...
## $ percapitaf: num 405 662 452 551 209 ...
## $ PPK : int 1823 4949 1490 604 6282 2342 135 92 234 283 ...
## $ FP : int 3072 5809 1321 400 2059 2765 118 162 189 155 ...
A ti, la ONU te dice que el IDH (siguiendo a Sen), es importante. Y que es una latente que contiene a: esperanza, secundaria, tiempoedu y percapitaf.
Podría hacer Esta 1, y hacer que X sea IDH e Y sea PPK.
Pero ahora, haciendo Esta 2, podríamos hacer que las X sean esperanza, secundaria, tiempoedu, percapitaf. Y la Y sigue siendo PPK.
El primer Y que vamos a hacer son los votos de PPK.
En los exámenes: tengo que tratar de crear nuevas variables
idh_elec$ganappk=as.factor(ifelse(idh_elec$PPK>idh_elec$FP,1,0)) #pongo as.factor porque quiero que sea categórica
#Añado etiquetas de valor
levels(idh_elec$ganappk)=c('Keiko','PPK') #Primero 'Keiko' porque es 0; 'PPK' es 1
Creo un test:
test=idh_elec[,c('ganappk','esperanza','secundaria','tiempoedu','percapitaf')]
aggregate(cbind(esperanza,secundaria,tiempoedu,percapitaf) ~ ganappk, data=test,FUN=mean) #en cbind van las numéricas; después de ~ va la categórica; luego la data; y luego la función
## ganappk esperanza secundaria tiempoedu percapitaf
## 1 Keiko 73.26403 43.87029 6.775873 386.2901
## 2 PPK 71.96195 47.73951 6.882518 399.6531
OJO: acá pareciera que todo está controlado. Pero no lo está. [Recuerda gráfico de IPSOS que sostenía que (solo) el nivel educativo era lo que influía y diferenciaba el voto de Keiko y PPK]
Exploremos esos grupos con más detalle:
par(mfrow=c(2,2))
boxplot(esperanza ~ ganappk, data=test,main='esperanza de vida')
boxplot(secundaria ~ ganappk, data=test,main='secundaria')
boxplot(tiempoedu ~ ganappk, data=test,main='años de educación')
boxplot(percapitaf ~ ganappk, data=test,main='percapita familiar')
Si las colas de los boxplots no se chocasen [análogo a los intervalos de confianza, o a cuando hacíamos prueba t], ahí recién habría significancia.
Ahora… propongamos un modelo:
modeloDico <- glm(ganappk ~ .,
data = test,
family = "binomial")
summary(modeloDico)
##
## Call:
## glm(formula = ganappk ~ ., family = "binomial", data = test)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.666 -1.080 -0.904 1.199 1.655
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 3.7432039 0.6927416 5.403 6.54e-08 ***
## esperanza -0.0558598 0.0096419 -5.793 6.90e-09 ***
## secundaria 0.0140213 0.0032690 4.289 1.79e-05 ***
## tiempoedu -0.1062897 0.0496310 -2.142 0.0322 *
## percapitaf 0.0005724 0.0003128 1.830 0.0673 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 2528.8 on 1833 degrees of freedom
## Residual deviance: 2473.6 on 1829 degrees of freedom
## AIC: 2483.6
##
## Number of Fisher Scoring iterations: 4
#Se pone un . luego de ~ para poner todas las demás
[Miras a los coeficientes. La columna Pr(>|z|) es el p-valor]
¿Cuáles ayudarían a que PPK gane? Las positivas, y que tengan VALIDEZ MUESTRAL.
[En Marketing: o uno consolida su mercado, o uno construye su mercado]
[Indecisos: construirías tu mercado]
[Por ejemplo: candidatos que van a universidades, ¿reforzando su mercado cautivo?]
[El reto de los equipos de campaña es decidir]