Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe Final Data Mining - Arismendi, Luengo, Medina, Soto
Informe Final Data Mining - Arismendi, Luengo, Medina, Soto
PROYECTO
Predicción de quiebra de empresas
ENTREGA FINAL DEL PROYECTO
Contenido
Contexto 3
Preguntas por abordar 3
Valor 3
Base de datos 4
Experimento 4
Integrantes: Yessica
Análisis exploratorio de datos Arismendi 5
Análisis calidad de datos Gabriela Luengo 5
Kemberly Medina
Matriz de correlación entre todas las Camila Soto
variables 5
Asignatura: Data Mining
Variables relevantes 6
Hipótesis y conclusiones Profesor: Pablo Lemus 7
Bonus: Análisis de Componentes Principales Fecha: 11/10/21 8
Anexos 9
Anexo 1: Variables 9
Anexo 2: Gráficas 12
Bibliografía 14
PAGE
ENTREGA FINAL DEL PROYECTO
Tabla de Ilustraciones
Ilustración 1: Matriz de correlación de variables independientes 12
Ilustración 2: Reducción de varianza según número de componentes principales 12
Ilustración 3: Proyección de variables en función de PC1 y PC2 13
PAGE
ENTREGA FINAL DEL PROYECTO
Contexto
Es de esperarse que una persona se encuentre confiada en su éxito al momento de iniciar algún
tipo de actividad económica, pero es posible que ocurra alguna situación imprevista, poniendo
sobre la mesa los verdaderos riesgos a los que se está ligado y la importancia de la capacidad de
sobrevivencia de la empresa a largo plazo.
Dicho lo anterior, el peor de los casos a los que se puede llegar es a un fracaso empresarial o
Bankruptcy, siendo un golpe duro para la persona natural o jurídica esperanzada en poder surgir
dicho rubro. Es aquí donde las finanzas juegan un papel fundamental al momento de sobrellevar
una empresa.
Debido a las diversas repercusiones económicas incurridas durante el transcurso en que opera la
firma, existe la posibilidad de traer consigo un efecto negativo para las acciones que se tomarán a
futuro, es por esta razón que es fundamental estar alerta y atenuar dichas condiciones riesgosas a
través del tiempo. ¿Qué factores son relevantes para que las empresas logren sobrevivir en el
tiempo? ¿Y si tomamos en cuenta indicadores financieros para determinar, a priori, cuáles
empresas son más propensas a caer en esta devastadora situación?
Encaminándonos en este desafío, se recopilaron datos otorgados por el Taiwan Economic Journal
para los periodos comprendidos entre los años 1999 y 2009, entre los cuales se encuentran ratios
financieros, valores integrados en estados de flujo, tasas de gasto e interés, entre otros diversos
datos. Es así como nos proponemos los objetivos de realizar un método predictivo que posibilite la
detección de la quiebra para las empresas para dicha economía, definiendo esta en base en las
regulaciones comerciales de la Bolsa de Valores de Taiwán.
Valor
En base a las preguntas planteadas anteriormente, es importante destacar el aporte que brinda
una validación de datos, esto debido a que nos aseguramos de que los datos de la base sean
confiables y reales, de esta manera se concluye que serán de utilidad al momento de realizar un
análisis de la información. Por otro lado, con respecto a estas predicciones queremos saber qué es
lo que detona este indeseable sucedo, la bancarrota; ¿cuáles son los factores que influyen
directamente?, consideramos que dicha información es un aspecto esencial para orientar a una
empresa a que no cometa errores o incurra en algunas situaciones de riesgo.
En suma, podemos decir que las preguntas planteadas tienen una relación directa entre ellas, ya
que, al validar, calcular y comparar, nos orienta a una conclusión concreta y real del porqué
algunas empresas quiebran. De esta manera será posible intervenir a tiempo para que no se
produzca dicha quiebra en la compañía.
PAGE
ENTREGA FINAL DEL PROYECTO
Base de datos
La base de datos a utilizar se llama “Company Bankruptcy Prediction”, la cual se descargó de la
página Kaggle. Los datos de aquel archivo fueron recopilados a través del Taiwan Economic Journal
(TEJ) para los años 1999 a 2009, la cual es una empresa que proporciona los datos más precisos y
fiables sobre empresas de toda Asia. La base de datos cuenta con 6.819 filas y 96 columnas. Cada
una de las filas representan los datos de diferentes compañías del mundo real en Taiwán en el
periodo de tiempo descrito. La variable dependiente por utilizar corresponde a si la empresa se irá
a quiebra o no, la cual es una variable de tipo booleana, donde 0 corresponde a “no” y 1
corresponde a “sí”. El quiebre de la empresa se definió con base en las regulaciones comerciales
de la Bolsa de Valores de Taiwán. Las variables dependientes corresponden a diferentes
indicadores de cinco diferentes categorías de Gobiernos Corporativos (CGI) y de siete categorías
de Ratios Financieros (FR). Todas estas variables son de tipo numérica con un rango de 0-1, sin
embargo, existen algunos datos que sobrepasan este valor, transformándose en outliers.
Experimento
Nuestro objetivo en este proyecto es predecir si la empresa se irá a quiebra o no. Para ser más
específicos, la base de datos contiene una variable llamada “Bankrupt” (variable dependiente)
que, para cada fila, toma valor 1 si la empresa llega a la quiebra, y toma el valor 0 en caso
contrario. Por lo cual, nuestro proyecto corresponde a un tipo de aprendizaje de clasificación.
Existen diversos modelos de Machine Learning que se podrían utilizar para resolver las preguntas
planteadas, entre ellos se destacan los siguientes:
● Regresión Logística (Logistic Regression): Algoritmo de clasificación simple, pero potente.
Funciona muy bien en clases linealmente separables y se puede extender a clasificación
multiclase.
● Máquinas de Vectores de Soporte (Support Vector Machines): Permiten encontrar la forma
óptima de clasificar entre varias clases. Se realiza maximizando el margen de separación entre
las clases. Los vectores que definen el borde de esta separación son los vectores de soporte.
● Bosques Aleatorios (Random Forests): Conjunto de árboles de decisión combinados con
bagging. Esto hace que cada árbol se entrene con distintas muestras de datos para un mismo
problema. Al combinar sus resultados, unos errores se compensan con otros y se tiene una
predicción que generaliza mejor.
● Redes Neuronales y Aprendizaje Profundo (Deep Learning): Modelo de aprendizaje
automático, se establecen conexiones entre nodos, se manda información y se sacan
conclusiones y predicciones determinadas a partir de los datos introducidos inicialmente. Una
red neuronal organiza los algoritmos de tal manera que puede tomar decisiones precisas por sí
misma.
PAGE
ENTREGA FINAL DEL PROYECTO
PAGE
ENTREGA FINAL DEL PROYECTO
PAGE
ENTREGA FINAL DEL PROYECTO
En aquel análisis, se observa que, para la PC34, se alcanza 80% de la varianza aportada,
por lo que dichos componentes principales, son suficientes para explicar nuestro conjunto
de datos y son los seleccionados en esta instancia. Permitiéndonos así, representar los
datos en una dimensión reducida a la original, limitando la pérdida de información.
PAGE
ENTREGA FINAL DEL PROYECTO
Aprendizaje de máquinas
Según la matriz de confusión tenemos que, los valores de la diagonal principal corresponde a los
casos estimados de forma correcta por el método, los cuales son 5216 y 53, siendo los verdaderos
negativos y los verdaderos positivos, respectivamente. Mientras que la otra diagonal, representa
los casos en los que el método se equivocó, los cuales son 65 y 121, siendo los falsos positivos y
falsos negativos, respectivamente.
Además, se presenta un valor de accuracy de 0.9659, el cual indica que el método posee una
exactitud de 96.59% sobre las empresas que se irán a la quiebra, por lo tanto representa el
porcentaje de predicciones correctas frente al total.
También, observamos que la sensitivity (sensibilidad) es de 0.9877, la cual nos indica la capacidad
que posee el método para asignar los casos positivos como realmente positivos. Incluso tenemos
specificity (especificidad) que es 0.3046, donde igualmente indica la capacidad que tiene el
método para dar como casos negativos los que realmente son negativos.
PAGE
ENTREGA FINAL DEL PROYECTO
PAGE
ENTREGA FINAL DEL PROYECTO
set.seed(4567)
fit_arbol = rpart(bankrupt~., data=datatrain, method="class")
fancyRpartPlot(fit_arbol)
fit_arbol$variable.importance[1:5] #importancia de las variables
En los árboles de decisión, las preguntas se generan de acuerdo a la que otorga mayor ganancia de
información (que logra mejorar la métrica de achunte lo más posible), entonces, intuitivamente,
las variables que quedan arriba son las variables más útiles. Es por esto, que, visualizando el
gráfico, se puede observar que las cinco variables más importantes y que tienen mayor peso para
determinar si una empresa se irá a quiebra o no, son persistent_eps_in_the_last_four_season,
net_profit_before_taxdivpaid_in_capital, net_value_growth_rate,
per_share_net_profit_before_tax_yuan_Y_ y net_inome_to_stockholder_s_equity.
PAGE
ENTREGA FINAL DEL PROYECTO
Podemos ver que el valor de sensibilidad es de 0.9932, cuyo valor es alto, lo que implica
equivocarse en pocos 1 y el valor de especificidad es de 0.1957 , cuyo valor es bajo, lo que implica
equivocarse en muchos 0. En este contexto es más caro equivocarse en 1, por lo que es preferible
una sensibilidad alta, lo que indica que todo anda bien con este método.
PAGE
ENTREGA FINAL DEL PROYECTO
Se observa una matriz de confusión, donde 1314 casos son verdaderos negativos y 7 casos son
verdaderos positivos, en cambio se obtuvieron 4 casos falsos positivos y 39 casos falsos negativos.
También se presenta un valor de accuracy de 0.968, el cual indica que el método posee una
exactitud de 96.8% sobre las empresas que se irán a la quiebra, por lo tanto representa el
porcentaje de predicciones correctas frente al total.
Por último, se observa el valor AUC de 0.925, que representa el área bajo la curva ROC que se
utiliza para medir el acierto en la predicción de eventos binarios, es decir eventos que ocurren o
no.
PAGE
ENTREGA FINAL DEL PROYECTO
El gráfico de la curva ROC nos muestra la sensibilidad y especificidad de cada uno de los posibles
puntos de corte de un test diagnóstico cuya escala de medición es continua. Entre más alejada
esté la curva de la línea trazada desde el punto 0,0 al punto 1,1 , llamada diagonal de referencia.
set.seed(4567)
PAGE
ENTREGA FINAL DEL PROYECTO
predtrainSVM <-predict(svm,datatrain)
mean(predtrainSVM==datatrain$bankrupt)
table(datatrain$bankrupt,predtrainSVM)
roc.curve(datatrain$bankrupt, predtrainSVM)
predtestSVM <-predict(svm,datatest)
mean(predtestSVM==datatest$bankrupt)
table(datatest$bankrupt,predtestSVM)
roc.curve(datatest$bankrupt, predtestSVM)
PAGE
ENTREGA FINAL DEL PROYECTO
De la imagen podemos observar la matriz de confusión donde los casos estimados de forma
correcta por el método son 1317 casos verdaderos negativos y 0 casos verdaderos positivos.
Mientras que la otra diagonal, representa los casos en los que el método se equivocó, los cuales
fueron 1 caso de falso positivo y 46 casos de falsos negativos.
Se puede ver un accuracy de 0.9655, lo que indica que el método tiene una exactitud de 96.55%
sobre las empresas que quiebran.
PAGE
ENTREGA FINAL DEL PROYECTO
También, observamos que la sensitivity (sensibilidad) es de 0.9992, la cual nos indica la capacidad
que posee el método para asignar los casos positivos como realmente positivos. Incluso tenemos
specificity (especificidad) que es 0, que indica la capacidad que tiene el método para dar como
casos negativos los que realmente son negativos, por lo tanto implica equivocarse en muchos 0.
Respecto a la imagen podemos decir que, la matriz de confusión muestra que 5262 casos
son verdaderos negativos, mientras que 32 casos son verdaderos positivos, también nos
dice que 19 casos son falsos negativos y 142 casos son falsos positivos. Donde la
predicción de los negativos posee un error de 0.003597803 y los positivos un error de
0.816091954
PAGE
ENTREGA FINAL DEL PROYECTO
La matriz de confusión señala que 1316 casos son verdaderos negativos, 7 casos
verdaderos positivos, 39 casos falsos negativos y 2 casos son falsos positivos. Mientras
que el F1 tiene un valor de 0.2640979 , este valor es una comparación del rendimiento
combinado de la precisión y la exhaustividad.
Hipótesis y conclusiones
Según el análisis exploratorio de los datos realizado anteriormente, presentamos los resultados
más relevantes respecto a cada ítem y finalmente se concluye:
● Calidad de datos: se realizaron modificaciones en los nombres de las variables, se eliminó
la variable “net_income_flag” (Indicador de ingresos netos), ya que no se consideraba un
aporte en el estudio. Además, se verificó si existían valores duplicados o nulos para
realizar una imputación de datos si fuera necesario, pero como no existían estos valores
no se realizó
● Matriz de correlación: respecto a la variable dependiente y las variables independientes,
se obtuvo como resultado que las variables BPA persistentes en las últimas cuatro
temporadas (persistent_eps_in_the_last_four_seasons), ingreso neto a total activos
(net_income_to_total_assett) y beneficio neto antes de impuestos / Capital pagado
(net_profit_before_taxdivpaid_in_capital); poseen mayor relación con la variable
PAGE
ENTREGA FINAL DEL PROYECTO
bankrupt. Como estas tres variables poseen un valor mayor a 0, indica que tienen una
relación directa.
● Variables relevantes: los resultados obtenidos por el Random Forest, las variables más
relevantes para determinar la bancarrota con un valor de importancia mayor a 9.7 son:
Beneficio neto por acción antes de impuesto en yuan
(per_share_net_profit_before_tax__yuan_Y), Beneficio neto antes de
impuesto/capital pagado (net_profit_before_taxdivpaid_in_capital), BPA
persistente en las últimas 4 temporadas
(persistent_eps_in_the_last_four_seasons).
Hay que destacar que las otras variables relevantes, con un valor de importancia mayor a 9 son:
net_value_per_share_b (9.002), interest_expense_ratio (8.542),
degree_of_financial_leverage__dfl_ (7.916), net_income_to_stockholder_s_equity (7.692); que
posee una correlación de 0.205632842, 0.133217322, 0.147136334 y 0.219056887
respectivamente. Considerando también estas variables como influyentes, respecto a la posible
bancarrota de una empresa.
Según los resultados obtenidos en todo el análisis podemos concluir que, sí es posible realizar la
predicción de la bancarrota, ya que cada variable independiente posee una relación directa con la
variable dependiente.
PAGE
ENTREGA FINAL DEL PROYECTO
Anexos
Anexo 1: Variables
A continuación, se presenta el detalle de cada una de las variables presentes en la base de datos
“Company Bankruptcy Prediction”:
Variable dependiente: Esta variable tomará valor 0 si es que la empresa no se va a quiebra y valor
1 si es que sí se va a quiebra.
1) Bankrupt?: corresponde a la variable dependiente e indica si es que la empresa se irá a
quiebra o no.
Variables independientes: Estas variables son de tipo numérica que varían en el rango 0 a 1. En
algunos casos se presentan outliers.
2) ROA(C) before interest and depreciation before interest: ROA (C) antes de intereses y
depreciación antes de intereses.
3) ROA(A) before interest and % after tax: ROA (A) antes de intereses y% después de
impuestos.
4) ROA(B) before interest and depreciation after tax: ROA (B) antes de intereses y
depreciación después de impuestos.
5) Operating Gross Margin: Margen bruto operativo.
6) Realized Sales Gross Margin: Margen bruto de ventas realizadas.
7) Operating Profit Rate: Tasa de beneficio operativo.
8) Pre-tax net Interest Rate: Pre -Tasa de interés neta de impuestos.
9) After-tax net Interest Rate: Tasa de interés neta después de impuestos.
10) Non-industry income and expenditure/revenue: Ingresos y gastos / ingresos no
industriales.
11) Continuous interest rate (after tax): Tasa de interés continúa (después de impuestos).
12) Operating Expense Rate: Tasa de gastos operativos.
13) Research and development expense rate: Tasa de gastos de investigación y desarrollo.
14) Cash flow rate: Tasa de flujo de efectivo.
15) Interest-bearing debt interest rate: Tasa de interés de la deuda que devenga intereses.
16) Tax rate (A): Tipo impositivo (A).
17) Net Value Per Share (B): Valor neto por acción (B).
18) Net Value Per Share (A): Valor neto por acción (A).
19) Net Value Per Share (C): Valor neto por acción (C).
20) Persistent EPS in the Last Four Seasons: BPA persistente en las últimas cuatro
temporadas.
21) Cash Flow Per Share: Flujo de caja por acción.
22) Revenue Per Share (Yuan Â¥): Ingresos por acción (Yuan  ¥).
23) Operating Profit Per Share (Yuan Â¥): Beneficio operativo por acción (Yuan  ¥).
24) Per Share Net profit before tax (Yuan Â¥): Beneficio neto por acción antes de impuestos
(Yuan  ¥).
25) Realized Sales Gross Profit Growth Rate: Tasa de crecimiento del beneficio bruto de las
ventas realizadas.
26) Operating Profit Growth Rate: Tasa de crecimiento del beneficio operativo.
27) After-tax Net Profit Growth Rate: Tasa de crecimiento del beneficio neto después de
impuestos.
PAGE
ENTREGA FINAL DEL PROYECTO
28) Regular Net Profit Growth Rate: Tasa de crecimiento del beneficio neto regular.
29) Continuous Net Profit Growth Rate: Tasa de crecimiento del beneficio neto continuo.
30) Total Asset Growth Rate: Tasa de crecimiento de activos totales.
31) Net Value Growth Rate: Tasa de crecimiento del valor neto.
32) Total Asset Return Growth Rate Ratio: Rata de crecimiento de retorno de activos totales e
Ratio.
33) Cash Reinvestment %: % de reinversión de efectivo.
34) Current Ratio: Ratio actual.
35) Quick Ratio: Ratio rápido.
36) Interest Expense Ratio: Ratio de gastos por intereses.
37) Total debt/Total net worth: Deuda total / patrimonio neto total.
38) Debt ratio %: Ratio de deuda %.
39) Net worth/Assets: Patrimonio neto / activos.
40) Long-term fund suitability ratio (A): Ratio de idoneidad de fondos a largo plazo (A).
41) Borrowing dependency: Dependencia del endeudamiento.
42) Contingent liabilities/Net worth: Pasivos contingentes / neto Valor neto.
43) Operating profit/Paid-in capital: Beneficio operativo / Capital pagado.
44) Net profit before tax/Paid-in capital: Beneficio neto antes de impuestos / Capital pagado.
45) Inventory and accounts receivable/Net value: Inventario y cuentas por cobrar / Valor
neto.
46) Total Asset Turnover: Rotación de activos totales.
47) Accounts Receivable Turnover: Rotación de cuentas por cobrar.
48) Average Collection Days: Días promedio de cobranza.
49) Inventory Turnover Rate (times): Tasa de rotación de inventario (veces).
50) Fixed Assets Turnover Frequency: Rotación de activos fijos Frecuencia.
51) Net Worth Turnover Rate (times): Tasa de rotación del patrimonio neto (veces).
52) Revenue per person: Ingresos por persona.
53) Operating profit per person: Beneficio operativo por persona.
54) Allocation rate per person: Tasa de asignación por persona.
55) Working Capital to Total Assets: Capital de trabajo a activos totales.
56) Quick Assets/Total Assets: Activos rápidos / Activos totales.
57) Current Assets/Total Assets: Activos corrientes / Activos totales.
58) Cash/Total Assets: Efectivo / Activos totales.
59) Quick Assets/Current Liability: Activos rápidos / Pasivo corriente.
60) Cash/Current Liability: Efectivo / pasivo corriente.
61) Current Liability to Assets: Pasivo corriente a activos.
62) Operating Funds to Liability: Fondos operativos a pasivo.
63) Inventory/Working Capital: Inventario / capital de trabajo.
64) Inventory/Current Liability: Inventario / pasivo corriente.
65) Current Liabilities/Liability: Pasivo / pasivo corriente.
66) Working Capital/Equity: Capital de trabajo / patrimonio.
67) Current Liabilities/Equity: Pasivo corriente / patrimonio.
68) Long-term Liability to Current Assets: Pasivo a largo plazo a corriente Activos.
69) Retained Earnings to Total Assets: Ganancias retenidas a activos totales.
70) Total income/Total expense: Ingresos totales / gastos totales.
71) Total expense/Assets: Gastos / activos totales.
72) Current Asset Turnover Rate: Tasa de rotación de activos actuales.
73) Quick Asset Turnover Rate: Tasa de rotación de activos rápida.
PAGE
ENTREGA FINAL DEL PROYECTO
PAGE
ENTREGA FINAL DEL PROYECTO
Anexo 2: Gráficas
PAGE
ENTREGA FINAL DEL PROYECTO
PAGE
ENTREGA FINAL DEL PROYECTO
Bibliografía
Fedesoriano. (febrero de 2021). Kaggle. Obtenido de
https://www.kaggle.com/fedesoriano/company-bankruptcy-prediction?select=data.csv
Heras, J. M. (29 de septiembre de 2020). IArtifificial.net. Obtenido de
https://www.iartificial.net/clasificacion-o-regresion/
Roman, V. (27 de marzo de 2019). Ciencia & Datos. Obtenido de https://medium.com/datos-y-
ciencia/aprendizaje-supervisado-introducci%C3%B3n-a-la-clasificaci%C3%B3n-y-
principales-algoritmos-dadee99c9407
School, T. (16 de enero de 2021). Tokio School. Obtenido de
https://www.tokioschool.com/noticias/redes-neuronales-machine-mearning/
PAGE
ENTREGA FINAL DEL PROYECTO
La precisión es la probabilidad que una predicción verdadera sea verdadera, en este caso, que una
empresa en bancarrota realmente esté en bancarrota, mientras que el recall es la probabilidad de
predecir un real negativo y que sea positivo, en otras palabras, equivocarnos, decir que está en
bancarrota cuando realmente no lo estaba.
En nuestro contexto, buscamos tener una precisión alta (lo más cercano a 1).
PAGE
ENTREGA FINAL DEL PROYECTO
RF
ÁRBOL
SVM
PAGE
ENTREGA FINAL DEL PROYECTO
CONCLUSIÓN
En efecto con los datos financieros proporcionados se pudo predecir qué compañías tienen mayor
riesgo de quiebra, lo cual queda demostrado en la implementación de aprendizaje de máquinas,
especialmente centrándonos en modelos que permitieran clasificar. En los cuatro métodos
implementados se obtuvo un Accuracy mayor al 95%, con Precisión de 97% para el modelo
Random Forest.
Aunque de igual manera podríamos considerar el presentar menor ratios económicos, avalando al
análisis de variables relevantes realizado, pero es complejo lograr que una empresa de sus ratios
financieros con facilidad a cualquier persona.
Es importante destacar además, que los factores con mayor influencia en decretar una bancarrota
son el beneficio neto por acción antes de impuestos (Yuan  ¥), beneficio neto antes de impuestos
/ Capital pagado y el BPA persistente en las últimas cuatro temporadas. Por lo que se vuelve de
suma importancia intervenir a tiempo en dichos factores para evitar una posible quiebra.
Algo que podríamos haber realizado de manera distinta podría ser la formulación e
implementación de los gráficos y matrices de correlación, pero debido a los pocos conocimientos
que poseemos en la plataforma RStudio, se nos hizo complejo el idear cómo segmentar la base
para lograr una mejor visualización de los gráficos, sin que esto afecte netamente los resultados.
Finalmente, y de manera grupal, se consideró que este trabajo nos ayudó bastante a observar que
los datos no son meros números, sino que detrás de ellos se encuentra un mundo de información
por describir e interpretar. Que teniendo las herramientas, conocimientos y ganas, se pueden
lograr muchas cosas con ellos.
PAGE