generar_datos
Descripción General
Este módulo implementa un generador completo de datos sintéticos de crédito hipotecario para Colombia con distribución realista de riesgo crediticio.
Características principales:
Generación de 10,000+ registros sintéticos realistas
Distribución de riesgo: 60% Bajo, 25% Medio, 15% Alto
Correlaciones creíbles entre variables
Capacidad residual 100% positiva garantizada
Validaciones automáticas de consistencia
Clases Principales
GeneradorCreditoHipotecarioRealista
Métodos Principales
generar
Genera el dataset completo ejecutando todas las fases de generación.
- Returns:
DataFrame con todos los datos generados
Fases de generación:
Variables demográficas (edad, ciudad, estrato, educación)
Variables laborales (tipo empleo, antigüedad, salario)
Variables financieras (demandas, puntaje DataCrédito, patrimonio)
Variables del crédito (valor inmueble, cuota inicial, plazo)
Características derivadas (DTI, LTV, capacidad residual)
Nivel de riesgo (clasificación final)
exportar_csv
Exporta el dataset generado a formato CSV.
- Parameters:
nombre_archivo(str): Nombre del archivo de salida
exportar_metadata
Exporta metadata de la generación en formato JSON.
- Parameters:
nombre_archivo(str): Nombre del archivo de metadata
Funciones Auxiliares
generar_datos_credito_realista
Función principal para generar datos de crédito hipotecario con configuración realista.
- Parameters:
n_registros(int): Número de registros (default: 10000)semilla(int): Semilla aleatoria (default: 42)exportar_csv(bool): Si exportar a CSV (default: True)exportar_metadata(bool): Si exportar metadata (default: True)
- Returns:
DataFrame con datos generados
Ejemplo:
from src.generar_datos import generar_datos_credito_realista
# Generar 5000 registros
df = generar_datos_credito_realista(
n_registros=5000,
semilla=42,
exportar_csv=True,
exportar_metadata=True
)
print(f"Generados {len(df)} registros")
print(f"Columnas: {df.columns.tolist()}")
Variables Generadas
El generador crea las siguientes variables:
- Demográficas:
edad: Edad del solicitante (22-65 años)ciudad: Ciudad de residenciaestrato_socioeconomico: Estrato (1-6)nivel_educacion: Nivel educativoestado_civil: Estado civilpersonas_a_cargo: Número de dependientes
- Laborales:
tipo_empleo: Formal/Informal/Independienteantiguedad_empleo: Años en el empleo actualsalario_mensual: Ingreso mensual (COP)egresos_mensuales: Gastos mensuales (COP)
- Financieras:
puntaje_datacredito: Score crediticio (150-950)numero_demandas: Demandas legalespatrimonio_total: Patrimonio total (COP)numero_propiedades: Propiedades actualessaldo_promedio_banco: Saldo bancario promedio
- Del Crédito:
valor_inmueble: Valor del inmueble (COP)porcentaje_cuota_inicial: Porcentaje de cuota inicialvalor_cuota_inicial: Valor de cuota inicial (COP)monto_credito: Monto del crédito (COP)plazo_credito: Plazo en añostasa_interes_anual: Tasa de interés anual (%)cuota_mensual: Cuota mensual (COP)
- Derivadas:
ltv: Loan-to-Value ratio (%)dti: Debt-to-Income ratio (%)capacidad_ahorro: Capacidad de ahorro mensualcapacidad_residual: Capacidad residual después de cuotanivel_riesgo: Clasificación de riesgo (Bajo/Medio/Alto)
Validaciones Implementadas
El generador incluye validaciones automáticas:
Salario > Egresos: Garantizado en todos los casos
DTI ≤ 40%: Ratio de endeudamiento controlado
Capacidad Residual ≥ 0: 100% de casos con capacidad positiva
Edad + Plazo ≤ 80: Restricción de edad máxima al finalizar crédito
Correlaciones realistas: Verificación de correlaciones esperadas
Notas de Implementación
Mejoras realistas implementadas:
Distribución de riesgo ajustada a la realidad (60-25-15)
Salarios y valores de inmuebles más conservadores
Correlaciones suaves entre variables
Impacto realista de demandas en puntaje DataCrédito
DTI máximo garantizado de 35%
Capacidad residual siempre positiva
Configuración por defecto:
10,000 registros
Semilla aleatoria: 42
Distribución de ciudades según población real
Estratos según distribución urbana colombiana
Salarios ajustados por ciudad y educación
Ver también
data_processor - Procesamiento de datos generados
feature_engineering - Ingeniería de características
supervised_models - Modelos de clasificación