Proyecto 2, Stats for AI - Bloque 2

Tópicos avanzados de regresión múltiple: ¿qué determina una razón financiera?

Autor/a

Alberto Dorantes

Fecha de publicación

8 de octubre de 2026

Resumen
Este es un proyecto INDIVIDUAL. Tienes que diseñar, diagnosticar, corregir e interpretar un modelo de regresión múltiple que explique una razón financiera de empresas públicas de Estados Unidos, utilizando únicamente datos de 2024. Aplicarás todo lo que vimos en los Workshops 1 y 2 del Bloque 2: variables categóricas, interacciones, efectos cuadráticos, diagnóstico de leverage, outliers y observaciones influyentes, multicolinealidad, heterocedasticidad, errores estándar robustos, winsorización y regresión robusta.

1 Contexto y objetivo

Eres analista de datos en un equipo de research de una firma de inversión. El comité de inversiones quiere entender qué características de las empresas explican las diferencias en una razón financiera clave entre empresas públicas de Estados Unidos. No buscan un modelo “caja negra”: quieren un modelo de regresión múltiple bien fundamentado, confiable y fácil de interpretar, que les permita:

  1. Entender qué factores están relacionados con la razón financiera, con qué signo, magnitud y significancia estadística.
  2. Saber si esos efectos cambian según el tipo de empresa (sector, tamaño, etc.) y si son lineales o no lineales.
  3. Confiar en que las conclusiones no dependen de unas cuantas empresas extremas ni de supuestos que no se cumplen.
  4. Usar el modelo para estimar el valor esperado de la razón para empresas específicas.

Tu trabajo es diseñar ese modelo, utilizando únicamente datos del año 2024 (estructura de corte transversal: muchas empresas en un solo año).

Este proyecto corresponde a la evidencia “Tópicos avanzados de modelos de regresión múltiple” (Portafolio de Análisis) del Bloque 2. Tendrás 1 semana y media para trabajarlo, dentro y fuera de clase.

2 Tu razón financiera asignada

Para saber qué razón financiera (variable dependiente Y) te toca modelar, toma tu matrícula, suma sus 8 dígitos, calcula el módulo 3 y súmale 1. Por ejemplo, si tu matrícula es A01234567, la suma de 0+1+2+3+4+5+6+7 es 28; 28 mod 3 = 1; 1 + 1 = 2, así que te toca la Razón #2.

Razón Nombre Definición (con columnas del dataset) Pregunta de negocio
#1 Apalancamiento financiero \frac{shortdebt + longdebt}{totalassets} ¿Qué características de una empresa explican cuánta deuda financiera utiliza para financiar sus activos?
#2 Q de Tobin (aproximada) \frac{originalprice \times sharesoutstanding + totalliabilities}{totalassets} ¿Qué características de una empresa explican cuánto valora el mercado a la empresa en relación con el valor contable de sus activos?
#3 Margen operativo \frac{EBIT}{revenue}, donde EBIT = revenue - cogs - sgae - depreciation ¿Qué características de una empresa explican cuántos centavos de utilidad operativa genera por cada dólar que vende?

Indica claramente al inicio de tu notebook tu matrícula, el cálculo y tu razón asignada. Si modelas una razón que no te corresponde, el proyecto no será calificado.

3 Los datos

Tienes que utilizar los 2 datasets que están en Canvas (carpeta data):

  • usfindata.csv: datos financieros anuales de empresas públicas de Estados Unidos de 2000 a 2024 (formato largo: un renglón por empresa-año).
  • usfirms.csv: catálogo de empresas (un renglón por empresa) con el nombre y la clasificación industrial de cada empresa.

3.1 Columnas de usfindata.csv

Columna Descripción
ticker Clave de la empresa en la bolsa de valores
year Año fiscal
status Estatus de la empresa en bolsa (active / cancelled)
naics1 Sector industrial (nivel 1 de la clasificación NAICS)
revenue Ingresos totales (ventas)
cogs Costo de ventas
sgae Gastos de venta, generales y de administración
depreciation Depreciación y amortización
otherincome Otros ingresos (gastos) no operativos
extraordinaryitems Partidas extraordinarias
finexp Gastos financieros (intereses)
incometax Impuestos a la utilidad
cashflowoper Flujo de efectivo de la operación
totalassets Activos totales
currentassets Activos de corto plazo (circulantes)
accountsreceivables Cuentas por cobrar
inventory Inventarios
totalliabilities Pasivos totales
currentliabilities Pasivos de corto plazo
accountspayable Cuentas por pagar a proveedores
shortdebt Deuda financiera de corto plazo
longdebt Deuda financiera de largo plazo
retainedearnings Utilidades retenidas (acumuladas)
adjprice Precio de la acción ajustado por splits y dividendos
originalprice Precio original (no ajustado) de la acción al cierre del año fiscal
sharesoutstanding Número de acciones en circulación (en miles)
fixedassets Activo fijo (propiedad, planta y equipo)

3.2 Columnas de usfirms.csv

Columna Descripción
ticker Clave de la empresa (llave para unir con usfindata)
Nombre Nombre de la empresa
status Estatus en bolsa
partind Participación (%) de la empresa en el índice S&P 500 (vacío si no pertenece al índice)
naics1 Sector industrial (nivel 1 NAICS)
naics2 Industria (nivel 2 NAICS, más detallado)
SectorEconomatica Sector de acuerdo con la clasificación de Economatica

3.3 Notas importantes sobre los datos

  • Toda la información de dinero está en MILES de dólares americanos (1,000s USD), y sharesoutstanding está en miles de acciones. El valor de mercado de una empresa (en miles de USD) es originalprice \times sharesoutstanding. Usa originalprice (no adjprice) para calcular el valor de mercado.
  • Los archivos tienen BOM al inicio; si el nombre de la primera columna sale raro, léelos con encoding="utf-8-sig":
import pandas as pd
findata = pd.read_csv("data/usfindata.csv", encoding="utf-8-sig")
firms   = pd.read_csv("data/usfirms.csv",   encoding="utf-8-sig")
  • A diferencia del dataset de los Workshops, este dataset NO está limpio. Encontrarás empresas con activos o ventas iguales a cero, valores negativos o muy pequeños en denominadores, precios o número de acciones faltantes y razones con valores extremadamente grandes. Parte de tu trabajo es detectarlos, decidir qué hacer y justificarlo.
  • El dataset incluye empresas de todos los sectores. Las empresas del sector “Finance and Insurance” (bancos, aseguradoras, fondos) tienen una estructura de estados financieros muy distinta (por ejemplo, para un banco la deuda es su “materia prima”). Tienes que excluir este sector de tu muestra. Cualquier otra exclusión que hagas debe estar justificada.

4 Reglas del proyecto

  1. Sólo datos de 2024. Tu modelo se estima con una muestra de corte transversal del año fiscal 2024. No puedes usar datos de otros años (ni para la variable Y, ni para las variables X).
  2. Construye tus propias variables X, preferentemente como razones financieras o variables comparables entre empresas de distinto tamaño ; también puedes utilizar la industria como variable.
  3. No uses variables X “mecánicas”: variables que contienen a la variable Y o a su numerador/denominador de forma que la relación sea casi una identidad contable. Por ejemplo: si modelas el apalancamiento, no uses pasivos totales/activos como X (los pasivos incluyen la deuda); si modelas la Q de Tobin, no uses valor de mercado/valor en libros del capital; si modelas el margen operativo, no uses (ventas − costo de ventas − gastos)/ventas ni el ROA operativo. Si tienes duda de si una variable es “mecánica”, argumenta por qué no lo es.
  4. Las decisiones del modelo deben estar fundamentadas en teoría o intuición financiera, no sólo en buscar el R² más alto. Un modelo con R² alto pero con variables sin sentido o mecánicas tendrá una calificación baja.
  5. Es un proyecto individual. Puedes discutir ideas con tus compañeros, pero tu código, tus decisiones y tus interpretaciones deben ser tuyos. Si usas herramientas de IA, menciona para qué las usaste; tú eres responsable de entender y poder explicar cada línea de código y cada interpretación.

5 PARTE 1 - Preparación de datos y entendimiento de la razón financiera

  1. Filtra los datos de 2024 y une (merge) usfindata con usfirms para tener el nombre y la clasificación industrial de cada empresa. Verifica que no haya registros duplicados por ticker y reporta cuántas empresas se pierden o no hacen match.

  2. Define tu muestra de análisis: excluye “Finance and Insurance” y trata los casos problemáticos (activos o ventas ≤ 0, datos faltantes para tu razón, etc.). Muestra una tabla tipo “embudo” con cuántas empresas quedan después de cada filtro y por qué.

  3. Calcula tu razón financiera Y y las variables X candidatas.

  4. Presenta estadística descriptiva de Y y de tus variables X (media, mediana, desviación estándar, percentiles 1, 5, 95 y 99, mínimo y máximo), un histograma de Y y la distribución de Y por sector (naics1 o la clasificación que decidas usar). Comenta: ¿la distribución de Y es simétrica?, ¿hay valores extremos?, ¿cuáles empresas son? ¿Son errores de datos o empresas reales con situaciones extremas?

  5. Presenta una matriz de correlación entre Y y tus variables X candidatas, y comenta las relaciones más importantes.

6 PARTE 2 - Diseño del modelo: hipótesis

  1. Investiga en al menos 2 fuentes (artículos académicos, libros de finanzas corporativas o fuentes profesionales confiables) qué factores se han encontrado relacionados con tu razón financiera. Cita tus fuentes.

  2. Propón al menos 5 variables X (factores) y presenta una tabla con: nombre de la variable, cómo la calculas con las columnas del dataset, signo esperado de su relación con Y y la justificación financiera de ese signo.

  3. Plantea por escrito al menos:

    • Una hipótesis de interacción: ¿el efecto de alguna X sobre Y es distinto dependiendo de una variable categórica (por ejemplo, sector, grupo de tamaño, pertenencia al S&P 500) o de otra variable continua? ¿Por qué esperarías eso?
    • Una hipótesis de efecto no lineal (cuadrático): ¿por qué esperarías que el efecto de alguna X no sea constante?

7 PARTE 3 - Estimación del modelo

  1. Modelo base: estima un modelo de regresión múltiple sólo con tus variables X continuas (sin categóricas, sin interacciones). Despliega el resultado y haz una primera interpretación breve.

  2. Modelo extendido: a partir del modelo base, incorpora en forma progresiva:

    • Al menos una variable categórica (sector o grupo de tamaño, por ejemplo). Explica cuál es el grupo base y qué significan los coeficientes de las variables dummy. Si usas el sector, decide si conviene agrupar sectores con pocas empresas y justifícalo.
    • Al menos una interacción (la de tu hipótesis de la Parte 2).
    • Al menos un efecto cuadrático (el de tu hipótesis de la Parte 2).
  3. Para cada variable que agregues, usa pruebas F conjuntas (por ejemplo, todas las dummies de sector = 0; todas las interacciones = 0; término lineal y cuadrático = 0) y la comparación de modelos anidados (R² ajustado, AIC/BIC) para decidir si se queda en el modelo. Presenta una tabla comparativa de los modelos que estimaste.

  4. Escribe la ecuación del valor esperado de Y para al menos 2 grupos de tu variable categórica, mostrando cómo cambian el intercepto y la(s) pendiente(s) por la interacción.

8 PARTE 4 - Diagnóstico del modelo

Con tu modelo extendido, realiza el diagnóstico que hicimos en el Workshop 2. Tienes que calcular con álgebra matricial (como en el Workshop 2) al menos: la matriz hat y los leverages h_{ii}, los residuales estandarizados, los studentized deleted residuals, DFFITS y la distancia de Cook. Verifica tus cálculos con statsmodels.

  1. Leverage: identifica las observaciones con leverage alto (reglas 2p/n y 3p/n). ¿Qué empresas son y por qué tienen valores extremos en X?

  2. Outliers: identifica las observaciones con residuales extremos. ¿Qué empresas son?

  3. Observaciones influyentes: identifica las observaciones influyentes con DFFITS y distancia de Cook. Presenta la gráfica de leverage vs studentized deleted residual (con el tamaño del punto proporcional a la distancia de Cook).

  4. Multicolinealidad: calcula los VIF (como la diagonal de la inversa de la matriz de correlación de las X) y comenta. Si tienes términos cuadráticos o interacciones con VIF altos, evalúa si centrar las variables ayuda.

  5. Heterocedasticidad: presenta la gráfica de residuales vs valores ajustados y aplica la prueba de Breusch-Pagan. Interpreta el resultado.

  6. Resume en una tabla los problemas que encontraste en tus datos y en tu modelo.

9 PARTE 5 - Corrección de problemas y robustez

  1. Propón e implementa al menos 2 estrategias de corrección para los problemas que encontraste, y justifica cada una. Algunas opciones que vimos: transformar variables (por ejemplo, logaritmo), winsorizar variables continuas, eliminar observaciones influyentes con un criterio explícito, usar errores estándar robustos (HC3) y estimar una regresión robusta (estimadores M, por ejemplo Tukey) como prueba de robustez.

  2. Después de cada corrección, vuelve a revisar el diagnóstico: ¿mejoró el leverage máximo?, ¿cuántas observaciones influyentes quedan?, ¿sigue habiendo heterocedasticidad?

  3. Presenta una tabla y una gráfica comparativa de los coeficientes (con intervalos de confianza al 95%) de las distintas versiones del modelo: original, corregida(s) y robusta. ¿Qué conclusiones se mantienen y cuáles cambian? ¿Por qué?

  4. Elige tu modelo final y explica claramente por qué lo elegiste, incluyendo sus ventajas y desventajas frente a las otras versiones. Recuerda lo que discutimos en el Workshop 2: no basta con el ajuste estadístico, también importa la consistencia con la teoría y si el modelo responde la pregunta de interés (la empresa promedio vs la empresa “típica”).

10 PARTE 6 - Modelo final: desempeño, interpretación y predicciones

  1. Desempeño del modelo. Reporta el R², el R² ajustado, el RMSE y el MAE de tu modelo final y del modelo base. Además, evalúa el desempeño fuera de muestra con validación cruzada de 5 particiones (5-fold cross-validation) sobre las empresas de 2024: reporta el RMSE y el MAE promedio de validación para el modelo base y el modelo final. ¿Tu modelo final predice mejor que el modelo base empresas que no se usaron para estimarlo? Asegúrate de que las métricas se calculen en las mismas unidades de Y (si transformaste Y, explica cómo regresas a las unidades originales o en qué unidades reportas).

  2. Interpretación de coeficientes. Interpreta con tus propias palabras cada coeficiente del modelo final en cuanto a tipo de relación (signo), magnitud (en unidades que tengan sentido para el comité, por ejemplo puntos porcentuales) y significancia estadística (con errores HC3). Para:

    • el efecto cuadrático: calcula e interpreta el efecto marginal \frac{\partial E[Y]}{\partial X} en distintos niveles de X y, si aplica, el punto máximo/mínimo. ¿Ese punto está dentro del rango de tus datos?
    • la interacción: interpreta la pendiente de cada grupo y prueba si las diferencias entre grupos son estadísticamente significativas.
    • ¿Se cumplieron los signos esperados de tu Parte 2? Si no, propón una explicación.
  3. ¿Qué variable tiene mayor poder explicativo? Usa coeficientes estandarizados (o la estrategia que consideres adecuada) y justifica.

  4. Predicciones. Escoge 3 empresas reales de tu muestra (de distintos sectores o tamaños; al menos una que pertenezca al S&P 500). Para cada una calcula el valor esperado de Y según tu modelo, su intervalo de confianza al 95% para el valor esperado y su intervalo de predicción al 95%, y compáralos con el valor real de Y. Explica la diferencia entre ambos intervalos e interpreta: ¿la empresa está por arriba o por abajo de lo que el modelo espera para una empresa con sus características? ¿Qué podría explicar esa diferencia?

11 PARTE 7 - Conclusiones

Escribe una conclusión dirigida al comité de inversiones (máximo 1 página) que responda la pregunta de negocio de tu razón financiera. Incluye:

  • Los 3 hallazgos principales de tu modelo y qué tan robustos son.
  • Las limitaciones de tu análisis (por ejemplo: corte transversal de un solo año, relación vs causalidad, variables omitidas, decisiones de limpieza de datos).
  • Qué harías para mejorar el modelo si tuvieras más tiempo o más datos.

12 Entregables y fechas

Entregable Contenido Fecha
Avance (en clase, no se califica, pero recibes retroalimentación) Partes 1, 2 y el modelo base de la Parte 3 Ver Canvas
Entrega final Proyecto completo (Partes 1 a 7) Ver Canvas

Para la entrega final tienes que subir a Canvas:

  1. Tu Jupyter Notebook (.ipynb) con todo el código ejecutado, y
  2. La versión HTML de tu notebook (con todos los resultados y gráficas visibles).

Tu notebook debe estar organizado con las secciones de este documento. En cada paso explica qué haces, cómo lo haces y cómo interpretas el resultado: un notebook con sólo código y resultados sin explicación no cumple con el objetivo de la evidencia.

13 Criterios de evaluación

El proyecto se califica en escala de 0 a 100 y se convierte a los puntos del criterio SMA0102 Técnicas analíticas del Portafolio de Análisis como se describe en el documento de criterios de evaluación del Módulo.

Criterio ¿Qué se evalúa? Partes Peso
Realiza los pasos adecuados para calibrar un modelo estadístico Preparación y justificación de la muestra; variables bien construidas y no mecánicas; diseño fundamentado en teoría; uso correcto de variables categóricas, interacción y efecto cuadrático; pruebas F; diagnóstico completo (con álgebra matricial); correcciones justificadas y elección del modelo final 1, 2, 3, 4, 5 45%
Mide correctamente el desempeño del modelo y sus métricas son correctas R², R² ajustado, RMSE, MAE dentro y fuera de muestra (validación cruzada); comparación correcta entre modelos; inferencia con errores robustos 5, 6a 20%
Interpreta los coeficientes del modelo y los resultados de las predicciones en el contexto del problema Interpretación correcta de signo, magnitud y significancia; efectos marginales del término cuadrático; pendientes por grupo; predicciones con intervalos de confianza y de predicción; conclusiones para el comité 6b, 6c, 6d, 7 35%

Recomendación: no dejes el diagnóstico (Partes 4 y 5) para el final. Es la parte que más tiempo lleva y la que determina qué tan confiables son tus conclusiones.