Está en la página 1de 18

1 Test de Levin, Lin y Chu (2002)

2 Arellano y Bond
Para el modelo de data panel dinámico se considera un modelo AR(1) con efectos individuales αi .
Así tendremos el siguiente modelo:

yit = ρit yi(t−1) + αi + uit . (1)

De acuerdo a esta ecuación, se podría realizar la estimación por MCO, sin embargo al haber
correlación entre αi y yit , el estimador sería inconsistente.
Así mismo, se puede plantear la estimación intragrupos dónde se suprimen los efectos indi-
viduales sin embargo hay inconsistencia debido a la correlación entre yeit−1 = yit−1 − ȳit−1 y
eit−1 = uit−1 − ūit−1 . De forma similar el estimador por primeras diferencias también es inconsis-
u
tente por la correlación entre la primera diferencia de la endógena y los errores (u).
Así Anderson y Hsiao (1981) proponen un estimador consistente, teniendo en cuenta que yit−2
no presenta correlación con uit . Teniendo un consistente, Arellano y Bond (1991) encontraron que
para ganar eficiencia que cuando T es pequeño en comparación de N , observaron que si bien yi1
es el único instrumento válido en ecuaciones en diferencias para t = 3, yi2 y yi3 son válidos para
la ecuación con t = 4 y así sucesivamente. Con lo cual se tiene una matriz de observaciones de
instrumentos Zi .

1
 
yi1 0 0 ··· 0 0 ··· 0
 0 yi1 yi2 ··· 0 0 ··· 0 
Zi = 
  (2)
··· ··· ··· ··· ··· ··· ··· ··· 
0 0 0 ··· yi1 yi2 ··· yi(T −2)

De acuerdo con ello el estimador de Arellano Bond es:

PN PN PN
( i=t Zi 0 ∆yi(−1) )0 [ i=1 Zi 0 HZi ]−1 ( i=1 Zi 0 ∆yi )0
ρ̂ = PN PN PN . (3)
( i=t Zi 0 ∆yi(−1) )0 [ i=1 Zi 0 HZi ]−1 ( i=1 Zi 0 ∆yi(−1) )0

Este estimador se usa en caso lo errores uit sean homocedásticos, en caso contrario el estimador
seguirá
PN siendo consiste, sin embargo se puede aumentar su eficiencia sustituyendo el corchete por
0
i=1 (Zi ∆ûi )(∆ûi Zi) de donde provienen de la ecuación (3). Luego obtendremos el estimador
de variables instrumentales óptimo en dos etapas, o estimador generalizado de momentos en dos
etapas (EGM).
Una restricción importante del estimador, que debe corregirse con una correcta modelización, es
que no puede existir autocorrelación de segundo orden en las primeras diferencias de los errores.
Este se realiza mediante el test de Arellano-Bond. Es deseable que las primeras diferencias estén
correlacionadas en primero orden, ya que de lo contrario estaría indicando que no existen efectos
dinámicos y el estimador EGM no sería adecuado, pero no pueden existir dichas diferencias en
segundo orden.
Otro diagnóstico importante en la estimación de la Data Panel Dinámica es la prueba de AR para
autocorrelación de los residuos. Por construcción, los residuos de la la ecuación diferenciada debe
poseer correlación serial, pero si el se garantiza la independencia de serie en los errores originales, los
residuos diferenciados no deben exhibir un comportamiento AR(2) significativo.Si se encuentra una
estadística AR(2) significativa, el segundo retraso de las variables endógenas no serán instrumentos
apropiados para su valores actuales.

2.1 Contraste de especificación (test)


Al utilizar la ecuación (1), se supone en principio que uit es ruido blanco, de no cumplirse dicha
hipótesis el estimador será inconsistente. Luego, al introducir el rezago yit−1 , también se introduce
correlación en el residuo uit pero no debe ser mayor a la de primer orden si este residuo es ruido
blanco. Entonces se tiene como hipótesis nula.

• H0 = ausencia de correlación en uit

3 Definición de Heterocedasticidad
La heterocedasticidad es una característica común dentro de los errores (residuos) de un modelo
econométrico, i :
Yi = β0 + β1 x1i + β2 x2i + β3 x3i + β4 x4i + i
Cuando la varianza del error, σ2i deja de ser homogénea ( o constante) :

σ2i = α0 α0 = constante

y presenta una expresión como:


σ2i = α0 + algo
Donde ese algo tiene una expresión matemática, se puede decir que la varianza no es constante
y el error tiene Heterocedasticidad, es decir que su varianza ya no es constante. A continuación
explicaremos como se puede presentar la heterocedasticidad:

2
3.1 Heterocedasticidad producto de las exógenas
Sea el siguiente modelo econométrico:

Yi = β0 + β1 x1i + β2 x2i + β3 x3i + β4 x4i + i

Se dice que el residuo del modelo  tiene una Heterocedasticidad que depende de una exógena si,
la varianza del error, σi2 , se puede expresar como:

σ2i = α0 + α1 x1i + µi

ó:
σ2i = α0 + α1 x1i ∗ x2i + µi
ó:
σ2i = α0 + α1 x1i ∗ x2i + α2 x3i + µi

3.2 Heterocedasticidad Autoregresiva


Sea el siguiente modelo econométrico:

Yt = β0 + β1 x1t + β2 x2t + β3 x3t + β4 x4t + t

Se dice que el residuo del modelo  tiene una Heterocedasticidad Autoregresiva si, la varianza del
error, σt2 , se puede expresar como:

σt2 = α0 + α1 σt−1
2
+ µi

ó:
σt2 = α0 + α1 2t−1 + µi
ó:
σt2 = α0 + α1 σt−1
2
+ α1 2t−1 + µi
Estas expresiones de la varianza corresponden al grupo de modelos de la heterocedasticidad lla-
mados ARCH y GARCH, también conocidos como modelos de la volatilidad, estos modelos ARCH
devienen del nombre: Autoregresive Conditional Model o traducido, modelos de Heterocedasticidad
Condicional Autoregresiva (ARCH). Donde se modeló la varianza heterogénea como una función
de si misma o de los rezagos del residuo del modelo al cuadrado, existe mucha literatura que ha
extendido el estudio de estos modelos, haciéndoles los preferidos para modelar las volatilidades de
los mercados, en capítulos siguientes modelaremos detalladamente la varianza con estos modelos
ARCH, GARCH.

4 Detección de la Heterocedasticidad
4.1 Heterocedasticidad producto de las exógenas
Veremos el test de White y el test de Breush y Pagan(BP), a manera de introducción revisaremos
algunos conceptos como al matriz de covarianzas

vcov ( modelo1 )

También revisaremos la tabla ANOVA del modelo econométríco(modelo1)

anova ( modelo )

Los siguientes comandos son importantes para analizar la heterocedasticidad:

residuales <- modelo $ residuals


rstint <- rstandard ( modelo )
# para obtener los residuos estandarizados , para la normalidad , entre otros
win . graph ()
par ( mfrow = c (1 ,3) )

3
hist ( rstint )
boxplot ( rstint )
qqnorm ( rstint )

4.1.1 Test de White

hccm ( modelo )

# para obtener los resultados de las pruebas que hicimos aplicamos el


siguiente comando
coeftest (p , vcov = hcccm ( modelo ) )

4.1.2 Test de Breush y Pagan(BP)


Realizamos la prueba Breusch-Pagan bptest(modelo)

4.2 Heterocedasticidad Autoregresiva


* La razon Odds ratio es una variable discreta (dicotómica) cuyo comportamiento sigue una
distribución binomial, invalidando el supuesto básico de normalidad.
* La función de relación es una regresión intrínsecamente no lineal.
* La varianza de una variable dicotomica no es constaste, al cambiar los valores de las Xi los
puntos de Y se abren en un abanico que refleja la heterocedasticidad.
La regresión logística, también llamada modelo logit, se utiliza para modelar variables de resul-
tado dicotómicas. En el modelo logit las probabilidades log del resultado se modelan como una
combinación lineal de las variables predictoras.
En este caso utilizaremos el modelo Logit para el siguiente ejemplo:
• Ejemplo 1: Un investigador está interesado en saber cómo las variables, tales como GRE
(puntajes de los exámenes de Graduate Record), GPA (promedio de calificaciones) y el pres-
tigio de la institución de pregrado,tienen efecto en la admisión en la escuela de posgrado. La
variable de respuesta, admitir / no admitir, es una variable binaria (0/1).
Utilizaremos el programa R para poder utilizar el modelo LOGIT
Primero instalamos los paquetes e Insertamos la data a traves de read.csvv

# EJEMPLO1
# LOGIT REGRESSION | R DATA ANALYSIS EXAMPLES3 #

# Primero instalamos los paquetes


install . packages ( " aod " )
install . packages ( " ggplot2 " )
library ( ggplot2 )
library ( aod )

# Insertamos la data a traves de read . csv


mydata <- read . csv ( " https : / / stats . idre . ucla . edu / stat / data / binary . csv " )

head ( mydata )
# aqui se ven los primeros seis datos

summary ( mydata )
# apreciamos aqui un resumensobre la data

sapply ( mydata , sd )
xtabs ( ~ admit + rank , data = mydata )

4
A partir de aqui estimaremos un modelo de regresión logística utilizando el modelo lineal
generalizado. Este comanndo(factor) nos ayuda a aplicar los dummys.A tráves de factor se aplican
n-1 dummys, recuerda no caer en la trampa de dummy!

mydata $ rank <- factor ( mydata $ rank )


mylogit <- glm ( admit ~ gre + gpa + rank , data = mydata , family = " binomial "
)
summary ( mylogit )

Podemos utilizar la función confint para obtener intervalos de confianza para las estimaciones
de los coeficientes. Observese que para los modelos logísticos, los intervalos de confianza se basan
en la función de log-verosimilitud perfilada.

confint ( mylogit )
confint . default ( mylogit )

Utilizamos la función wald.test donde b suministra los coeficientes, mientras Sigma suministra
la matriz de covarianza de varianza de los términos de error, finalmente Termsindica a R qué
términos del modelo se van a probar, en este caso, los términos 4, 5 y 6 son los tres términos para
los niveles de rank.

wald . test ( b = coef ( mylogit ) , Sigma = vcov ( mylogit ) , Terms = 4:6)


# # Prueba Wald :
##
# # Prueba de Chi cuadrado :
{2} = 20 ,9 , df = 3 , P ( > X _ {2}) = 0 ,00011

Creamos un cbind para testear la diferencia entre el beta3(rank2) y beta4(rank3). Notamos


que el p-value es 0.019 menor a 0.05, lo que nos indica que la diferencia entre el coeficiente de
rank2 y el coeficiente de rank3 es significativo.

l <- cbind (0 , 0 , 0 , 1 , -1 , 0)
wald . test ( b = coef ( mylogit ) , Sigma = vcov ( mylogit ) , L = l )
# # Prueba Wald :
##
# # Prueba de Chi cuadrado :
{2} = 5 ,5 , df = 1 , P ( > X _ {2}) = 0 ,019

También se puede analizar esto a tráves de ODDS-RATIOS lo que en este caso nos quiere decir
este ratio es la probabilidad de ser admitido/probabilidad de no ser admitido para cada coeficiente.

exp ( coef ( mylogit ) )


# # gre gpa rank2 rank3 rank4
# # 0.0185 1.0023 2.2345 0.5089 0.2618 0.2119
exp ( cbind ( OR = coef ( mylogit ) , confint ( mylogit ) ) )
( Intercepto ) 0 ,0185 0 ,00189 0 ,167
# # gre 1.0023 1.00014 1.004
# # gpa 2.2345 1.17386 4.324
# # rank2 0.5089 0.27229 0.945
# # rank3 0.2618 0.13164 0.512
# # rank4 0 ,2119 0 ,09072 0 ,471

Aqui podemos observar que la probabilidad de ser aceptado en un programa de postgrado es


de 0,52 para los estudiantes de las instituciones de mayor prestigio de grado ( rank= 1), y 0,18
para los estudiantes de las instituciones de clasificación más baja ( rank= 4).

newdata1 <- with ( mydata , data . frame ( gre = mean ( gre ) , gpa = mean ( gpa ) , rank
= factor (1:4) ) )
newdata1
newdata1 $ rankP <- predict ( mylogit , newdata = newdata1 , type = " response " )

5
newdata1

El código para generar las probabilidades predichas es el mismo que antes, excepto que también
vamos a mostrar los errores estándar para poder trazar un intervalo de confianza.

newdata2 <- with ( mydata , data . frame ( gre = rep ( seq ( from = 200 , to = 800 ,
length . out = 100) , 4) , gpa = mean ( gpa ) , rank = factor ( rep (1:4 , each =
100) ) ) )
newdata3 <- cbind ( newdata2 , predict ( mylogit , newdata = newdata2 , type = "
link " ,
se = TRUE ) )
newdata3 <- within ( newdata3 , {
PredictedProb <- plogis ( fit )
LL <- plogis ( fit - (1.96 * se . fit ) )
UL <- plogis ( fit + (1.96 * se . fit ) )
})

A través a de los gráficos de probabilidades presentaremos el modelo. Usaremos el ggplot2


paquete para graficar. Debajo hacemos una gráfica con las probabilidades,y los intervalos de
confianza del 95 %.

ggplot ( newdata3 , aes ( x = gre , y = PredictedProb ) ) + geom _ ribbon ( aes ( ymin =


LL , ymax = UL , fill = rank ) , alpha = 0.2) + geom _ line ( aes ( colour = rank )
, size = 1)

Figure 1: Aqui obtendremos cuales son los intervalos de confianza y tendencia para cada uno de
los ranks.

5 Modelo de Regresión Logística Multinomial


5.1 ¿Qué es el Modelo de regresión Logit Multinomial?
La regresión logística multinomial se utiliza para modelar variables de resultado nominales, en las
cuales las probabilidades logarítmicas de los resultados se modelan como una combinación lineal
de las variables predictoras.

5.2 ¿Por qué usar el Modelo de regresión Logit Multinomial?


* El modelo logístico multinomial supone que los datos son específicos del caso; Es decir, cada
variable independiente tiene un valor único para cada caso.

6
* El modelo logístico multinomial también supone que la variable dependiente no puede ser
perfectamente pronosticada a partir de las variables independientes para ningún caso.

* Al igual que con otros tipos de regresión, no es necesario que las variables independientes
sean estadísticamente independientes entre sí (a diferencia, por ejemplo, en un clasificador
ingenuo de Bayes ); Sin embargo, se supone que la colinealidad es relativamente baja, ya que
resulta difícil diferenciar entre el impacto de varias variables si no es así.

En este caso utilizaremos el siguiente ejemplo:


• Ejemplo 2: Los estudiantes que ingresan a la escuela preparan opciones de programa entre
el programa general, el programa vocacional y el programa académico. Su elección podría
ser modelada usando su puntuación de escritura y su estatus económico social.
Utilizaremos el programa R para poder utilizar el modelo LOGÍSTICO MULTINOMIAL
Primero instalamos los paquetes e Insertamos la data a traves de read.data. Aqui encontramos
datos sobre 200 estudiantes

# EJEMPLO2
# MULTINOMIAL LOGISTIC REGRESSION | R DATA ANALYSIS EXAMPLES

install . packages ( " foreign " )


install . packages ( " nnet " )
install . packages ( " ggplot2 " )
install . packages ( " reshape2 " )
library ( foreign )
library ( nnet )
library ( ggplot2 )
library ( reshape2 )

# Exportamos nuestra data a traves de read . data


ml <- read . dta ( " https : / / stats . idre . ucla . edu / stat / data / hsbdemo . dta " )
# algunos datos sobre la data
with ( ml , table ( ses , prog ) )
with ( ml , do . call ( rbind , tapply ( write , prog , function ( x ) c ( M = mean ( x ) , SD =
sd ( x ) ) ) ) )

Vamos a generar un modelo de REGRESIÓN LOGÍSTICA MULTINOMIAL a traves de la


funcion nnet.

ml $ prog2 <- relevel ( ml $ prog , ref = " academic " )


# Vamos a ejecutar el modelo a traves de multinom .
test <- multinom ( prog2 ~ ses + write , data = ml )
summary ( test )
z <- summary ( test ) $ coefficients / summary ( test ) $ standard . errors
z

Debido a que multinom no posee p-value aplicaremos una funcion que lo haga para saver si son
sigfnificativas

p <- (1 - pnorm ( abs ( z ) , 0 , 1) ) * 2


p

La proporción de la probabilidad de elegir una categoría de resultados sobre la probabilidad


de elegir la categoría de referencia se refiere a menudo como riesgo relativo. El riesgo relativo
es la ecuación lineal derecha exponenciada, llevando al hecho de que los coeficientes de regresión
exponencial son relaciones de riesgo relativo para un cambio de unidad en la variable predictora.
Podemos exponer los coeficientes de nuestro modelo para ver estas razones de riesgo.

• La relación de riesgo relativo para un aumento de una unidad en la variable write es .9437
por estar en programa general versus programa académico.

7
• La relación de riesgo relativo cambiando de ses= 1 a 3 es .3126 por estar en programa general
versus programa académico.

exp ( coef ( test ) )


## ( Intercept ) sesmiddle seshigh write
# # general 17.33 0.5867 0.3126 0.9437
# # vocation 184.61 1.3383 0.3743 0.8926

También puede utilizar probabilidades predichas para ayudarle a entender el modelo. Puede
calcular las probabilidades predichas para cada uno de nuestros niveles de resultado utilizando la
función fitted. Podemos empezar por generar las probabilidades previstas para las observaciones
en nuestro conjunto de datos y ver las primeras filas

head ( pp <- fitted ( test ) )


## academic general vocation
## 1 0.1483 0.3382 0.5135
## 2 0.1202 0.1806 0.6992
## 3 0.4187 0.2368 0.3445
## 4 0.1727 0.3508 0.4765
## 5 0.1001 0.1689 0.7309
## 6 0.3534 0.2378 0.4088

A continuación, si queremos examinar los cambios en la probabilidad prevista asociada con una
de nuestras dos variables, podemos crear pequeños conjuntos de datos variando una variable mien-
tras mantenemos la otra constante. Primero aplicamos write en su media y examinaremos las
probabilidades predichas para cada nivel de ses.

dses <- data . frame ( ses = c ( " low " , " middle " , " high " ) , write = mean ( ml $ write ) )
predict ( test , newdata = dses , " probs " )

Otra forma de entender el modelo usando las probabilidades predichas es mirar las probabili-
dades predichas promediadas para diferentes valores de la variable predictora continua write dentro
de cada nivel de ses.

dwrite <- data . frame ( ses = rep ( c ( " low " , " middle " , " high " ) , each = 41) ,
write = rep ( c (30:70) ,3) )

pp . write <- cbind ( dwrite , predict ( test , newdata = dwrite , type = " probs " ,
se = TRUE ) )

by ( pp . write [ , 3:5] , pp . write $ ses , colMeans )

A veces, un par de gráficos puede transmitir una buena cantidad de información. Usando las
predicciones que generamos para el objeto pp.write anterior, podemos trazar las probabilidades
predichas contra la puntuación de escritura por el nivel de ses. para diferentes niveles de la
variable de resultado.

lpp <- melt ( pp . write , id . vars = c ( " ses " , " write " ) , value . name = "
probability " )
head ( lpp ) # view first few rows
ggplot ( lpp , aes ( x = write , y = probability , colour = ses ) ) + geom _ line () +
facet _ grid ( variable ~ . , scales = " free " )

6 Modelo de Regresión Logística Ordinal


En este caso utilizaremos el siguiente ejemplo:
• Ejemplo 3: Un estudio examina los factores que influyen en la decisión de aplicar o no a la

8
Figure 2: Aqui obtendremos las probabilidades predichas para cada nivel de ses.

escuela de posgrado. Se pregunta a los jóvenes de la universidad si son poco probables, algo
probables o muy probable que se apliquen a la escuela de posgrado. Por lo tanto, nuestra
variable de resultado tiene tres categorías. Los datos sobre el estado de la educación de los
padres, si la institución de pregrado es pública o privada, y el GPA actual también se recogen.
Los investigadores tienen razones para creer que las "distancias" entre estos tres puntos no
son iguales. Por ejemplo, la "distancia" entre "improbable" y "algo probable" puede ser más
corta que la distancia entre "algo probable" y "muy probable".

Utilizaremos el programa R para poder utilizar el modelo LOGÍSTICO ORDINAL


Primero instalamos los paquetes e Insertamos la data a traves de read.data.

# EJEMPLO2
# MULTINOMIAL LOGISTIC REGRESSION | R DATA ANALYSIS EXAMPLES

install . packages ( " foreign " )


install . packages ( " ggplot2 " )
install . packages ( " MASS " )
install . packages ( " Hmisc " )
install . packages ( " reshape2 " )
library ( foreign )
library ( ggplot2 )
library ( MASS )
library ( Hmisc )
library ( reshape2 )

# Exportamos nuestra data a traves de read . data


dat <- read . dta ( " https : / / stats . idre . ucla . edu / stat / data / ologit . dta " )
head ( dat )

lapply ( dat [ , c ( " apply " , " pared " , " public " ) ] , table )
ftable ( xtabs ( ~ public + apply + pared , data = dat ) )
summary ( dat $ gpa )
## Min . 1 st Qu . Median Mean 3 rd Qu . Max .

9
## 1.90 2.72 2.99 3.00 3.27 4.00
sd ( dat $ gpa )
# # [1] 0.3979

También podemos examinar la distribución de gpa en cada nivel de apply y desglosadas por publicy
y pared. Para ver mejor los datos, también agregamos los puntos de datos sin procesar en la parte
superior de los gráficos de caja, con una pequeña cantidad de ruido (a menudo llamado "jitter")
y 50% de transparencia para que no abrumen los boxplots. Finalmente, además de las células,
trazamos todas las relaciones marginales.

ggplot ( dat , aes ( x = apply , y = gpa ) ) +


geom _ boxplot ( size = .75) +
geom _ jitter ( alpha = .5) +
facet _ grid ( pared ~ public , margins = TRUE ) +
theme ( axis . text . x = element _ text ( angle = 45 , hjust = 1 , vjust = 1) )

m <- polr ( apply ~ pared + public + gpa , data = dat , Hess = TRUE )

summary ( m )
( ctable <- coef ( summary ( m ) ) )
# calculando p - values
p <- pnorm ( abs ( ctable [ , " t value " ]) , lower . tail = FALSE ) * 2
( ctable <- cbind ( ctable , " p value " = p ) )
( ci <- confint ( m ) )
confint . default ( m )
## 2.5 % 97.5 %
# # pared 0.5268 1.569
# # public -0.6426 0.525
# # gpa 0.1051 1.127

exp ( coef ( m ) )
exp ( cbind ( OR = coef ( m ) , ci ) )

10
sf <- function ( y ) {
c ( ’Y >=1 ’ = qlogis ( mean ( y >= 1) ) ,
’Y >=2 ’ = qlogis ( mean ( y >= 2) ) ,
’Y >=3 ’ = qlogis ( mean ( y >= 3) ) )
}

El segundo comando a continuación llama a la función sfen varios subconjuntos de los datos
definidos por los predictores. Por defecto, summary calculará la media de la variable del lado
izquierdo. Por lo tanto, si hubiéramos utilizado el código summary(as.numeric(apply) pared +
public + gpa) sin el argumento fun, obtendríamos medios de aplicar por pared, luego por público,
y finalmente por gpa dividido en 4 grupos iguales. Sin embargo, podemos anular el cálculo de la
media mediante el suministro de nuestra propia función, es decir, sfa lafun=argumento.

( s <- with ( dat , summary ( as . numeric ( apply ) ~ pared + public + gpa , fun = sf ) ) )
glm ( I ( as . numeric ( apply ) >= 2) ~ pared , family = " binomial " , data = dat )
glm ( I ( as . numeric ( apply ) >= 3) ~ pared , family = " binomial " , data = dat )
s [ , 4] <- s [ , 4] - s [ , 3]
s [ , 3] <- s [ , 3] - s [ , 3]
s
plot (s , which =1:3 , pch =1:3 , xlab = ’ logit ’ , main = ’ ’ , xlim = range ( s [ ,3:4]) )

Una vez que terminamos de evaluar si las suposiciones de nuestro modelo se mantienen, podemos
obtener probabilidades predichas, que son generalmente más fáciles de entender que los coeficientes
o las odds ratios. Hacemos esto creando un nuevo conjunto de datos de todos los valores a utilizar
para la predicción.

newdat <- data . frame (


pelado = rep ( 0 : 1 , 200 ) ,
publica = rep ( 0 : 1 , cada uno = 200 ) ,
gpa = rep ( SEC ( de = 1 ,9 , a = 4 , length . out = 100 ) , 4 ) )
newdat <- cbind ( newdat , predict (m , newdat , type = " probs " ) )
head ( newdat )

Ahora podemos remodelar los datos con el reshape2 paquete y trazar todas las probabilidades pre-
vistas para las diferentes condiciones. También utilizamos una función de etiqueta personalizada,
para agregar etiquetas más claras que muestran lo que representan cada columna y fila de la trama.

lnewdat <- derretir ( newdat , id . vars = c ( " pared " , " publico " , "
gpa " ) ,
variable . name = " Nivel " , value . name = " Probabilidad " )
cabeza ( lnewdat )
ggplot ( lnewdat , aes ( x = gpa , y = Probabilidad , color = Nivel ) ) +
geom _ line () + facet _ grid ( pared ~ public , labeller = " label _ both " )

11
7 Aplicación del modelo Logit a los Microcréditos
En ésta sección se tratará sobre la clasificación del deudor que realiza la SBS,para ello se estimará
una clasificación mediante el uso de un modelo Logit.

7.1 Riesgo de crédito


Es la posilibilidad que tienen las empresas financiera en incurrir en pérdidas. De una manera más
general sería el riesgo de que la contraparte de una transacción no cumpla de acuerdo a los términos
y condiciones del contrato, causando una pérdida para el beneficiario. Asimismo, los problemas de
calidad crediticia pueden causar que el capital de una institución financiera se reduzca de manera
importante e incluso que se vuelva insolvente.

7.2 Clasificación
Las siguientes categorías han sido obtenidas de la página de la Superintendencia de Banca, Seguros
y AFPs 1

• CATEGORÍA NORMAL
En este categoría el deudor es capaz de atender todos sus compromisos financieros debido
a que presenta una situación financiera líquida,bajo nivel de endeudamiento y cumple pun-
tualmente con el pago de sus obligaciones.
• CATEGORÍA CON PROBLEMAS POTENCIALES
El deudor en esta categoría presenta una situación financiera buena; sin embargo, pueden
presentarse situaciones que pueden tornarse problemáticas y afectar su capacidad de pago,
trayendo consigo atrasos ocasionales y reducidos en el pago de sus créditos que no exceden
los 60 días.
• CATEGORÍA DEFICIENTE
El deudor presenta una situación financiera débil y una liquidez que no le permite atender el
pago de la totalidad de sus compromisos financieros, permitiéndole solo cubrir los intereses
de su deuda. El deudor tiene atrasos mayores a sesenta días y menores a 120 días.
• CATEGORÍA DUDOSO
El deudor presenta las siguientes características:
a) Un flujo de caja manifiestamente insuficiente, no alcanzando a cubrir el pago de capital
ni de intereses; presenta una situación financiera crítica y muy alto nivel de endeudamiento
1 http://www.felaban.net/archivos _regulaciones/archivo20140717024426AM.pdf

12
patrimonial, y se encuentra obligado a vender activos de importancia para la actividad de-
sarrollada y que, materialmente, son de magnitud significativa con resultados negativos en el
negocio.
b) Atrasos mayores a ciento veinte (120) días y que no excedan de trescientos sesenta y cinco
(365) días.
• CATEGORÍA PÉRDIDA
Esto quiere decir que las deudas se consideran incobrables pese a que pueda existir un valor
de recuperación bajo en el futuro. El deudor ha suspendido sus pagos, siendo posible que
incumpla eventuales acuerdos de reestructuración. Además, se encuentra en estado de insol-
vencia decretada, ha pedido de su propia quiebra, presentando incumplimientos mayores a
365 días.

Figure 3: Clasificación de deudores

8 Estimación del modelo


8.1 Antecedentes
En el sistema financiero peruano, se puede observar las siguientes tendencias mostradas en los
gráficos.
Los préstamos crecieron a una tasa de 16.4 del año 2010 al 2015

Figure 4: Clasificación de deudores

Asimismo, el saldo promedio por deudor ha ascendido de 2 525 mil soles en el 2010 a 6 588 mil
soles en el 2014.

Figure 5: Deudores totales y deuda promedio

13
También, el número de clientes incorporados al sistema financiero mensualmente ha ido de 21
324 en el 2010 a 23 789 en el 2014.

Figure 6: Flujo promedio mensual de nuevos deudores

8.2 Variables
• Ingreso Neto
Es el ingreso total después de impuestos o cualquier otra deducción.
• Número Acreedores Cantidad de agentes superavitarios, son las personas a las que se les
rinde cuentas y fijan el plazo.
• Provisión
Es definida por la Ley General del Sistema Financiero como uno de los medios para atenuar
los riesgos del ahorrista (es decir, los riesgos de que al término del plazo convenido, no reciba
su capital más intereses).
• Nro tarjetas

• Deuda total al banco por tarjetas en moneda nacional (Bco DeuTrjMN)


• Bco DeuTrjME
Deuda adquirida con tarjeta hacia el banco en moneda extranjera.
• Deudas del sistema financiero de tarjetas en moneda nacional

• Sist DeuTrjME
Conjunto de deudas en el sistema financiero a través de tarjetas y que se encuentran en
moneda extranjera.
• Sist DeuTrj
Deudas totales en el sistema financiero a través de tarjetas.

• Sist DeuMN
Deudas hacia el sistema financiero percibida en moneda nacional.
• Sist DeuME
Deuda hacia el sistema financiero en moneda extranjera.

• Sist Deuda
Es la suma de los créditos directos, avales, cartas fianza, aceptaciones bancarias y cartas de
crédito que posee un deudor en el sistema financiero, sin incluir los créditos castigados.
• Cuota Total
• Cuota Potencial

• NivEndeudamiento
En el Sistema Financiero es el riesgo en el pago de las obligaciones de un deudor.
• NivEndeudamoientoPotenc
Créditos indirectos y otras obligaciones contraídas por los deudores producto de avales y
fianzas otorgados por ellos a terceros.

14
• CapEndeudamiento
Es el capital máximo por el que una persona se puede endeudar sin poner en peligro su
integridad financiera.
• Si cuenta con tarjeta o no donde:
0: sin tarjeta
1: con tarjeta
2: con tarjeta + otros

8.3 Aplicación en R

setwd ( " C : / Users / Claudia / Desktop / Universidad / 6 to ciclo / Econometria _ 2 / TEORIA /


Laboratorio " )

# Para la elaboracion del modelos necesitaremos instalar los dos


# siguientes paquetes lo haremos con install . packages y con " library "
llamamos al
# paquete para que que pueda ser usado
install . packages ( " aod " )
library ( " aod " )
install . packages ( " ggplot2 " )
library ( " ggplot2 " )

# Cargamos la data
data <- read . csv ( " PD _ ranking . csv " )

# Mostramos la data ( muestra ) con todas las observaciones


View ( data )

# Mostramos los primeros 6 datos de la muestra


head ( data )

Figure 7: Head

Ahora necesitamos una descripción básica de los datos, por ello utilizaremos:

summary ( data )

15
Figure 8: Summary

Mediante "sapply" obtendremos las desviaciones estándar de las variables de la muestra, me-
diante la siguiente estructura, si se quiere hallar otra función, solo tenemos que reemplazar "sd"
por la función requerida.

sapply ( data , sd )

Figure 9: Sapply

# # # # # # # ## ## ## # ## ## ## # ## #
# Elaboracion del modelo Logit
# # # # # # # # ## # # ## # # ## # # ## # # #

# Para estimar el modelo de regresion logistica utilizamos la


# funcion " glm " ( MODELO LINEAL GENERALIZADO )

# Para poder hacer la regresion es necesario volver la variable


# " PEA " en categorica , y lo haremos mediante la funcion " factor ".

16
class ( data $ PEA )
# #############
[1] " integer "
# #############

data $ PEA <- factor ( data $ PEA )


class ( data $ PEA )
# #############
[1] " factor "
# #############

# Utilizamos la funcion " glm " para realizar la regresion


# Nombraremos al modelo " logit01 "
logit01 <- glm ( RANK ~ Ingreso . Neto + Nro . Acreed + Provision + Nro . tarjetas
+ Bco . DeuTrjMN + Bco . DeuTrjME + Sist . DeuTrjMN + Sist . DeuTrjME +
Sist . DeuMN + Sist . DeuME + Cuota . Total + Cuota . Potencial + NivEndeudamiento
+ N i v E n d eu da mo i en to Po t en c + CapEndeudamiento + PEA , data = data , family = " binomial " )

# Para obtener los resultados de la regresion , utilizaremos


# el comando summary
summary ( logit01 )

Figure 10: Summary (logit01)

# Analizando la significancia del modelo vemos que muchas variables son


# insignificantes , por ellos pasamos a separarlos del modelos . Con esto
# llegamos al siguiente modelo .
logit02 <- glm ( RANK ~ Ingreso . Neto + Nro . Acreed + Provision + Bco . DeuTrjME + Sist
. DeuTrjMN + Sist . DeuTrjME +
Sist . DeuMN + Cuota . Total + Cuota . Potencial + N iv E nd eu da m oi en t oP ot en c , data =
data , family = " binomial " )
summary ( logit02 )

# Si queremos hallar los intervalos de confianza mediante los


# errores estandar , utilizaremos el comando " confint . default "

17
Figure 11: Significancia

confint . default ( logit02 )

Figure 12: Intervalos de Confianza

18

También podría gustarte