Introducción

La corrupción es un fenómeno complejo que según Transparencia Internacional (2012) se define como el abuso del poder público para obtener beneficios privados. Está presente en todo tipo de estructuras sociales y organizacionales y tiene como principal consecuencia el detrimento del crecimiento económico. Según la OCDE se estima que los países gastan un promedio de entre 13 y 20 por ciento de sus PIB en una de las actividades que por su naturaleza involucra una variedad de actividades y procesos que son susceptibles a desarrollar corrupción y fraude. Es decir, la contratación pública por medio de licitaciones.

Existen diferentes maneras en la que se puede presentar la corrupción en compras públicas pero con fines del presente proyecto el marco metodológico se fundamenta en analizar la corrupción por medio ciertas características a nivel contratación y nivel unidad compradora dentro del Instituto Mexicano del Seguro Social (IMSS).

Como pregunta de investigacion se plantea: ¿Cuál es el efecto del tipo de procedimiento en la probabilidad de que la empresa se encuentre dentro de la lista de empresas sancionadas de la Secretaria de la Función Pública? De igual forma como segunda pregunta se planeta ¿Cuál es el efecto de no tener documentos importantes del proceso de contratación pública en la probabilidad de que la empresa se encuentre dentro de la lista de empresas sancionadas de la Secretaria de la Función Pública?

Se considera como principal objetivo el situar el análisis de la corrupción en procesos de contratación pública con banderas rojas en el caso mexicano dentro del Instituto Mexicano del Seguro Social y como objetivos específicos del proyectos: mapeo la informaciónque se usará en los dos niveles del modelo jerárquico, implementar el proceso adecuado metodológico para determinar la plausibilidad del ánalisis como también para responder a la principal hipótesis e incognitas planteadas y por ultimo y no más importante la descripción de los resultados del análisis.

El trabajo está dividido en siete apartados: introducción a la investigación, antecedentes y objetivos que buscan responder cuáles son los objetivos, el interés del tema, antecedentes, justificación del uso de la metodología. después se abordan una descripción breve y concisa de los datos, población objetivo y el variables de interés. En el apartado de Método se describe de una manera no técnica el método estadístico, cómo es quel el método ayuda a responder la pregunta de investigación. En resultados se abordan los aspectos principales de los resultados y por último el apartado de la discusión donde se hace un resúmen de los puntos principales del análisis, los problemas que surgieron a lo largo del proyecto y sugerencias para futuras investigaciones.

Antecedentes y objetivos

Por medio de los procesos de contratación pública los gobiernos cumplen una de sus principales obligaciones que es proveer de bienes, servicios e infrestructura a la sociedad. Debido a la gran cantidad de dinero que se maneja y el número de actores involucrados, esta es un area particularmente crítica para el desarrollo de corrupción (Decarolis, 2022).

De acuerdo con Williams-Elegbe (2018), los principales afectados son los sectores más vulnerables de la sociedad ya que disminuye los recursos públicos para proyectos sociales y desvía las decisiones públicas en favor de funcionarios y políticos creando mayor desigualdad. He aquí la motivación del proyecto, se considera de importancia estudiar el fenómeno y en específico en los procesos de contratación pública debido a la envergadura de los problemas que ocasiona.

De acuerdo con la OECD (2020), países miembros de dicho organismo los procesos de contratación pública representan aproximadamente el 15 % del PIB y para países no miembros del organismo la cifra es mayor, de manera que es un enorme poder financiero. El IMSS es la entidad pública autónoma responsable de prestar servicios de seguridad social en México y dicho organismo en 2018 realizó 35,668 contratos por un monto total de $94,095,785,694. Al ser una de las instituciones que ejerce una parte sustancial del presupuesto público, se espera que este sea gastado de manera eficiente con con altos estándares de conducta a fin de garantizar la alta calidad de la prestación del servicio y salvaguardar el interés público.

En las últimas décadas organismos anti-corrupción han enfocado esfuerzos significativos en tratar de combatir la corrupción en los procesos de contratación pública debido al efecto negativo que ocasiona en la sociedad (Søreide, T. 2002). El tema de corrupción ha sido un tema con mucha atención para ser investigado y analizado.

De acuerdo con el análisis de la literatura científica relacionada a corrupción en procesos de contratación pública por parte de Rakhel, y Putera (2021), el primer estudio identificado fue en 2002 y a partir de dicha fecha el número ha aumentado significantemente. Existen estudios con diferentes enfoques para analizar la corrupción, sin embargo, el proyecto será delimitado por estudios basados en indicadores de “banderas rojas” como un proxy para la corrupción.

Debido a que las actividades corruptas siguen un cierto patrón de comportamiento y este comporamiento deja rastros (Kenny & Mosatova, 2011) las banderas rojas son indicadores de estos rastros que pueden dar sustento a la presencia de corrupción. El término de banderas rojas surge como un esfuerzo de las agencias anti-corrupción y de académicos de tener indicador efectivo para investigar el fenómeno de la corrupción.

La primera vez que se habló de usar las banderas rojas fue en 2002 por parte del Instituto Americano de Contables Públics Certificados como indicadores de fraude. De igual forma el Grupo de Acción Financiera Internacional empezó a recomendar el uso de las banderas rojas para minimizar el riesgo en instituciones financieras y fue en 2007 cuando el Banco Mundial adoptó una nueva Estrategia de Gobernanza y Anticorrupción dónde recomendó su uso para detectar fraude y la corrupción en proyectos financiados. La mayoria de la literatura se fundamenta en las aportaciones de estos grupos.

Por ejemplo, principales investigadores en el área como Fazekas y King (2016), desarrollaron un indicador compuesto de corrupción con base en las diferentes propuestas. Como variables independientes usan banderas rojas dependiendo de la etapa del proceso: para la etapa de convocatoria sí solo hubo una empresa participante o varias (es más facil adjudicar un contrato si solo hubo una empresa), para la evaluación usan la duráción del periodo de decisión (largos periodos de decisión indican un amplio desafío legal de la decisión por lo que sugiere que la unidad compradora busca adjudicar a una empresa en específico) y para la etapa de evaluación sí el contrato fue modificado durante la evaluación (esta bandera roja sugiere que la unidad compradora busca adecuar la licitación para favorecer corruptamente a una empresa).

Se considera como principal objetivo el situar el análisis por medio del uso de un modelo econométrico multinivel debido a que existe una estructura jerárquica o anidada. Una dependenciay/o institución como lo es IMSS contiene diferentes Unidades Compradoras que realizan los procesos de contratación con diferentes empresas. Esto genera que las unidades de análisis a nivel uno, procesos de contratación, no sean independientes (comparten información) por proceder de una misma unidad compradora.

Una unidad compradora es el área que ha sido facultada para realizar operaciones y procedimientos de contratación en CompraNet, sistema electrónico de información pública en materia de contrataciones públicas. Y un proceso de contratación consta de una serie de etapas específicas (convocatoria, junta de aclaraciones, presentación de propuestas, evaluación y fallo) que tiene como objetivo principal establecer los requisitos y condiciones para todos los participantes, especialmente por lo que se refiere a tiempo y lugar de entrega, forma y tiempo de pago, penas convencionales, anticipos y garantías.

Por último, a la luz de las consideraciones anteriores, el objetivo es probar la relación entre las caracteristicas del contrato y banderas rojas especificas indicativas de posible corrupción y la probabilidad de ser sancionado por la Secretaria de la Función Pública y los Organos Internos de Control por cometer actividades de corrupción.

Datos

A lo largo del proyecto se usaran datos de procesos de contratación pública del Instituto Mexicano del Seguro Social (IMSS) del año 2018, los datos tanto de nivel 1 como de nivel 2 fueron recopilados del sitio web del Intituto Méxicano de la Competitividad (IMCO) de su estudio “Índice de Riesgos de Corrupción: Compras Públicas en México 2018-2021” La base de datos Contratos_IMSS_2018 contiene información de 1299 contratos en 70 unidades compradoras. Las variables de interés son las siguientes:

Tabla 1: Variables incluidas en el modelo.
Level 1 Level 2
id_contrataciones Clave.de.la.UC_1
Tipo.de.contratación_1 riesgo_UC_MONTO_INDICE
Tipo.de.procedimiento_1
archivo_fallo_1
archivo_apertura_1
archivo_junta_1
archivo_contrato_1
Publicación.Tardí_1
Proveedor_Sancionado_1

Variable dependiente

Variables independientes a nivel 1:

Variables independientes a nivel 2:

La Tabla 2 ofrece información descriptiva de la única variaable continua y la tabla 3 muestra información descriptiva de las variables categóricas.

Descripción de variables continuas.
Variable/ Min. 1st Qu. Median Mean 3rd Qu Max.
riesgo_UC_MONTO_INDICE -1.9816 -0.8061 0.1396 0.0000 0.7411 2.2955
Descripción de variables categóricas
Level Group_by Count Proportion
Adquisiciones Tipo.de.contratación_1 1004 77.29
Servicios Tipo.de.contratación_1 182 14.01
Arrendamientos Tipo.de.contratación_1 1 0.08
Obra Pública Tipo.de.contratación_1 89 6.85
Servicios Relacionados con la OP Tipo.de.contratación_1 23 1.77
Adjudicación Directa Tipo.de.procedimiento_1 916 70.52
Invitación a cuando menos 3 personas Tipo.de.procedimiento_1 104 8.01
Licitación Pública Tipo.de.procedimiento_1 279 21.48
0 archivo_fallo_1 939 72.29
1 archivo_fallo_1 360 27.71
0 archivo_apertura_1 938 72.21
1 archivo_apertura_1 361 27.79
0 archivo_junta_1 1002 77.14
1 archivo_junta_1 297 22.86
0 archivo_contrato_1 234 18.01
1 archivo_contrato_1 1065 81.99
0 Publicación.Tardí_1 1141 87.84
1 Publicación.Tardí_1 158 12.16
0 Proveedor_Sancionado_1 1012 77.91
1 Proveedor_Sancionado_1 287 22.09

Métodología

El método a desempeñar se basa en una estructura de datos multinivel jerarquica, ya que por un lado se elige una estructura de datos mayor (Unidades Compradoras) y luego se seleccionan casos dentro de la misma (Contratos). Por su naturaleza, existe una dependencia de los contratos dentro de cada unidad compradora por lo que permite la aplicacion de un modelo correlacionado.

Los modelos de regresión lineal comúnes no tienen la capacidad tomar en cuenta los efectos que pueden provocar en la estimación la forma en que los procesos de contratación pública se asignan a cada unidad compradora. Sí se usara un modelo de regresión lineal sin tomar en cuenta la estructura anidada no se puede diferenciar entre la varianza que se debe por el contrato y la varianza que se debe a la unidad compradora. Es decir, cuando las caracteristicas de los contratos son parecidos dentro de la unidades compradoras, pero a la vez diferentes entre unidades compradoras, el uso de técnicas tradicionales resulta en sesgos en los errores que a la vez conlleva a que la significancia de los parámetros estimados no sean consistentes.

La viabilidad del uso de una estructura de datos multinivel jerarquica radica en que toma en cuenta dicha estructura anidada de los datos dentro unidades compradoras por medio del calculo de una ecuación para cada nivel de agregación. Con ello se puede diferencias que parte de la probabilidad de ser sancionado por la Secretaria de la Función Pública es esplicado por el contrato y cuál es debida por la unidad compradora.

En casos donde la variable respuesta no puede ser tratada como una variable continua con una distribución normal la estimación del modelo se hace a través de un modelo lineal multinivel generalizado con una distribución (MLMG) binomial ya que permite variables dicotómicas.

Dentro del modelo lineal multinivel generalizado binomial los modelos logit y probit son los más comunmente usados para el modelamiento de este tipo de datos. Para este caso no existe una justificación para el uso en específico de uno de estos, sin embargo se recomienda empezar con un modelo logit por su facilidad de interpretación en comparación del modelo probit, de igual forma la literatura muestra que la elección también dependen en gran medida de las perferencias individuales del investigador (UCLA, 2021).

Por tal motivo se usará un modelo logit o regresión logística asumiendo que la transformación logistica de la variable dependiente tiene una relaciónlineal con las variables independientes.

El modelo general del corrupción en compras públicas del IMSS quedaría establecido de la siguiente manera:

Modelo Nivel-1: nivel contrato:

\[ \eta_{ij}=\beta_{0j} + \beta_{1j} Tipo.de.Procedimiento.1_{ij} + \beta_{2j} Tipo.de.contratacion.1_{ij}+\beta_{3j}Publicación.Tardí.1_{ij}+... \]

\[ ...\beta_{4j}archivo.junta.1_{ij} + \beta_{5j}archivo.apertura.1_{ij}+ \beta_{6j}archivo.fallo.1_{ij} + \beta_{7j}archivo.contrato.1_{ij} \]

Modelo nivel-2: nivel unidad compradora:

\[ \beta_{0j} = \gamma_{00} \]

\[ \beta_{1j} = \gamma_{10} \]

\[ \beta_{2j} = \gamma_{20} \]

\[ \beta_{3j} = \gamma_{30} \]

\[ \beta_{4j} = \gamma_{40} \]

\[ \beta_{5j} = \gamma_{50} \]

\[ \beta_{6j} = \gamma_{60} \]

\[ \beta_{7j} = \gamma_{70} \]

Modelo combinado: modelo multinivel:

\[ \eta_{ij} = \gamma_{00}+\gamma_{10}Tipo.de.Procedimiento.1_{ij}+\gamma_{20}Tipo.de.contratacion.1_{ij}+\gamma_{30}Publicación.Tardí.1_{ij} + ... \]

\[ ...\gamma_{40}archivo.junta.1_{ij} + \gamma_{50}archivo.apertura.1_{ij}+ \gamma_{60}archivo.fallo.1_{ij} + \gamma_{70}archivo.contrato.1_{ij} \]

Resultados

Para la estimación del modelo MLMG se va a usar la función glmer() del paquete lme4 especificando en la sitáxis del modelo family = binomial(link = “logit”) para especificar una familia de distribucion, en este caso estimar un modelo logit.
El proceso de estimación del modelo exige un análisis donde se debe de partir del modelo más simple con el objetivo de comprobar la variabilidad de la probabilidad de ser sancionado por la SFP que se deba a factores de la unidad compradora. El modelo nulo o incondicional no incluye predictores en ninguno de los dos niveles y sirve para estimar la media global de la probabilidad de ser sancionado y la varianza que queda sin explicar en cada nivel de agregación, este modelo es la base de comparación del resto de modelos que se fueron construyeron hasta tener el modelo final.

Modelo incondicional

Modelo nivel 1: nivel contrato

\[ \eta_{ij} = \beta_{0j} \]

Modelo nivel 2: nivel unidad compradora

\[ \beta_{0j}=\gamma_{00}+u_{0j} \]

Modelo combinado

\[ \eta_{ij}=\gamma_{00}+u_{0j} \]

dónde

\(\beta_{0j}=\) Representa la probabilidad promedio de la razón de momios para la unidad compradora j.

\(\gamma_{00}=\) Probabilidad promedio log de la razón de momios entre todas la unidades compradora

\(u_{0j}=\) Representa efectos aleatorios ~ N(0,\(\tau_{00}\))

El objetivo de este modelo es determinar la utilidad de emplear la regresión multinivel. Para ello se va a evaluar dos indicadores: si lo efectos aleatórios de la constante son significativos y el coeficiente de correlación intra-clase

Modelo nulo
Efectos fijos Coeficiente Error estándar
Media general (\(\gamma_{00}\)) -2.5385 0.3128
Efectos aleatorios
Nivel- 2 3.574 1.89

\(\hat{\gamma_{00}}=\) -2.5385 representa el promedio de la razón de momios de que la empresa se encuentre en la lista de empresas sancionadas por la SFP para la unidad compradora promedio.

La razón de momio del intercepto puede ser calculado aplicando la función inversa, es decir la exponencial en el parámetro estimado, la razón de momios es 0.07898147, es decir la probabilidad de que Proveedor_Sancionado_1 sea igual a 1 es aproximadamente. 0.079 que Proveedor_Sancionado_1 sea igual a 0.

Resolviendo para la probabiilidad de éxito estimada para cada intento (\(\hat{\pi_{ij}}\)) (Proveedor_Sancionado_1 = 1) obtenemos 0.073 y 1- \(\hat{\pi_{ij}}\)=0.926. Es decir la probabilidad de éxito estimada es menor que la probabilidad de fracaso estimada.

Podemos concluir que las probabilidades de que la empresa no este dentro de la lista de empresas sancionadas del la SFP es (Proveedor_Sancionado_1 = 0) son 13.5 veces tan grandes como si la empresa si eststuviera dentro de la lista de empresas sancionadas por la SFP (Proveedor_Sancionado_1 = 0)

Una de las principales incógnitas es saber sí se espera que el promedio de la razón de momios (logit) varíe entre las unidades compradoras, es decir la varianza del \(u_{0j}\). Para mostrar o dar argumentos de que si es necesario el uso de efectos aleatorios hay dos opciones: usar el intervalo de confianza de los parámetros del modelo dónde entre esos parámetros esta la varianza \(\tau_{00}\) y otra opción es estimar un modelo sin efectos aleatórios y comparar el criterio de información Akaike y el critério de información Bayesiana.

Intervalo de confianza de los parámetros del modelo incondicional
Col1 2.5% 97.5%
.sig01 1.422964 2.570266
(Intercept) -3.254616 -1.988095

La tabla anterior muestra que varianza es distinta de 0 por lo que da indicios de que el efecto aleatório es necesarios.

Comparación de AIC y BIC
Modelo df AIC BIC
model1 2 1147.312 1157.651
model0 1 1373.988 1379.158

Por otro lado, con la tabla anterior y comparando los dos critérios se puede concluir que los efectos aleatórios dan una mejor bondad de ajuste en el modelo y los datos ya que si disminuye tanto AIC y BIC en el model 1 con efecto aleatorio.

Una vez analizado lo esencial del modelo, se procede a análisar los princiaples resultados del modelo final.

Coeficientes estimados en el modelo final
Coeficientes estimados Modelo Completo
Efectos fijos Intercepto -0.9819** (0.3114)
Tipo.de.procedimiento_1INVITACIÓN A CUANDO MENOS 3 PERSONAS -2.2328 (1.4087)
Tipo.de.procedimiento_1LICITACIÓN PÚBLICA -1.0551 (1.1382)
Tipo.de.contratación_1Arrendamientos -11.5369 (1380.7893)
Tipo.de.contratación_1Obra Pública -14.8975 (483.5860)
Tipo.de.contratación_1Servicios -3.7986 *** (1.1321)
Tipo.de.contratación_1Servicios Relacionados con la OP -14.0054 (505.8038)
Publicación.Tardí_1 -3.5501 ** (1.1738)
archivo_junta_1 -1.9023 * (0.8741)
archivo_apertura_1 2.6908 (1.6100)
archivo_fallo_1 -0.5412 (1.3064)
archivo_contrato_1 -0.3780 (0.3118)
riesgo_UC_MONTO_INDICE -0.4182 * (0.2133)
Efecto aleatório (Intercept) 1.471 (1.213)

La tabla 7 muestra los coeficientes estimados del modelo final. De manera general se puede observar que ciertos variables categóricas son significativas en el modelo. Para la interpretación de los parámetros estimados, es necesario exponenciar cada parámetro estimado. Se usará la función summ de la paquetería jtool que provee una manera sencilla para hacerlo.

Coeficientes estimados Modelo Completo
Efectos fijos Intercepto 0.37** (0.31)
Tipo.de.procedimiento_1INVITACIÓN A CUANDO MENOS 3 PERSONAS 0.11 (1.4087)
Tipo.de.procedimiento_1LICITACIÓN PÚBLICA 0.35 (1.1382)
Tipo.de.contratación_1Arrendamientos 0 (1380.7893)
Tipo.de.contratación_1Obra Pública 0 (483.5860)
Tipo.de.contratación_1Servicios 0.02 *** (1.1321)
Tipo.de.contratación_1Servicios Relacionados con la OP 0.00 (505.8038)
Publicación.Tardí_1 0.03 ** (1.1738)
archivo_junta_1 0.15 * (0.8741)
archivo_apertura_1 14.74 (1.6100)
archivo_fallo_1 0.58 (1.3064)
archivo_contrato_1 0.69 (0.3118)
riesgo_UC_MONTO_INDICE 0.66 * (0.2133)
Efecto aleatório (Intercept) 1.471 (1.213)

Parámetros estimados del modelo exponenciados para interpretación.

Recordemos que la interpretación delos parámetros estimados están vinculadas a la a la razón de momios más que a las probabilidades. Enfocandonos a las variables que resultaron signnificativas podemos observar lo siguiente:

Discusión

De acuerdo a la revisión de literatura existen ciertos tipos de procedimientos en los procesos de contratación pública que son más propensos a desarrollar corrupción, uno de ellos es servicios. Esto se debe principalmente a que la contratación y el seguimiento de un servicio es más complicado. De acuerdo con Mexicanos Contra la Corrupción y la Impunidad, organización dedicada al análisis e investigación de corrupción, servicios es una de los tipo de procedimientos dónde se desarrolla más la corrupción.

De igual forma dicha organización en distintos informes ha mostrado que la falta de competencia por medio de la adjudicación directa da indicios a que la contratación desarrolle corrupción y más si no tiene el documento que justifica la adjudicación directa.

Por otro lado, en las diferentes etapas de un procesos de contratación pública se van creando diversos documentos que oficializan la etapa en la que se encuentra. De acuerdo con Ferwerda et al. (2017) la cantidad de información faltante es un indicativo de corrupción. De acuerdo al modelo arrojado se observa que el documento de junta de aclaraciones tiene relación con que la empresa se encuentre en la lista de la SFP. Dicho documento da muestra de una junta de diversos actores involucrados que dan cuenta de los requerimientos, monto y plazo. Se considera que es uno de los documentos más importantes por el hecho de que supervisa el contrato.

Es importante destacar en los datos originales la variable dependiente presentaba un problema de datos desbalanceados. Es decir el conjunto de datos de empresas que se encontraban en la lista de la SFP era significativamente menor que el conjunto de datos de empresas que no se encontraban en dicha lista. Este es un problema que se dá frecuentemente en detección de fraude y corrupción debido a la naturaleza propia del fenómeno de buscar pasar desapercibido.

De igual forma a la hora de estimar el modelo se presentaron Alertas que surgieron por la naturaleza de los datos (falla en convergecia), con apoyo de sitios webs (por ejemplo StackEschange) que ayudaron a poder solventar dichos problemas ya sea rescalando o eliminando variables, implementado diferentes optimizadores o cambiando el número de iteraciones.

Para futuras investigaciones enfocadas a corrupción en general compras públicas es importante saber afrontar de manera correcta la propia naturaleza de los datos de la dificultad de que sean captadas empresas corruptas, sancionadas o fraudes. Para este caso se uso el método de volver a muestrear el conjunto de datos predominante de tal forma que ya no estuvieran desbalanceadas por medio de un submuestreo, sin embargo esto genera que el modelo pierda poder estadístico y de estimación. Para futuras investigaciones en el campo se propone el uso de otra herramienta para lidiar con datos desbalanceados. Por ejemplo, actualmente existen algoritmos de machine learning que pueden solventar el problema de mejor manera: K- fold Cross-Validation, ensamblar diferentes conjuntosde datos remuestreados, remuestrear con diferentes proporciones, agrupacion de la clase abundante. De igual forma existen modelos especialmente diseñados para este tipo de problemas como la Zero-Inflated Negative Binomial Regression.

Referencias

Apéndice

Distribución binomial

\[ y_{ij}|\pi_{ij} - Binomial(m_{ij},\pi_{ij}) \]

donde \(y_{ij}\) es el número de éxitos en \(m_{ij}\) intentos, y \(\pi_{ij}\) es la probabilidad de éxito en cada intento. La función link más común es la logit de la media, o la logit de la probabilidad de éxito:

\[ \eta_{ij}=log(\frac{\pi_{ij}}{1-\pi_{ij}}) \]

Minería de datos.

A la base original (Contratos) de un tamaño (35668, 52) se eliminaron columnas no necesarias para el propósito del proyecto o que tenían más del 50% de variables faltantes a pesar de que fueran necesarias:

Variables eliminadas
“LP.sin.documento”, “Descripción.del.contrato”,
“IR.sin.documento”, “Fecha.de.fallo”,
“AD.sin.contrato”, “Fundamento.legal”,
“Rebasa.monto”, “Siglas.de.la.Institución”,
“Plazos.Cortos”, “Título.del.contrato”,
“Participantes”, “Contrato.marco”,
“Institución”, “Dirección.del.anuncio”,
“Clave.CUCOP”, “Diferencia.creación.contrato”,
“Carácter.del.procedimiento”, “Sin.justificación”
"Ausencia.Comp “Folio.en.el.RUPC”,
“exclusivo_mipymes_no_respetado”,

Posterior a ello, a las variables restantes que tuvieran un menor número de valores faltantes (<10%) se le fue imputado con la media o eliminado los renglones en función de la naturaleza de la variable y la razón de que hubiera valores faltantes.

Variables imputadas o con renglones eliminados.
“Reciente.creación” “Publicación.Tardía”
“Estratificación.de.la.empresa” “Forma.de.participación”

De esta manera la base de datos ya no presenta valores faltantes con un tamaño (29165, 31). La siguiente base que se uso (UC) con un tamaño (110, 11) contiene información de las unidades compradoras (segundo nivel ) por lo que se procedió a combinarlas.

Fue pertinente analizar la distribución de la variable dependiente(dicotómica) y resultó que había un gran desbalanceo entre el número de empresas sancionadas por la Secretaría de la Función Pública {empresas sancionada: 325, empresas no sancionadas: 35343}. Dado lo anterior fue pertinente realizar un muestreo aleatorio con el objetivo de balancear los datos. La muestra se compone de 2 veces el tamaño de la submuestra.

De igual forma se filtró la base de datos de tal forma de que cada unidad compradora tuviera mínimo 15 contratos.

Por ultimo, se creó la variable identificadora para cada contrato (nivel 1) como para cada unidad compradora (nivel 2).

Código de R

#Descarga de librerías necesarias

library(readxl)

library(lme4)

library(lmerTest)

Importación de base de datos

Contratos_IMSS_C <- read_excel(“Contratos_IMSS_C.xlsx”)

Modelo incondicional

model1<-glmer(Proveedor_Sancionado_1 ~ 1 + (1|Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model1)

Modelo sin efectos aleatórios

model0 <-glm(Proveedor_Sancionado_1 ~ 1,

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model0)

#intervalo de confianza de los parámetros del modelo

confint(model1)

#Comparación de BIC y AIC entre model0 y model1

AIC(model1,model0)

BIC(model1,model0)

Se convierten a factor las variables categóricas ordinales necesarias para el modelo

Contratos_IMSS_C$Tipo.de.contratación_1<-(as.factor(Contratos_IMSS_C$Tipo.de.contratación_1))

Contratos_IMSS_C$Tipo.de.procedimiento_1<-(as.factor(Contratos_IMSS_C$Tipo.de.procedimiento_1))

model2 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model2)

confint(model2)

model3 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model3)

confint(model3)

model4 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model4)

confint(model4)

model5 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model5)

confint(model5)

model6 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model6)

confint(model6)

model7 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + archivo_apertura_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model7)

confint(model7)

model8 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + archivo_apertura_1 + archivo_fallo_1 +

( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model8)

confint(model8)

model9 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + archivo_apertura_1 + archivo_fallo_1 +

archivo_contrato_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model9)

confint(model9)

model10 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + archivo_apertura_1 + archivo_fallo_1 +

archivo_contrato_1 + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model10)

confint(model10)

model11 <-glmer(Proveedor_Sancionado_1 ~ 1 + Tipo.de.procedimiento_1 + Tipo.de.contratación_1 +

Publicación.Tardí_1 + archivo_junta_1 + archivo_apertura_1 + archivo_fallo_1 +

archivo_contrato_1 + riesgo_UC_MONTO_INDICE + ( 1 | Clave.de.la.UC_1),

data = Contratos_IMSS_C,

family = binomial(link = “logit”))

summary(model11)

confint(model11)

AIC(model2,model3,model4,model5,model6,model7,model8,model9,model10,model11)

BIC(model2,model3,model4,model5,model6,model7,model8,model9,model10,model11)

anova(model2,model3,model4,model5,model6,model7,model8,model9,model10,model11)

summ(model11, exp = T)