miércoles, 27 de marzo de 2013

The Lending Club - Parte II

Para comenzar a trabajar con este ejemplo


En la primera parte de esta serie de entradas, se expuso la información de contexto sobre el problema del Lending Club. En la siguiente parte, se hará el ejercicio de construcción de modelos de regresión lineal.

La data con la que se trabajará para este ejemplo está disponible para su descarga desde este enlace. Una vez descargado ese archivo, colóquelo en su directorio de trabajo de R, que usualmente será "Mis Documentos" en el caso de Windows. Para trabajar con este ejemplo, también debe tener la librería "estUNA" en su directorio de trabajo (consulte esta en si tiene dudas sobre cómo descargar estUNA y colocarla en su directorio de trabajo).


Sobre la data del problema del "Lending Club"

El archivo identificado arriba "lending_club.Rda" contiene un data frame identificado como loandata.  A continuación se detallan las variables contenidas en loandata como columnas.

Identificador de variable Descripción
Ar (Amount Requested) Monto solicitador por el prestatario para financiamiento.
Af (Amount Funded) Monto financiado.
Ir (Interest Rate) Tasa de Interés del financiamiento. Esta es la variable dependiente.
Ld (Loan Duration) Variable categórica correspondiente a la duración del préstamo (36 o 60 meses).
Lp (Loan Purpose) Variable categórica correspondiente al propósito del préstamo.
DtIR (Debt-to-income Ratio) Coeficiente de deuda sobre ingresos.
St (State) Código de dos letras correspondiente al estado de residencia del prestatario.
Ho (Home ownership) Tipo de propiedad sobre la casa: "NONE" es ninguna casa, "MORTGAGE" indica hipoteca sobre la casa, "OWN" indica que la casa es propia y "RENT" indica que la casa es alquilada.
I (Income) Ingreso mensual.
Fi (FICO) Puntuación FICO del solicitante.
Ocl (Open Credit Lines) Cantidad de líneas de crédito abiertas del solicitante.
Rcb (Rotating credit balance) Balance rotativo de credito.
Inq (Inquiries) Número de veces que algún comercio ha solicitado un reporte crediticio certificado.
Ed (Employment duration) Tiempo en el actual empleo.

En todo informe de análisis de datos, es importante indicar el tamaño de la muestra empleada en el estudio.  El data frame loandata consta de 2492 observaciones (o renglones) y 14 variables (o columnas).

Análisis exploratorio de los datos


Antes de emprender el planteamiento de los modelos de regresión para inferir cuales variables, en definitiva, inciden sobre la fijación de la tasa de interés de un préstamo, es conveniente realizar un análisis exploratorio de los datos. En un análisis exploratorio se utilizan técnicas de la estadística descriptiva para "descubrir" el comportamiento de las variables, su variabilidad inherente y la variabilidad conjunta entre las mismas.El análisis exploratorio nos debe conducir a plantear uno o varios modelos de regresión viables y a entender cómo o donde estos pueden fallar.

A continuación damos el script en R que realiza los distintos pasos del análisis exploratorio. Si va a experimentar con este script en su computadora, recuerde que debe tener el archivo de la librería estUNA y el archivo de data lending_club.Rda en su directorio de trabajo. Seguidamente iremos interpretando los resultados.

load("estUNA")
load("lending_club.Rda")
attach(loandata)
options(width=60)
png("exploratorio%02d.png")
#Imprime un resúmen del data frame
summary(loandata)
#Matriz de correlación entre las variables cuantitativas
cor(loandata[,c("Ar","Af","Fi","I","Ocl","Rcb","Inq","Ir")])
#La primera gráfica es un histograma de Ir
graficar(Ir)
#A continuación unas graficas de dispersión
#Grafica la tasa de intereses (eje Y) versus:
graficar.dispersion(Ar,Ir,cex=0.2,pch=19)
#Monto solicitado
graficar.dispersion(Af,Ir,cex=0.2,pch=19)
#Monto financiado
graficar.dispersion(Fi,Ir,cex=0.2,pch=19)
#Puntuación FICO
graficar.dispersion(I,Ir,cex=0.2,pch=19)
#Ingreso mensual
graficar.dispersion(Ocl,Ir,cex=0.2,pch=19)
#Lin. credito abiertas
graficar.dispersion(DtIR,Ir,cex=0.2,pch=19)
#Deuda/Ingresos
graficar.dispersion(Rcb,Ir,cex=0.2,pch=19)
#Balance crédito rotativo
graficar.dispersion(Inq,Ir,cex=0.2,pch=19)
#Cantidad de indagaciones
#Diagramas de caja comparativos
#Grafica la relación entre la tasa de interés
#y las siguientes variables categóricas:
caja(Ir,Ho)   #Propiedad de la vivienda
caja(Ir,Ed)   #Tiempo en el empleo actual
caja(Ir,Ld)   #Plazo de financiamiento (36 o 60 meses)
#Para las siguientes dos variables, la visualización
#más adecuada es una tabla.
#Estudia la variabilidad de las tasas de interés según:
#1) El propósito del prestamo (Lp)
lp_mat <- t(sapply(levels(Lp),
            function(s)
               c(sum(Lp==s), median(Ir[Lp==s]),
                 wilcox.test(Ir~Lp==s)\(\$\)p.value)
              )
            )
colnames(lp_mat) <- c("frec","mediana","p_valor")
lp_mat <- as.data.frame(lp_mat)
lp_mat <- lp_mat[order(lp_mat\(\$\)frec,decreasing=TRUE),]
lp_mat
#2) El estado de residencia del prestatario:
st_mat <- t(sapply(levels(St),
            function(s)
               c(sum(St==s), median(Ir[St==s]),
                 wilcox.test(Ir~St==s)\(\$\)p.value)
              )
            )
colnames(st_mat) <- c("frec","mediana","p_valor")
st_mat <- as.data.frame(st_mat)
st_mat <- st_mat[order(st_mat\(\$\)frec,decreasing=TRUE),]
st_mat
Como primer paso del análisis exploratorio, se genera un resumen con las principales estadísticas del data frame. Esto lo hace la instrucción summary(loandata), tras lo cual se imprime lo siguiente:
       Ar              Af              Ir          Ld      
 Min.   : 1000   Min.   :  200   Min.   :0.0542   36:1944  
 1st Qu.: 6000   1st Qu.: 6000   1st Qu.:0.1016   60: 548  
 Median :10000   Median :10000   Median :0.1311            
 Mean   :12431   Mean   :12038   Mean   :0.1308            
 3rd Qu.:17000   3rd Qu.:16000   3rd Qu.:0.1580            
 Max.   :35000   Max.   :35000   Max.   :0.2489            
                                                           
                  Lp            DtIR              St      
 debt_consolidation:1306   Min.   :0.0000   CA     : 432  
 credit_card       : 442   1st Qu.:0.0975   NY     : 253  
 other             : 197   Median :0.1533   TX     : 174  
 home_improvement  : 152   Mean   :0.1540   FL     : 169  
 major_purchase    : 101   3rd Qu.:0.2068   IL     : 101  
 small_business    :  87   Max.   :0.3491   GA     :  97  
 (Other)           : 207                    (Other):1266  
        Ho             I                  Fi       
 MORTGAGE:1146   Min.   :   588.5   Min.   :642.5  
 NONE    :   0   1st Qu.:  3500.0   1st Qu.:682.5  
 OTHER   :   5   Median :  5000.0   Median :702.5  
 OWN     : 200   Mean   :  5687.6   Mean   :708.4  
 RENT    :1141   3rd Qu.:  6800.0   3rd Qu.:727.5  
                 Max.   :102750.0   Max.   :832.5  
                                                   
      Ocl             Rcb              Inq        
 Min.   : 2.00   Min.   :     0   Min.   :0.0000  
 1st Qu.: 7.00   1st Qu.:  5612   1st Qu.:0.0000  
 Median : 9.00   Median : 10978   Median :0.0000  
 Mean   :10.07   Mean   : 15263   Mean   :0.9013  
 3rd Qu.:13.00   3rd Qu.: 18900   3rd Qu.:1.0000  
 Max.   :38.00   Max.   :270800   Max.   :9.0000  
                                                  
       Ed     
 10+    :653  
 < 1    :247  
 2      :244  
 3      :234  
 5      :201  
 4      :192  
 (Other):721

Para las variables cuantitativas, la instrucción summary(...) devuelve una tabla con las principales medidas de posición (mínimo, 1er cuartíl, mediana y media, 3er cuartíl, máximo). Para las variables categóricas (o variables tipo "factor", como se les conoce en R), summary(...) devuelve una tabla de frecuencias para algunos niveles de la variable (los más frecuentes). Estos resultados permiten apreciar rápidamente cuál rango de valores asume cada variable.  Por ejemplo, podemos observar que la distribución de la variable Ar, en términos de los estadísticos de posición más importantes, es bastante similar a la de la variable Af. Esto tiene bastante sentido, pues esperaríamos que el monto solicitado y el monto financiado sean muy parecidos, una vez aprobado el préstamo.  Nótese el uso de la instrucción attach(...) al principio del script para referirse fácilmente a las variables de loandata en lo sucesivo.

Otra tabla bastante útil en un análisis exploratorio es la tabla de las correlaciones entre las variables.  Esto por cierto sería muy útil para estudiar la colinealidad o multicolinealidad de las variables, según se exige para el trabajo de este semestre.  La instrucción cor(...) en R genera una matriz cuadrada de correlaciones entre todas las variables.  Como cada variable está perfectamente correlacionada consigo misma, los elementos de la diagonal son todos "1".  De hecho,  una correlación de "1" o "-1" indica una colinealidad perfecta entre dos variables.  Puede consultar más sobre esto en el artículo de wikipedia sobre correlación lineal.  La matriz de correlación sólo tiene sentido para variables cuantitativas del data frame, lo cual en este caso se determina por medio de la instrucción cor(loandata[,c("Ar","Af","Fi","I","Ocl","Rcb","Inq","Ir")]) :

              Ar          Af           Fi           I
Ar    1.00000000  0.97022602  0.083040383  0.39109060
Af    0.97022602  1.00000000  0.073791988  0.37468574
Fi    0.08304038  0.07379199  1.000000000  0.12355539
I     0.39109060  0.37468574  0.123555388  1.00000000
Ocl   0.19680145  0.18779714 -0.090039520  0.17180076
Rcb   0.29277055  0.26116166  0.003217914  0.35936379
Inq  -0.02721561 -0.06224654 -0.092828774  0.03398569
Ir    0.33141077  0.33627376 -0.709911785  0.01231114
DtIR  0.07985656  0.09177385 -0.217596139 -0.16376264
             Ocl         Rcb         Inq          Ir
Ar    0.19680145 0.292770550 -0.02721561  0.33141077
Af    0.18779714 0.261161657 -0.06224654  0.33627376
Fi   -0.09003952 0.003217914 -0.09282877 -0.70991178
I     0.17180076 0.359363787  0.03398569  0.01231114
Ocl   1.00000000 0.290582979  0.10790657  0.09109025
Rcb   0.29058298 1.000000000  0.01285580  0.06042262
Inq   0.10790657 0.012855801  1.00000000  0.16846322
Ir    0.09109025 0.060422621  0.16846322  1.00000000
DtIR  0.37172725 0.188286897  0.01126195  0.17143913
            DtIR
Ar    0.07985656
Af    0.09177385
Fi   -0.21759614
I    -0.16376264
Ocl   0.37172725
Rcb   0.18828690
Inq   0.01126195
Ir    0.17143913
DtIR  1.00000000

Por razones tipográficas de espacio, la matriz de correlación de arriba se dividió en tres segmentos: el primero con las primeras cuatro columnas de la matriz, el segundo en el renglón de abajo con las siguientes cuatro columnas de la matriz y la última columna de la matriz en el tercer renglón. Nótese que la correlación de cada variable consigo misma es "1". También se puede observar que las variables Ar y Af están muy correlacionadas (correlación mayor a 97%). Esto implica que incluir ambas variables en un mismo modelo de regresión lineal puede generar un problema de colinealidad o multicolinealidad (para más detalles, puede consultar la sección 14.4 del libro "Probabilidad y Estadística" de G. Canavos). Ya se había comentado anteriormente sobre la relación (semántica) entre ambas variables- en lo sucesivo consideraremos solamente a la variable Ar, porque el monto solicitado del financiamiento es la información previa necesaria para decidir el monto a financiar y la tasa de interés del crédito.  También podemos notar que la puntuación FICO (Fi) y la tasa de interés (Ir) tienen bastante correlación (-0.71).  Esto indica que la variable Fi es una buena candidata para incluirse en un modelo de regresión lineal con la tasa de interés como variable dependiente.  Además, el signo negativo de la correlación indica que el coeficiente de regresión para la variable Fi en el modelo lineal también debería ser negativo.

La puntuación FICO del solicitante está muy correlacionada con la tasa de interés del préstamo. Pero a su vez, como vimos en la primera parte de esta serie (The Lending Club - Parte I), muchas de las variables en este data frame son tomadas en cuenta para el cálculo de la calificación FICO. Entonces, por una parte esperaríamos cierta correlación entre esas variables y la calificación FICO. Si esas variables se incluyen en el modelo lineal, pudiésemos estar ante un problema de variables de confusión (confounder variables).  Las variables de confusión son aquellas que están correlacionadas con la variable dependiente y con alguna o algunas de las otras variables independientes del modelo. El problema que generan las variables de confusión es que a veces, sus efectos sobre la variable dependiente pueden ser exagerados. También puede ocurrir lo que se llama un efecto supresor. Puede consultar más sobre estos temas en este blog. Por nuestra parte, algunos de estos conceptos saldrán a relucir a medida que iremos ensayando distintos modelos de regresión lineal.

A continuación podemos observar algunas gráficas. La primera (Fig. 1) es un histograma de las tasas de interés:

Fig. 1 - Histograma de las tasas de interés
Esta variable tiene una distribución casi acampanada ... ¡Un momento! ¿Qué es ese segundo pico que se observa a la izquierda, en el intervalo [0,06 - 0,08)? Bueno, una variable así difícilmente sea normalmente distribuida, lo cual no es un problema en sí. Sin embargo, llama la atención que exista un grupo tan significativo de prestamos con tasas de interés en ese rango.  Quizás, alguna de las variables independientes pueda explicar ese comportamiento...

Seguimos con la parte más ilustrativa de nuestro análisis exploratorio, que son las gráficas de dispersión entre la tasa de interés y las otras variables cuantitativas (Fig. 2):


Fig. 2 - Gráficas de dispersión de las variables independientes cuantitativas respecto a la variable dependiente Ir.

(a) Ar / Ir
 (b) Fi / Ir
(c) I / Ir
(d) Ocl / Ir
(e) DtIR / Ir
(f) Rcb / Ir
(g) Inq/ Ir

Los diagramas de dispersión de la Figura 2 confirman que, entre todas las variables independientes, la calificación FICO (Fi) es la más fuertemente asociada a la tasa de interés (Ir). Esto era de esperarse, pero el diagrama de dispersión de la Figura 2.b. revela más detalles sobre esta asociación: la curva lowess (la línea verde oscura) tiene la misma pendiente hasta una puntuación FICO de 750 (aproximadamente, o a pepa de ojo). A partir de 750 puntos en la calificación FICO, la pendiente de la curva lowess se hace más horizontal.  Esto implica que a mayor puntuación FICO, menor tasa de interés del préstamo, pero a partir de 750 puntos FICO, la diferencia no es tan grande.  Dado la magnitud de la asociación entre estas dos variables, la recta lineal quizás no sea el tipo de asociación más idónea entre estas variables.

Otro patron marcado según la curva lowess se puede observar (ver Figura 2.a) en la asociación del monto solicitado para el financiamiento (Ar) y la tasa de interés (Ir), aunque esta asociación no es tan marcada como la asociación Fi-Ir, cuyos puntos en el diagrama de dispersión son menos dispersos respecto a la curva lowess. También se observa una relación creciente entre la cantidad de líneas de crédito abiertas y la tasa de interés (Figura 2.d).   Esta asociación podría no ser no-lineal, dado la convexidad de la curva lowess que se observa en la gráfica.

La variable DtIr (relación Deuda-Ingresos) también tiene una asociación creciente con la tasa de interés (ver Figura 2.e). Sin embargo, dada la baja correlación entre estas variables (de apenas 0.17 según la matriz de correlación de arriba) y el alto grado de dispersión de los puntos, es posible que esta variable no sea significativa en un modelo de regresión.  La Figura 2.g revela un patrón interesante: para 0 indagaciones (solicitudes de reportes de historial crediticio), las tasas de interés son más bajas.  Para 1 o más indagaciones, las tasas de interés no difieren significativamente.  Esto indica que posiblemente sea conveniente transformar la variable Inq a una variable indicadora según sea Inq=0 o no.

Las otras dos variables, ingresos mensuales (I) y balance rotativo de crédito (Rcb) contienen muchos datos atípicos hacia el extremo derecho para ser útiles.  Estos datos atípicos (en forma de ingresos mensuales astronomicamente altos por ejemplo) podrían afectar la regresión en formas no deseadas, por lo cual su inclusión en un modelo de regresión quizás no sea una buena idea.

Para explorar la asociación entre la tasa de interés y otras variables categóricas, lo más conveniente es usar diagramas de caja comparativos. Así se hizo para las variables Ho, Ed y Ld, como se muestra en la Figura 3:

(a) Ir ~ Ho
(b) Ir ~ Ed
(c) Ir ~ Ld

Las primeras dos gráficas de caja (Figuras 3.a y 3.b) no revelan asociaciones significativas entre la tasa de interés y las respectivas variables. En contraste, La Figura 3.c indica que si hay una relación significativa entre la tasa de interés y la duración del préstamo: los prestamos de 36 meses tienen tasas de interés signficativamente más bajas.

Para las otras dos variables cualitativas - el estado de residencia (St) y el propósito del préstamo (Lp) - no se hicieron diagramas de caja comparativos porque estas variables tienen demasiados niveles (46 estados y 14 propósitos de préstamo diferentes).  Para cada una de estas variables, se optó por generar tablas indicando la frecuencia de cada nivel, la tasa de interés mediana y el p-valor del contraste Wilcoxon de diferencia entre medianas (consultar el artículo en Wikipedia). La idea es verificar si para algún nivel determinado de estas variables, las tasas de interés difieren significativamente de aquellas asociadas a los otros niveles. Para la variable estado (St):

   frec mediana    p_valor
CA  432 0.13110 0.69246237
NY  253 0.13110 0.82515314
TX  174 0.13110 0.30747046
FL  169 0.13110 0.88525055
IL  101 0.12530 0.22145716
GA   97 0.12180 0.27619025
PA   96 0.13045 0.23581778
NJ   92 0.12120 0.38675613
VA   78 0.12550 0.78497883
MA   73 0.12120 0.38183801
OH   71 0.12230 0.10542538
MD   68 0.13790 0.62463807
NC   64 0.12405 0.34075690
CO   61 0.13110 0.92712927
WA   58 0.13110 0.89902872
CT   50 0.13140 0.29789052
AZ   46 0.13110 0.86390489
MI   45 0.14090 0.01538049
MN   38 0.13545 0.34930242
:     :     :        :
:     :     :        :
Esta tabla (dada aquí de forma parcial) enumera los 46 estados en orden descendente por frecuencia de observaciones. Podemos observar que para el estado MI (Michigan), la tasa de interés mediana es significativamente distinta de la de los otros estados (con un p-valor de 1% en el contraste de Wilcoxon). Esto implica que los prestamos de los solicitantes de ese estado tienen una tasa de interés más alta, por alguna razón. Sin embargo, como solo 45 de las 2492 observaciones son de ese estado, incluir la variable St en un modelo de regresión lineal solamente para ajustar mejor a un grupo que representa menos del 2% de las observaciones sería un despropósito. Seguidamente tenemos una tabla similar para el propósito del prestamo: 

                   frec mediana      p_valor
debt_consolidation 1306 0.13490 6.704956e-11
credit_card         442 0.13110 9.769974e-01
other               197 0.13060 6.911076e-01
home_improvement    152 0.11130 2.162582e-06
major_purchase      101 0.11120 2.559098e-08
small_business       87 0.12840 6.169896e-01
car                  50 0.10475 9.231269e-04
wedding              39 0.12210 2.223396e-01
medical              30 0.13110 8.066417e-02
moving               29 0.13110 6.110691e-01
vacation             21 0.12120 3.160609e-01
house                20 0.13085 8.177116e-01
educational          14 0.09755 4.628680e-02
renewable_energy      4 0.09130 1.336665e-01
Para esta variable, si se observa un subgrupo grande (con 1306 observaciones), cuya tasa de interés difiere significativamente de la de otros grupos (p-valor casi nulo).  Este grupo es el grupo de prestatarios que solicitaron un préstamo para consolidación de deudas (debt consolidation). Existen otros grupos con tasas de interés significativamente distintas, pero son muy pequeños en relación con el número total de observaciones. Por cierto, la tasa de interés mediana de los prestamos solicitados para consolidación de deudas (13,49%) es mayor a la tasa de interés mediana general (13,11%). De esto se deduce que sería conveniente incluir una variable indicadora en el modelo de regresión según sea el propósito del préstamo la consolidación de deudas o no.


Análisis exploratorio de datos - algunas conclusiones

Tras realizar el ejercicio anterior, podemos concluir sobre la importancia de explorar los datos antes de construir los modelos de regresión. Las observaciones realizadas tras este estudio exploratorio se pueden aunar al conocimiento o a las ideas previas que tenemos sobre la temática que estamos estudiando (en este caso, los prestamos personales en EEUU). Esto ayudará a plantear posibles hipótesis sobre las relaciones de las variables en forma de modelos de regresión lineal. Es importante destacar que un análisis exploratorio no es inferencial. Todo lo que observamos hasta este punto queda en forma de conjetura y no es generalizable a la población. Cuando, tras realizar el ajuste por mínimos cuadrados de un modelo de regresión lineal, tenemos los p-valores de la prueba F, los estadísticos T-Student de significatividad de los coeficientes poblacionales y cuando finalmente realicemos un análisis de residuos para validar el modelo, si tendremos los elementos estadísticos requeridos para un estudio inferencial. El análisis exploratorio sirve para guiar al análisis de regresión, el cual haremos en la tercera y última parte de estas entradas del blog...

Como citar esta entrada

Romero, J. (Marzo, 2013). The Lending Club - parte II. [Entrada de blog]. Recuperado desde https://unamatematicaseltigre.blogspot.com/2013/03/the-lending-club-parte-ii.html.


Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

martes, 26 de marzo de 2013

The Lending Club - parte I

El Lending Club es un portal de internet que reúne a inversionistas y prestatarios. Según la información en su portal (http://www.lendingclub.com), los inversionistas obtienen mayores márgenes de rentabilidad que los que obtendrían a través de otros instrumentos de inversión más tradicionales, mientras que los prestatarios, que pueden obtener créditos personales de hasta $35000, terminan pagando tasas de intereses un poco más bajas que las de la banca convencional. Para optar a un crédito, los prestatarios deben reunir ciertos requisitos: una puntuación crediticia mínima de 660 puntos FICO, un coeficiente de deuda a ingresos máximo de 35%, por lo menos dos líneas crediticias activas, entre otros. La información de cada solicitud de crédito se evalúa y se "publica" el préstamo en el portal a determinada tasa de interés fijo y a un plazo determinado para captar inversionistas. Y por supuesto, el Lending Club cobra una comisión en intereses por cada préstamo tramitado.

Es menester explicar algunos términos que se emplean en el contexto crediticio estadounidense, como por ejemplo la puntuación FICO. Básicamente, la puntuación FICO representa la calificación crediticia de un individuo. Es un número en el rango de 300 a 850, donde los valores más altos representan mejores historiales crediticios. La puntuación FICO influye de manera determinante sobre la decisión de otorgar o negar préstamos y sobre las tasas de interés de esos prestamos. Puede leer más sobre esto en ¿Qué es el puntaje de crédito FICO?. Otro factor que influye sobre el otorgamiento de créditos son los denominados inquiries o indagaciones, que son la cantidad de veces que algún comercio ha solicitado una copia certificada del reporte crediticio de un individuo que es emitido por alguna de las tres agencias que otorgan la calificación FICO en Estados Unidos. Por último, es preciso destacar que los créditos del Lending Club se otorgan sin garantía hipotecaria.

Desde la página web del Lending Club se puede descargar la data referente a miles de solicitudes de crédito que se han tramitado por este portal. Cada solicitud contiene data sobre el historial crediticio del solicitante, alguna data personal y financiera (como por ejemplo los ingresos mensuales, tiempo en el empleo actual, etc.), el monto solicitado y el propósito del préstamo y finalmente, la tasa de interés fija del crédito aprobado.

Supongamos ahora que Ud. está creando un portal similar al Lending Club y desea saber lo siguiente:

¿Cuales son los mecanismos que usa el Lending Club para fijar las tasas de interés de un crédito? ¿Cuales otros factores, aparte de la calificación FICO, influyen sobre este cálculo y cómo?

El problema anterior fue planteado como trabajo práctico para un curso on-line que acabo de culminar, llamado "Data Analysis", facilitado por el Profesor Jeff Leek de la Universidad John Hopkins-Bloomberg. Originalmente, para esta asignación había que aplicar un proceso preparatorio de la data (conocido como data munging) para poder tener una data con la cual se pueda trabajar. En la vida real, es necesario preparar los datos antes de poderlos procesar en R o cualquier aplicación estadística, pues los datos en su forma original (en una página web o un informe en pdf) muchas veces no están aptos para ser procesados estadísticamente. En esta oportunidad, yo les facilitaré los datos en una forma directamente utilizable en R (como un archivo con extensión .Rda), pues mi intención en esta serie de entradas sobre el problema del Lending Club es ilustrar cómo

  • Realizar un análisis exploratorio de datos para descubrir las posibles asociaciones entre las variables. Esto se hará en la segunda parte de esta entrada
  • Construir algunos modelos de regresión lineal, evaluarlos y compararlos entre sí.
  • Detectar algunos problemas que surgen en la regresión lineal: variables de confusión, multicolinealidad, asociaciones no lineales entre las variables, heteroscedasticidad de los residuos, entre otros. Estos dos últimos se abordarán en la tercera y última parte de esta serie de entradas.

Espero que esta serie de entradas les sea de utilidad a los cursantes de las asignaturas 746, 738 y 748, quienes deben realizar un trabajo práctico sobre regresión lineal. En las próximas entradas desarrollaré los puntos mencionados arriba. Utilizaré para ello el lenguaje R y como de costumbre, podrán ver las instrucciones en R utilizadas y la interpretación de los resultados que estas arrojan y de esta forma reproducir los análisis que se harán.


Como citar esta entrada

Romero, J. (Marzo, 2013). The Lending Club - parte I. [Entrada de blog]. Recuperado desde http://unamatematicaseltigre.blogspot.com/2013/03/the-lending-club-parte-i.html.


Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

jueves, 21 de marzo de 2013

Teoría de Conjuntos - Parte II

Habiendo definido los conceptos de membresía, igualdad entre conjuntos e inclusión, podemos definir algunas operaciones importantes entre conjuntos, como la unión y la intersección:

Definición – (Unión)
Sea \(A\) y \(B\) dos conjuntos.  La unión de \(A\) y \(B\) es el conjunto que contiene elementos de \(A\) o de \(B\):
\[ A \cup B = \{x \in \Omega | x\in A\quad o\quad x\in B\} \]
Definición – (Intersección)
Sea \(A\) y \(B\) dos conjuntos. La intersección de \(A\) y \(B\) es el conjunto que contiene elementos pertenecientes a \(A\) y a \(B\), simultáneamente:
\[ A \cap B = \{x\in \Omega| x\in A\quad y\quad x\in B\}\]
Es importante resaltar que la unión y la intersección de conjuntos son operaciones binarias: uno toma dos conjuntos, los une o los interfecta, y el resultado es un tercer conjunto. El concepto de operación binaria no debería serle extraño- la suma y la multiplicación que usted conoce desde la primaria son operaciones binarias. Como ocurre con la suma y la multiplicación, para las cuales sabemos que existen dos elementos especiales que son los elementos neutros respecto a estas dos operaciones (el 0 y el 1), la unión y la intersección tienen cada una su respectivo elemento neutro.En efecto, para cualquier subconjunto \(X\) del conjunto universal \(\Omega\), se tiene:

\[X \cap \Omega = X \qquad y \qquad X\cup\emptyset=X\]
Por otro lado, también se cumple que para cualquier conjunto \(X\) (subconjunto del conjunto universal):
\[X \cap \emptyset = \emptyset\qquad y \qquad X\cup\Omega =X \]
Existe otra operación binaria importante sobre conjuntos que es la diferencia:

Definición – (Diferencia)

Sea \(A\) y \(B\) dos conjuntos. La diferencia de \(A\) y \(B\) es el conjunto de aquellos elementos que pertenecen a \(A\) pero no pertenecen a \(B\):

\[A - B = \{x\in\Omega|x\in A\quad y\quad x\notin B\}\]

Cuando tomamos la diferencia de el conjunto universal \(\Omega\) respecto a un conjunto \(X\subset\Omega\) cualquiera, definimos una operación unaria (de un solo argumento) llamada complemento:

Definición - (Complemento)
Sea \(X\subset\Omega\) un subconjunto cualquiera del conjunto universal. El complemento de \(X\) se denota por \(\overline{X}\) y se define como:
\[\overline{X}=\Omega-X=\{x\in\Omega|x\notin\Omega\}\]
En palabras- el complemento de un conjunto es el conjunto de todos aquellos elementos que no pertenecen a él.

Otro concepto importante de la teoría de conjuntos es el concepto de función de conjunto. Una función de conjunto es una función cuyo argumento (variable de entrada) es un conjunto.  Las funciones de conjuntos generalmente asocian conjuntos con números reales. Por ejemplo, una función de conjunto importante es la función cardinalidad, que se denota por \(|\,\cdot\,|\). Cuando trabajamos con conjuntos finitos, la cardinalidad de un conjunto es simplemente la cantidad de elementos que contiene ese conjunto. Por ejemplo:

  • \(A=\{a,b,c\}\) y \(|A|=3\)
  • \(B=\{-1,0,1,-19,23\}\) y \(|B|=5\)
  • \(C=\{x\in\mathbb{R}|x^2+2x+1=0\}\) y \(|C|=1\)
  • \(D=\{x\in \text{mamíferos}| \text{x no tiene sangre}\}\) y \(|D|=0\)
Otra función de conjuntos importante es la función de probabilidad. De hecho, la teoría de la probabilidad define los eventos como subconjuntos del espacio muestral (este último equivale al conjunto universal). Para cualquier evento, su probabilidad asociada es un número real entre 0 y 1, es decir, en el intervalo [0,1].


Cómo trabajar con conjuntos en lenguaje R

La instalación base de R no define un tipo de datos (o clase de objetos) para los conjuntos. Sin embargo, existen funciones en R que realizan operaciones de unión, intersección, diferencia de conjuntos y verificación de membresía para vectores. Si desea experimentar con las herramientas que se dan a continuación, recuerde que puede usar R a través de un RWeb server (en una página web), como los que se dan en los enlaces a continuación:


Las funciones de conjunto en R son union, intersect, setdiff, setequal, is.element:
  • union(x,y) da como resultado un vector que representa la unión de dos conjuntos dados como vectores (x e y).
  • intersect(x,y) da como resultado un vector que representa la intersección de dos conjuntos dados como vectores (x e y).
  • setdiff(x,y) es la diferencia entre dos conjuntos, representada matemáticamente por \(X-Y\).
  • setequal(x,y) verifica si dos conjuntos (representados por los vectores x e y), son iguales.
  • is.element(x,y) es equivalente a x%in%y, y verifica si el elemento x pertenece al conjunto y.
A continuación damos unos ejemplos en código (que usted puede copiar y pegar en la consola o en la ventana de código del RWeb server), donde las variables A y B representarán conjuntos de personas:
A <- c("jose","isabela","jose","pedro",
       "juan","susana","maria")
B <- c("maria","miguel","ruth","pedro","gloria")
"pedro"%in%A
"ruth"%in%A
union(A,B)
intersect(A,B)
setdiff(B,A)
Después de ingresar el script anterior en la cónsola o en la ventana de código del RWeb server, observe los resultados de las últimas 4 instrucciones. "pedro"%in%A verifica si "pedro" pertenece al conjunto A. Como en efecto "pedro" pertenece al conjunto A, esta instrucción devuelve TRUE (verdadero). De manera análoga, "ruth"%in%A devuelve FALSE (falso), porque "ruth" no pertenece al conjunto A.

Observe que algunas de las representaciones vectoriales de los conjuntos A y B incluyen a un mismo elemento más de una vez en el conjunto respectivo.  Tal es el caso de "jose" en el vector que define al conjunto A (aparece dos veces).  Matemáticamente, figurar varias veces en un conjunto equivale a figurar en ese conjunto, pues un elemento cualquiera, o está o no está en un conjunto.  De alguna manera, el interprete R (o mejor dicho, la implementación de las funciones de conjunto en R) distinguen estas situaciones.  Así por ejemplo, cuando realizamos la operación de unión de los conjuntos A y B, esta devuelve lo siguiente:
[1] "jose"    "isabela" "pedro"   "juan"    "susana"
[6] "maria"   "miguel"  "ruth"    "gloria"
En el resultado anterior, puede observar que tras unir los conjuntos A y B, cada persona se denota una sola vez. La operación de intersección devuelve el conjunto conformado por todos aquellos elementos comunes a A y a B, de modo que el resultado de la instrucción intersect(A,B) es:
[1] "pedro" "maria"
De forma análoga, la diferencia \(B-A\), que es el conjunto de todos los elementos de B que no están en A, es el resultado de la instrucción setdiff(B,A):
[1] "miguel" "ruth"   "gloria"

Referencias Bibliográficas

  • LIPSCHUTZ, S. (1991). Teoría de Conjuntos y Temas Afínes. Serie Schaum. McGraw-Hill. Caracas.
  • MONAGAS, O., ORELLANA, M. y RIVAS, A. (1994). Algebra I – Tomo I. Caracas: Universidad Nacional Abierta.
  • PREPARATA, F. y YEH, R. (1973). Introduction to Discrete Structures. Reading, Massachussets: Addison-Wesley Publishing Co.
  • R Development Core Team (2008). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0.

Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

martes, 19 de marzo de 2013

Observaciones sobre el trabajo de estadística (regresión lineal) del semestre 2013-1

He visto que algunos tienen dudas respecto al trabajo de estadística para este semestre, en particular lo referente a la regresión lineal, que forma parte de los objetivos a evaluar para las asignaturas 745, 738 y 748.

Primero, debo aclarar, una vez más, lo siguiente:
NO ES OBLIGATORIO EL USO DE R PARA LA REALIZACIÓN DE ESTE TRABAJO.  POR RAZONES HARTO EXPLICADAS EN ESTA PÁGINA, YO RECOMIENDO EL USO DE R, PERO EL ESTUDIANTE PUEDE OPTAR POR USAR EXCEL, SAS, SPSS, MINITAB O CUALQUIER APLICACION ESTADÍSTICA (Excel es un programa de hoja de cálculo, no una aplicación para la estadística). LO QUE SE REQUIERE ES REALIZAR LAS ACTIVIDADES QUE SE PIDEN EN EL ENUNCIADO CORRECTAMENTE.
Al momento de elegir la aplicación con la cual trabajarán, deben preguntarse: ¿Qué es lo que se requiere que el estudiante realice correctamente?  Se copia la parte del enunciado detallando las actividades a realizar:

6.1. Obtener los siguientes modelos de regresión lineal múltiple,
        Modelo 1: Y = b0 + b1 X1 + b2 X2 + b3 X3 + b4 X4 + b6 X6 +b7 X7 + b8 X8 + b9 X9
        Modelo 2: Y = b1 X1 + b2 X2 + b3 X3 + b4 X4 + b6 X6 + b7 X7 + b8 X8 + b9 X9
6.2. Explicar cual de los modelos anteriores consideraría para realizar el estudio.
6.3. Estudiar la posibilidad de colinealidad o multicolinealidad en el modelo
        considerado en la pregunta anterior. Si existe, corregir este problema y obtener el
        nuevo modelo.
6.4. Partiendo del modelo obtenido en la pregunta 6.3, explicar todos los resultados
        arrojados por el programa (coeficientes y estadísticos).
6.5. Utilizar el procedimiento de regresión paso a paso (eliminación hacia atrás) para
        encontrar el modelo que mejor se ajusta. Interprete los coeficientes de este último
        modelo.
6.6. Considere una nueva variable,
        X11=(X3+X4)/2.
        Construir el siguiente modelo,
        Y = b1 X1 + b2 X2 + b7 X7 + b8 X8 + b9 X9 + b11 X11
        Realizar el procedimiento indicado en 6.5.
6.7. Explicar cual de los modelos obtenidos en 6.5 y 6.6 representa “mejor” la situación
         bajo estudio.
6.8. Realizar un análisis de residuos para los modelos obtenidos en los puntos 6.5
        y 6.6.
6.9. Explicar los fundamentos teóricos que justifican o no, todos los pasos seguidos
        desde el ítem 6.1. hasta el ítem 6.8.

Antes de elaborar el trabajo, asegúrese de manejar los fundamentos de la técnica de regresión lineal.  ¿Sabe usted qué es la regresión lineal y qué es un modelo de regresión lineal? ¿Sabe en qué consiste un análisis de residuos y cuál es la importancia de realizarlo? ¿Sabe en que consiste el procedimiento de regresión paso a paso (eliminación hacia atrás)? ¿Sabe cómo determinar la colinealidad entre dos variables? ¿Entre múltiples variables? ¿Sabe porqué es problemático  trabajar con variables predictoras que sean colineales entre sí? ¿Sabe cómo evaluar o comparar modelos y cómo esto va más allá de comparar sus coeficiente de determinación? ¿Sabe cómo interpretar un modelo de regresión lineal y determinar cuales variables predictoras son significativas? ¿Sabía que las variables categóricas no se pueden utilizar directamente como variables cuantitativas sin antes transformarlas en variables indicadoras?

He puesto a su alcance ciertos recursos que serán de utilidad.  En la parte inferior de la página http://unamatematicaseltigre.blogspot.com/p/estadistica-aplicada.html podrán ubicar la bibliografía más relevante.  Los capítulos 13 y 14 del Canavos tratan en detalle el tema de la regresión lineal, incluyendo información detallada sobre el problema de la multicolinealidad, las variables indicadoras y el análisis de residuos.  El Webster no es tan extenso, pero lo menciono porque es el texto principal de la asignatura.  Además de esto, he escrito una monografía sobre el análisis de residuos cuya lectura recomiendo.

Me he dedicado laboriosamente a poner a su alcance varias herramientas computacionales y guias tutoriales sobre su uso.   Consideren estos recursos cómo herramientas- su buen uso depende del criterio de ustedes y de lo que desean realizar.  Si optan por usar R y la librería estUNA que he creado para tal fin, estudien detenidamente los siguientes recursos:


Si optan por usar R con mi librería y presentan problemas con su descarga o uso, deben describir detalladamente el error que presentan.  Si sólo me indican que "no logran usar el R", o "me sale un error", sin indicar la secuencia de comandos que están intentando ejecutar, cuál es la salida del interprete y el aviso de error, cuál plataforma/sistema operativo o versión de R están usando, no les puedo ser de mucha ayuda.  Tampoco haré el trabajo por ustedes.


Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

miércoles, 13 de marzo de 2013

Trabajos de estadística para el semestre 2013-1

Ya están disponibles los enunciados para los trabajos prácticos de estadística del semestre 2013-1, elaborados por Nivel Central.  Los enlaces se dan a continuación (según http://areamatematicas.galeon.com/):

Sobre las fechas de entrega, se ha escrito en los enunciados lo siguiente:

La evaluación del trabajo comprende dos entregas obligatorias:
  • 1era Entrega: primera versión del informe final entre el 15/04/2013 y el 20/04/2013, en esta oportunidad el trabajo será revisado por el asesor y el participante debe registrar las observaciones pertinentes a fin de realizar las correcciones, pues el trabajo lo retiene el asesor hasta la entrega final con el objeto de verificar que las correcciones fueron realizadas.
  • 2da Entrega: Versión final del trabajo entre el 20/05/2013 y el 25/05/2013
    improrrogable. De no respetar las dos entregas en los lapsos correspondientes queda a discreción del asesor considerar reprobado el trabajo.

Cómo de costumbre, las entregas se pueden hacer enviando a mi correo el informe en Open Office, PDF o Word (ojo, versión 2003, no enviar en versión 2007 o posterior).

Les recomiendo (aunque no es obligatorio) el uso de R para la elaboración de este trabajo.  La data para este semestre ya está incorporada en mi librería estUNA.

Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

lunes, 25 de febrero de 2013

Teoria de Conjuntos - Parte I

Cuando era estudiante en la U.N.A., el material instruccional de Matemáticas I era de un solo tomo grande, en vez de los cuatro tomos que lo componen actualmente.  Dentro de ese único tomo, había una unidad - la Unidad 0 - que, como no era evaluable según el plan de evaluación, casi nadie la estudiaba.  Eventualmente llegue a la conclusión que el estudio de esta Unidad 0 era determinante para entender el resto de la materia.  Muchos de mis compañeros de estudio se quejaban porque las matemáticas en la UNA eran distintas a las que se veían en otras universidades - ellos no habían estudiado la Unidad 0.  De hecho, el contenido de la Unidad 0 sentaba las bases para el resto de las materias del área de matemáticas.  ¿Cuál era entonces el contenido de la Unidad 0?

Teoría de Conjuntos

La Teoría de Conjuntos es una rama fundamental de las matemáticas. Pareciera ser que cualquier objeto matemático es reducible a un conjunto provisto de cierta estructura algebraica o topológica y de ciertas relaciones definidas sobre él. Este enfoque “conjuntista” es un legado importante de las matemáticas del siglo XX; de ahí que los estudiantes se comiencen a familiarizar desde la secundaria con algunos rudimentos de la teoría de conjuntos y la teoría de grupos- la popularmente denominada “matemática moderna”.

Sin embargo, las nociones que fundamentan las premisas más básicas de la teoría de conjuntos no son en lo absoluto modernas. En la evolución y el desarrollo del psiquismo humano, el descubrimiento de que varias entidades antes consideradas distintas pudiesen ser agrupadas en un solo colectivo de acuerdo a ciertas características comunes y puestas en correspondencia uno a uno con otros conglomerados de igual cantidad fue quizás el primer acto de pensamiento humano. Pero este descubrimiento es de naturaleza matemática, porque conlleva simultáneamente la idea de número y conjunto. Incluso, si se reflexiona un poco más sobre ello, este proceder matemático antecede seguramente a la aparición del lenguaje, considerando que para formar palabras ha de agruparse primero varias instancias de objetos reales bajo un solo concepto.Esta operación mental de agrupar varios objetos bajo en una sola clase da origen a la idea del conjunto.

El concepto de conjunto

Cualquier objeto real o conceptual puede ser elemento de algún conjunto. Elemento y conjunto son partes constituyentes de un mismo concepto- el uno se define en función del otro. Ambos términos son por lo tanto indefinibles y se supone en lo sucesivo que el significado de estas nociones primitivas son conocidos por todos. No obstante, se pueden enumerar algunas palabras sinónimas de ellas:

  • Conjunto: colección, grupo, clase, conglomerado, colectivo, población, …
  • Elemento: miembro, representante, constituyente, …

Conjunto y elemento son dos conceptos relativos- un conjunto a su vez puede ser elemento de otro conjunto de conjuntos y esta operación de síntesis puede efectuarse ad infinitum. Sin embargo, nos interesa resaltar aquí que la operación de síntesis entraña reunir elementos del mismo tipo o de la misma clase.Dicho de otra manera, \(\{a,\{a,b\}\}\) no es, por ejemplo, un conjunto válidamente constituido, pues sus partes \(a\) y \(\{a,b\}\) no son del mismo tipo, sea cual sea la naturaleza de los objetos \(a\) y \(b\), porque \(a\) es un elemento singular y \(\{a,b\}\) es un elemento que a su vez es conjunto.  Para dar mayor consistencia al concepto de conjunto, es menester definir con la mayor precisión posible cuál es la naturaleza común de los elementos que constituyen al conjunto.  Así, manzana, cambur, mandarina y ciruela constituyen un conjunto de frutas (frutas es la clase común). Reunir un teléfono celular viejo, unos anteojos pandos y un carro Volkswagen Escarabajo chocado por los cuatro costados como elementos de un mismo conjunto tendría sentido si ese conjunto representa los bienes materiales propiedad de quien esto escribe, aún cuando estos objetos no tienen aparentemente nada en común.  En todo caso, en ambos ejemplos se ha definido con cierta precisión el universo del discurso, lo cual permite  comparar diversos conjuntos entre si y realizar operaciones entre ellos, como la unión, la intersección y la complementación.  El universo del discurso es el conjunto que generaliza a todos los subconjuntos en cuestión- como indica el término discurso, este define el tipo o la naturaleza más general a la cual se refieren las consecuencias derivadas lógicamente del modelo conjuntista.

Para definir un conjunto, es necesario disponer de un criterio que permita establecer claramente si un objeto cualquiera es miembro o no de ese conjunto.  En la teoría de conjuntos clásica, solo hay dos alternativas con respecto a la membresía: un elemento o pertenece o no pertenece a un determinado conjunto.Recientemente, se ha definido un tipo de conjunto, denominado conjunto difuso, para superar esta limitación.  Considérese por ejemplo el conjunto de personas pobres. Sin duda, ni Bill Gates ni el Rey Abdullah de Arabia Saudita pertenecen a este conjunto. Por otro lado, un indigente sin techo y sin fuente de ingresos pertenece claramente a este conjunto. Pero, ¿que hay del resto de nosotros? En ese punto el criterio de membresía al conjunto de los pobres se vuelve difuso. Pareciera que algunos “pertenecemos más” al conjunto de pobres que otros- sobre todo los que subsistimos con un salario de profesor universitario. El prometedor concepto de conjunto difuso pretende modelar más adecuadamente este tipo de realidades, pero no será tratado en esta entrada del blog ni en su segunda parte.

Tomando en cuenta el criterio de membresía de un conjunto, existen dos formas de definirlo explícitamente.  La primera forma es definiéndolo por extensión, lo cual consiste en enumerar los elementos en una lista, separándolos por comas y encerrando la lista en llaves.  Por ejemplo: \(\{a,b,c,d,e,f\}\)

Esto es posible solo cuando la cantidad de elementos de ese conjunto (su cardinalidad) es finita o por lo menos, sus elementos son enumerables. Técnicamente hablando, la enumerabilidad o la finitud de un conjunto se refieren a que es posible establecer una correspondencia uno-a-uno de sus elementos con los elementos de algún subconjunto de los números naturales. Cuando esto no es posible, como en el caso de los números reales en el intervalo \((0,1)\), por ejemplo, se dice que aquel conjunto tiene la potencia del continuo. Como se dijo en la introducción, las matemáticas discretas tratan solamente con conjuntos enumerables- los conjuntos con potencia del continuo no serán objeto de este curso.

En cuanto a los conjuntos definidos por extensión es importante notar que el orden de enumeración o la multiplicidad con la que figuran los objetos en la lista es irrelevante para este tipo de estructuras matemáticas.  Así por ejemplo:

  • \(\{a,b,c,d\} = \{d,b,a,c\}\) : Se trata del mismo conjunto, irrespectivo del orden de enumeración de los elementos.
  • \(\{a,b,b,c,c,c\} = \{a,b,c\}\): Se trata del mismo conjunto, irrespectivo de cuantas veces se enumera un mismo elemento.

Si en el sistema que deseamos modelar es relevante el orden o la multiplicidad en la enumeración de los constituyentes de una colección, entonces debemos considerar utilizar otras estructuras matemáticas alternativas al conjunto.Obsérvese que el criterio de membresía implícito en la definición de un conjunto por extensión es bastante sencillo y por decirlo de alguna manera, arbitrario: un elemento pertenece al conjunto si y solo si figura en la lista de enumeración.

El otro método para definir conjuntos es por comprensión. Para definir un conjunto por comprensión, se requiere formular el criterio de membresía explícitamente mediante las proposiciones o relaciones lógicas que cumplen los elementos del conjunto.Por ejemplo:
El conjunto de todos los puntos de la recta real que distan de 5 en no más de 2 unidades es  \(\{x\in\mathbb{R}\vert \,|x-5|\leq 2\}\).

Este conjunto contiene una infinidad de elementos, pero su cardinalidad es de un orden mayor que la cardinalidad de un conjunto infinito pero enumerable.  De hecho, tiene potencia la del continuo.  Obsérvese que sin embargo, esta infinitud de elementos se reúne bajo una simple sentencia en lenguaje natural o una aún más sucinta frase en el lenguaje matemático de la notación de conjuntos.  Tal es el poder del lenguaje matemático.   Podría decirse que el mayor o menor grado de éxito en desarrollar un modelo matemático que permita establecer inferencias significativas dentro del contexto de una determinada realidad depende principalmente de la habilidad del investigador de “traducir” la esencia de la realidad o problema a una formulación del mismo en lenguaje matemático.

En el ejemplo anterior figuran algunos elementos de notación que vale la pena destacar. El símbolo “\(\in\)” indica membresía.  Por convención, los conjuntos se denotan por letras mayúsculas (A,B,C,…) y los elementos por letras minúsculas. Entonces, si A es un conjunto y x es un elemento, la frase \(x\in A\) es una proposición lógica- algo que tiene valor de verdad o falsedad según x sea miembro o no del conjunto A. Dicho sea de paso, si se quisiera expresar la no pertenencia se utilizaría el símbolo “\(\notin\)”: \(x\notin A\) se traduce por “x no pertenece al conjunto A”. El otro aspecto de la notación que vale la pena señalar es el símbolo “|” que aparece después de la proposición de membresía en el ejemplo. “|” puede traducir por “tales que” e indica efectivamente que los elementos señalados en la proposición anterior han de cumplir con la o las propiedades que se dan seguidamente para pertenecer al conjunto en cuestión.

Existen dos conjuntos especiales en cuanto a sus relaciones con la noción de membresía. Uno de ellos es el conjunto vacío, denotado por el símbolo \(\emptyset\). Por definición, \(\emptyset\) es el conjunto sin elementos- ningún elemento pertenece a el:
\[\emptyset=\{\}\qquad\text{y}\qquad\forall x:\, x\notin\emptyset\]

En contraposición, el conjunto universal o universo del discurso es el conjunto más general posible- todo elemento pertenece a este conjunto. El conjunto universal es la clase de objetos admisibles dentro de un contexto o discurso y se supone que ha sido determinado a priori. Lo denotaremos aquí por la letra griega omega \(\Omega\):

\[\forall x: x\in\Omega\]

Otra noción importante es la noción de igualdad o equivalencia entre conjuntos.  Dos conjuntos se consideran iguales si todo elemento de uno es miembro del otro y viceversa.  Formalmente, tenemos la siguiente

Definición – (Igualdad entre conjuntos)

Sea A y B dos conjuntos.  A y B son iguales si y solo si cualquier elemento \(a\in A\) pertenece a B y cualquier elemento \(b\in B\) es miembro de A.  En notación matemática:

\[A=B\quad \iff\quad  x\in A\, \rightarrow\, x\in B\,\text{ y }\, x\in B\,\rightarrow\, x\in A\]

La igualdad entre conjuntos también se puede definir por medio del concepto de inclusión.  Un conjunto incluye a otro conjunto cuando todo miembro de este es también miembro de aquel.

Definición – (Inclusión)

Sea A y B dos conjuntos.  B incluye A o equivalentemente, A esta incluido en B (\(A\subset B\))  cuando todo elemento de A pertenece a B.   En notación matemática:

\[A\subseteq B\quad\iff\quad   x\in A \rightarrow  x\in B\]

Según esto, tenemos como consecuencia que

\[A=B\quad \iff\quad A\subseteq B\, \text{y}\, B\subseteq A\]

y que además

\[\emptyset \subset A\text{ para cualquier conjunto A}\]

porque como \(\emptyset\) no contiene elementos, la implicación \(x\in \emptyset\,\rightarrow\, x\in A\) siempre es verdadera para cualquier conjunto A.  Nótese que el símbolo \(\subset\) denota inclusión estricta, es decir, cuando un conjunto es subconjunto de otro excluyendo la posibilidad que ambos conjuntos sean iguales.

Una cuestión interesante es determinar, para un conjunto de cardinalidad finita con \(n\) elementos, cuantos subconjuntos de este se pueden formar.  Si el conjunto en cuestión \(X\) tiene por lo menos un elemento, entonces de forma trivial se tienen por lo menos dos subconjuntos de él distintos: \(\emptyset\) y \(X\) mismo.  Se puede aseverar que para un conjunto con \(n\) elementos, existen \(2^n\) subconjuntos distintos.  No se pretende en lo que sigue dar una demostración matemática rigurosa de esta afirmación, sino más bien argumentarla de forma intuitiva en un lenguaje computista: imagínese que se tiene una cadena de \(n\) bits donde el valor de cada bit indica la membresía del elemento correspondiente en el subconjunto.   Como cada bit asume uno de dos posibles valores en \(\{0,1\}\) y la cadena asociada al subconjunto es de \(n\) bits, existen \(2^n\) secuencias de bits distintas y por lo tanto existen \(2^n\) subconjuntos diferentes de un conjunto de n elementos.  

Referencias Bibliográficas

  • LIPSCHUTZ, S. (1991). Teoría de Conjuntos y Temas Afínes. Serie Schaum. McGraw-Hill. Caracas.
  • MONAGAS, O., ORELLANA, M. y RIVAS, A. (1994). Algebra I – Tomo I. Caracas: Universidad Nacional Abierta.
  • PREPARATA, F. y YEH, R. (1973). Introduction to Discrete Structures. Reading, Massachussets: Addison-Wesley Publishing Co.


Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

lunes, 4 de febrero de 2013

Un problema de probabilidades

Considere el siguiente problema de probabilidades:
Se tienen 3 bolas verdes y 3 bolas rojas. Cada una de los 6 esferas se parte en dos mitades. Con las 12 mitades así obtenidas se vuelven a formar 6 bolas reagrupando las mitades al azar en parejas. ¿Cuál es la probabilidad de obtener nuevamente 3 bolas verdes y 3 bolas rojas?
Para poder empezar, necesitamos entender bien el experimento aleatorio. La parte de dividir cada una de las 6 esferas (3 rojas y 3 verdes) en dos mitades es bastante clara. Tendríamos así 12 mitades- 6 mitades rojas y 6 mitades verdes. La siguiente parte referente a "reagrupar las mitades al azar en parejas" podría no estar tan clara, sin embargo. Esta frase engloba el experimento aleatorio en sí. Entender en qué consiste es fundamental para poder calcular la probabilidad requerida.

Imaginemos que tomamos las 12 mitades, las metemos en una urna, revolvemos bien y comenzamos a extraer (sin reposición a la urna) las 12 mitades al azar, una por una. Las 6 primeras mitades las colocamos en una fila una al lado de la otra. Extraemos las otras 6 mitades de la urna y las colocamos en otra fila debajo de las 6 mitades de la fila de arriba. Tendríamos así un arreglo de dos filas y seis columnas, como por ejemplo el que sigue a continuación:

V V R R V V
R R R V R V

Cada columna en esta tabla indica los colores de las mitades que conforman las 6 pelotas que volvimos a armar. En el caso de ejemplo de arriba, solo hubiésemos obtenido 2 pelotas de un solo color (las mitades del mismo color), las cuales indicamos resaltando las columnas respectivas:
V V R R V V
R R R V R V

Obtener nuevamente las 3 bolas verdes y las 3 bolas rojas equivale a verificar si 3 de las columnas en esta tabla son verdes y si las otras 3 columnas son rojas. Quizás convendría realizar una simulación para darnos una idea de la frecuencia con la que ocurre esto. En cada ciclo de la simulación, tomamos un vector de 12 elementos, 6 de los cuales son "rojos" y los otros 6 "verdes". Luego permutamos los 12 elementos al azar, lo cual es el equivalente computacional de "revolver las 12 mitades en la urna". Seguidamente, consideramos las 2 mitades de ese vector (una mitad son los primeros 6 elementos y la otra los últimos 6 elementos) para verificar si cada uno de los 6 elementos de los dos vectores son iguales uno a uno. El script en R se muestra a continuación:

#Se tienen:
#3 bolas verdes y 3 bolas rojas.
#Se parte cada esfera en dos mitades.
#Se vuelven a juntar las mitades
#en parejas aleatoriamente.
#¿Cuál es la probabilidad de juntar nuevamente
#3 palos pelotas y 3 pelotas rojas?
M <- c(rep("V",6),rep("R",6))
N <- 1000000  #se repite el experimento un millon de veces
muestra <- replicate(N,{
  revuelto <- sample(M,size=12,replace=FALSE)
  r1 <- revuelto[1:6]
  r2 <- revuelto[7:12]
  if (all(r1==r2)) 1 else 0
  }
)
( mean(muestra) )  #la proporción de veces que ocurre
                   #el evento es una aproximación de su
                   #probabilidad

Este script arroja como resultado la siguiente aproximación de la probabilidad requerida. Claro, como se trata de un experimento aleatorio, la aproximación será distinta cada vez que ejecutemos el script. Sin embargo, con un millón de repeticiones, la variabilidad del resultado es muy poca (consultar sobre la Ley de los Grandes Números).

  [1] 0.021427

Según el resultado de la simulación, la probabilidad de obtener 3 pelotas verdes y 3 pelotas rojas nuevamente es de aproximadamente un 2%. No obstante, "aproximadamente" no es lo mismo que "exacto". Intentaremos seguidamente calcular la probabilidad exacta, pero ya sabemos su valor aproximado.

Primeramente, la cantidad de formas posibles de permutar 12 objetos, 6 de los cuales son de un tipo y 6 de otro, es igual a 12C6 (las combinaciones posibles de 6 objetos escogidos entre 12). Esto es debido a que asignamos cada una de las 6 mitades rojas a cualquiera de las 12 celdas y debemos tomar en cuenta que como las 6 mitades rojas son indistintas entre sí, debemos dividir entre 6! - el número de permutaciones de 6 objetos. La cantidad total de posibles resultados del experimento aleatorio es, pues, igual a 12C6.

Para que formemos nuevamente las 3 pelotas rojas y las 3 pelotas verdes (en lo sucesivo el evento A), es preciso que, considerando la primera fila de 6 mitades, esta contenga exactamente 3 mitades rojas y 3 mitades verdes. Existen 6C3 posibles configuraciones, tomando en cuenta que las 3 mitades de un mismo color son indistintas entre sí. Una vez fijada la configuración de la fila de arriba, la fila de abajo debe tener exactamente la misma configuración que la fila de arriba. Por lo tanto, según la fórmula de la probabilidad de un evento como en cociente entre el número total de casos favorables al evento entre el número total posible de casos equiprobables del experimento aleatorio, tenemos que:

P ( A ) = A Ω = 6 3 12 6 = 0,02164502

Puede corroborar que este resultado concuerda con aquél obtenido por la simulación.

Referencias Bibliográficas


Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

miércoles, 30 de enero de 2013

Una pregunta de probabilidades

Si responde a esta pregunta de forma aleatoria, ¿cuál es la probabilidad de acertar la repuesta correcta?
  1. 0%
  2. 25%
  3. 25%
  4. 50%
Su respuesta en los comentarios...

Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

miércoles, 23 de enero de 2013

Consideraciones sobre la visualización de datos - parte 2

Continuamos con la serie de entradas sobre la visualización de datos, esta vez complementando un poco lo dicho sobre las gráficas de torta en la entrada pasada. ¿Cuándo deben o no usarse? ¿Cómo se deben usar?

En el semestre pasado 2012-1, la data del trabajo práctico versaba sobre un estudio de nutrición infantil donde se estudiaban varios factores conjuntamente como el Índice de Masa corporal, el peso, la estatura y la actividad física, entre otros. Para la asignatura de Estadística General (745), se requería, entre otras cosas, elaborar una gráfica de torta para la variable X7 - el índice de actividad física. A continuación muestro una típica gráfica de estas. Nótese que en el ejemplo de abajo, la gráfica de tortas es tridimensional, por lo cuál le hice observaciones al estudiante según las explicaciones en la entrada anterior. Para el trabajo final, los estudiantes re-elaboraron estas gráficas de torta en dos dimensiones, con lo cual dieron cumplimiento a la actividad correspondiente requerida en el enunciado del trabajo. Sin embargo - y con la presión del semestre ya dejada atrás, le invito a echar un segundo vistazo a esta gráfica. Aparte de la tridimensionalidad, ¿nota algún otro problema con esta gráfica?

chart_junk3.png


Es necesario considerar el tipo de variable o la escala de X7. Si observa la leyenda a la derecha, verá que los niveles o valores del índice de actividad física son: sedentario, ligera, moderada, alta y muy alta. En efecto, la variable X7 se refiere a la intensidad o la frecuencia de actividad física de los individuos de la muestra. Podemos establecer comparaciones de orden entre estos niveles de actividad física. Por ejemplo, una persona con actividad moderada tiene menos actividad física que otra persona cuyo nivel de actividad es "alta". En resumen, X7 es una variable de escala ordinal. ¿Qué tiene esto que ver con las gráficas de torta?

En teoría, las gráficas de torta permiten visualizar el valor modal de una muestra. El valor modal es aquel con mayor frecuencia y por lo tanto el sector correspondiente en la gráfica de torta se verá más grande. Sin embargo, la variable X7 es una variable ordinal. Sus niveles tienen una jerarquía, un orden de menor a mayor. Gracias a ese orden jerárquico de sus niveles, la variable X7 tiene mediana, aparte de tener moda. Por cierto, la moda de esta variable es "actividad física alta" y su mediana es "actividad física moderada".

La gráfica de torta de arriba es deficiente. No logra comunicar toda la estructura jerárquica de orden que la variable X7 posee por ser una variable ordinal. En efecto, en una circunferencia no hay ningún punto privilegiado, no hay un cero natural, pues dejaría de serlo al rotar la circunferencia. Si uno recorre la circunferencia en cualquier dirección, regresa al punto de partida y por lo tanto en una circunferencia tampoco hay una dirección que esté asociada con "más de algo" o "menos de algo". Es decir, en una circunferencia no podemos reflejar ninguna jerarquía de orden. Si la gráfica de torta no es el tipo de gráfica más adecuada para resumir visualmente esta variable, ¿cuáles otros tipos de gráfica deberíamos de considerar?

ordinal_X7.png

La gráfica de barras es una alternativa natural para visualizar variables de escala ordinal cómo la variable X7. Si en el eje de las abscisas disponemos los niveles de X7 de menor a mayor (en la gráfica de arriba los niveles de actividad tienen una codificación numérica de 1.0 a 1.8) y hacemos corresponder los valores de las frecuencias en el eje de las ordenadas, las alturas de las barras encima de cada nivel de las abscisas nos permite visualizar la forma de la distribución de la variable X7. Aparte de poder visualizar la moda tal como en la gráfica de tortas, una gráfica de barras permite visualizar la asimetría, la dispersión y la forma general de la distribución de frecuencias, lo cual no podíamos hacer con una gráfica de tortas. Ampliando un poco más esta gráfica, podríamos por ejemplo señalar la clase mediana.

Sin embargo, sobre este último punto surge una inquietud respecto a si no existirá otro tipo de gráfica más "informativa" para variables de escala ordinal. Un tipo de gráfica que permita señalar la diferencia entre la moda (o las modas) y la mediana y - ¿porqué no? - también se señalen los cuartiles para visualizar mejor el grado de dispersión. Sería interesante también que con esta gráfica se pudiesen comparar fácilmente diferentes poblaciones o grupos de una variable ordinal, para verificar cambios en la tendencia central de un grupo a otro. Si bien existen las gráficas de cajas comparativas, en las cuales las hendiduras indican posibles diferencias significativas entre las medianas de unos u otros subgrupos, la gráfica de caja (o boxplot) no es a mi criterio la más adecuada cuando las variables ordinales tienen pocos niveles (o categorías ordinales). Además, con las gráficas de cajas no podemos visualizar la moda o la distribución de frecuencias de la variable en las categorías ordinales.

Para poner las cosas en perspectiva, en la discusión que sigue voy a considerar un estudio sobre el rendimiento académico de jóvenes noruegos entre 13 y 15 años de edad y el nivel de ingresos familiar [Ver Hassan(2007)]. En este estudio, se consideraron dos grupos: uno llamado "grupo control", representado por una muestra de estudiantes sin distinción del nivel de ingresos familiar y otro grupo - el "grupo caso" - representado por una muestra de estudiantes provenientes de hogares con un ingreso agregado ubicado en el 60% o menos del ingreso familiar mediano en Noruega. Se consideraron las notas de estos estudiantes para tres áreas claves: Matemáticas, Inglés y Noruego. Como en Noruega las notas son de la escala entre 1 y 6, siendo el "6" la nota más alta, la variable asociada al rendimiento académico en cada área es en efecto una variable ordinal. Las distribuciones de las notas (en porcentajes) correspondientes a los subgrupos "caso" y "control" para las tres áreas de conocimiento respectivas son dadas según la siguiente tabla:

Matemática Inglés Noruego
 Caso  Control  Caso  Control  Caso  Control
Nota Frec Nota Frec Nota Frec Nota Frec Nota Frec Nota Frec
1 1% 1 1% 1 1% 1 0% 1 0% 1 0%
2 16% 2 5% 2 8% 2 5% 2 5% 2 3%
3 30% 3 26% 3 25% 3 21% 3 25% 3 24%
4 31% 4 43% 4 40% 4 43% 4 46% 4 45%
5 19% 5 22% 5 24% 5 27% 5 24% 5 26%
6 3% 6 3% 6 2% 6 4% 6 0% 6 2%

¿Cómo podríamos comparar los subgrupos de "caso" y "control" a través de las tres áreas de conocimiento mediante una gráfica? Si hiciéramos múltiples gráficas de barras, se vería como en la gráfica a la derecha.
¿Sirve éste resumen gráfico a los fines comparativos  de detectar diferencias entre el rendimiento académico de estudiantes de bajos ingresos familiares y la población estudiantil en general?

Para las tres áreas académicas, la calificación modal de un grupo y otro es "4", por lo cual no se pueden detectar diferencias entre uno y otro subgrupo si solamente se toma en cuenta la moda.  Más sin embargo, en el caso de la asignatura de matemáticas, se observa cierto desplazamiento hacia las calificaciones más bajas para el subgrupo de estudiantes con menores ingresos familiares.
graficos_de_barras.png

Cómo los diagramas de barras de arriba no incluyen otros indicadores de tendencia central o de posición, es difícil establecer comparaciones más precisas. Además, un buen resumen gráfico de esta data debería de permitir constatar "desplazamientos" entre las calificaciones de un grupo y de otro.

Con esta idea de visualizar los "desplazamientos de las calificaciones"  me puse a buscar sobre técnicas gráficas alternativas y di con un artículo en el cual el autor elaboraba sobre un tipo de gráficas llamada "gráficas de barras apiladas divergentes".  En este tipo de gráficas, se empatan barras horizontales cuya longitud es proporcional a la frecuencias de los niveles consecutivos  de la variable ordinal para cada subgrupo poblacional, formando una sola barra horizontal para cada subgrupo respectivo con varias barras apiladas de izquierda a derecha.  Estas barras horizontales compuestas de varias barras apiladas se desplazan de modo que el punto cero se ubique en el medio de la clase central de la escala ordinal (para el caso en que el número de clases de la escala sea un número impar) o entre las dos clases del medio si el número de clases es par.  De este modo, cuando colocamos las barras horizontales de cada subgrupo una encima de la otra de tal manera que todos los puntos "cero" estén alineados en una recta vertical, podemos constatar visualmente los desplazamientos entre uno y otro subgrupo.

Adicionalmente, pensé que sería buena idea sombrear las barras apiladas de cada barra horizontal de modo que los tonos más oscuros se correspondiesen a las frecuencias de clase mas altas. Además, si indicamos la posición del 1er, 2ndo y 3er cuartíl en cada barra sería de mucha utilidad para visualizar las medidas de posición y así hacerlas conmensurables con los desplazamientos.  Preparé un pequeño script en R para elaborar esas gráficas, que pueden ver a continuación:


gbd_3.png
gbd_2.png
gbd_1.png

Las gráficas de arriba permiten una mejor comparación del rendimiento académico de los estudiantes de bajos ingresos familiares y aquel de la población estudiantíl en general.  Para el caso de la asignatura de "Noruego" (lengua primaria), no se observan diferencias importantes entre las calificaciones de uno y otro grupo.  Para el caso de "Inglés" (lengua secundaria) se observa un leve desplazamiento hacia las calificaciones más bajas de parte del grupo de estudiantes de bajos ingresos familiares (identificado como "caso").  Para matemáticas, se observa un desplazamiento más acentuado, en donde los estudiantes de bajos ingresos obtuvieron calificaciones más bajas.  Obsérvese que la barra horizontal de este grupo está más desplazada hacia la izquierda.

Coloco el código R abajo en este post para quien esté interesado.  Quizás incorpore este tipo de gráficas en mi librería estUNA, pero todavía lo considero en etapa experimental.

#la data es tomada del estudio en "3827_1.pdf"
matematicas <- data.frame (caso    = c(0.01,0.16,0.30,0.31,0.19,0.03),
                           control = c(0.01,0.05,0.26,0.43,0.22,0.03) )
ingles <- data.frame(caso    = c(0.01,0.08,0.25,0.40,0.24,0.02),
                     control = c(0.00,0.05,0.21,0.43,0.27,0.04) )
noruego <- data.frame(caso    = c(0.00,0.05,0.25,0.46,0.24,0.00),
                      control = c(0.00,0.03,0.24,0.45,0.26,0.02) )

graficar_barras_divergentes <- function(mdata,nombre=deparse(substitute(mdata))) {
  #esta función supone que mdata es un marco de datos
  #en donde cada columna se asocia a los porcentajes de los niveles
  #de una escala ordinal en orden ascendente (ie. el primer elemento del
  #vector se corresponde a la frecuencia del menor nivel en la escala).
  mdata_ac <- rbind(mdata,rep(0,ncol(mdata)))
  filas_par <- (nrow(mdata) %% 2 == 0)

  for (i in 1:ncol(mdata)) {
    x <- cumsum(mdata[[i]])
    if (filas_par)
      mid <- x[nrow(mdata) %/% 2]
    else
      mid <- x[nrow(mdata) %/% 2] + mdata[[i]][(nrow(mdata) %/% 2) + 1]/2
    mdata_ac[[i]] <- c(-mid,x -mid)
  }
  #crea un nuevo cuadro del tamaño adecuado
  frame()
  plot.window(xlim=c(min(mdata_ac)-0.2,max(mdata_ac)),ylim=c(0,0.5*ncol(mdata_ac)))
  #dibuja una línea vertical punteada de "centralidad"
  lines(c(0,0),c(0,0.5*ncol(mdata_ac)),lty="dotted")
  for (i in 1:ncol(mdata_ac) ) {
    #calcula la posición de las etiquetas para las frecuecias/categorias
    lbx <- (tail(mdata_ac[[i]],-1)+head(mdata_ac[[i]],-1))/2
    #dibuja los rectángulos que componen las frecuencias de cada clase
    for (j in 1:(nrow(mdata_ac)-1) )
      rect(mdata_ac[j,i], 0.21 + (i-1)*0.5 ,mdata_ac[j+1,i], 0.29 + (i-1)*0.5 ,
               col=rgb(95/256,158/256,160/256,alpha=mdata[j,i]) , lwd=0.25 )
    #escribe las frecuencias
      text(x=lbx,y=0.18+(i-1)*0.5,cex=0.4,labels=round(mdata[[i]]*100,digits=2) )
    #escribe las etiquetas de categorías
      text(x=lbx, y=0.32+(i-1)*0.5,cex=0.4,labels=rownames(mdata) )
    #indica los cuartiles
    #indica cuartiles
      points(seq(from=0.25,to=0.75,by=0.25)+mdata_ac[1,i],rep(0.25+(i-1)*0.5,3),col="tomato",pch=10)
  }
  #escribe las etiquetas de cada serie de datos
  text(x=min(mdata_ac)-0.1,y=seq(from=0.25,to=0.25+0.5*ncol(mdata),by=0.5),cex=0.8,labels=colnames(mdata) )
  #El titulo
  title(main=paste("Gráfica de barras divergentes para\n",nombre) )
}

ppi <- 300
png("gbd%2d.png",width=ppi*4,height=ppi*4,res=ppi)
graficar_barras_divergentes(matematicas)
graficar_barras_divergentes(ingles)
graficar_barras_divergentes(noruego)
graphics.off()
png("graficos_de_barras.png",width=ppi*4,height=ppi*6,res=ppi)
par(mfrow=c(3,2))
barplot(matematicas[[1]],names.arg=1:6,main="Matematicas",sub="(grupo caso)")
barplot(matematicas[[2]],names.arg=1:6,main="Matematicas",sub="(grupo control)")
barplot(ingles[[1]],names.arg=1:6,main="Ingles",sub="(grupo caso)")
barplot(ingles[[2]],names.arg=1:6,main="Ingles",sub="(grupo control)")
barplot(noruego[[1]],names.arg=1:6,main="Noruego",sub="(grupo caso)")
barplot(noruego[[2]],names.arg=1:6,main="Noruego",sub="(grupo control)")
graphics.off()



Bibliografía

  • HASSAN, J. (2007). Parents’ socioeconomic status and children’s academic performance. Norwegian Social Research. NOVA Notat 7/2009.
  • HEIBERGER, R. y ROBBINS, N. (2011). Plotting Likert and Other Rating Scales Section on Survey Research Methods – JSM 2011.

Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.