Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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)
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.
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
2
3.1 Heterocedasticidad producto de las exógenas
Sea el siguiente modelo econométrico:
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
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 )
anova ( modelo )
3
hist ( rstint )
boxplot ( rstint )
qqnorm ( rstint )
hccm ( modelo )
# EJEMPLO1
# LOGIT REGRESSION | R DATA ANALYSIS EXAMPLES3 #
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!
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.
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.
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 ) )
})
Figure 1: Aqui obtendremos cuales son los intervalos de confianza y tendencia para cada uno de
los ranks.
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í.
# EJEMPLO2
# MULTINOMIAL LOGISTIC REGRESSION | R DATA ANALYSIS EXAMPLES
Debido a que multinom no posee p-value aplicaremos una funcion que lo haga para saver si son
sigfnificativas
• 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.
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
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 ) )
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 " )
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".
# EJEMPLO2
# MULTINOMIAL LOGISTIC REGRESSION | R DATA ANALYSIS EXAMPLES
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.
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.
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.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.
Asimismo, el saldo promedio por deudor ha ascendido de 2 525 mil soles en el 2010 a 6 588 mil
soles en el 2014.
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.
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
• 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
# Cargamos la data
data <- read . csv ( " PD _ ranking . csv " )
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
# # # # # # # # ## # # ## # # ## # # ## # # #
16
class ( data $ PEA )
# #############
[1] " integer "
# #############
17
Figure 11: Significancia
18