0% encontró este documento útil (0 votos)
9 vistas4 páginas

Regresión Simbólica en Modelos Físicos

El documento presenta un módulo sobre regresión simbólica aplicada a modelos físicos, destacando su capacidad para descubrir expresiones matemáticas a partir de datos sin suponer una forma funcional previa. Se describe la implementación de la técnica utilizando la librería PySR en Python, incluyendo la generación de datos sintéticos y el entrenamiento del modelo. Además, se enfatiza la interpretabilidad de los modelos resultantes y su utilidad en la extracción de leyes adimensionales.

Cargado por

Mister Palta
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas4 páginas

Regresión Simbólica en Modelos Físicos

El documento presenta un módulo sobre regresión simbólica aplicada a modelos físicos, destacando su capacidad para descubrir expresiones matemáticas a partir de datos sin suponer una forma funcional previa. Se describe la implementación de la técnica utilizando la librería PySR en Python, incluyendo la generación de datos sintéticos y el entrenamiento del modelo. Además, se enfatiza la interpretabilidad de los modelos resultantes y su utilidad en la extracción de leyes adimensionales.

Cargado por

Mister Palta
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Módulo 4: Regresión simbólica aplicada a modelos fı́sicos

Serie de aprendizaje en Google Colab

Contexto
En el modelado de fenómenos fı́sicos, a menudo se busca identificar relaciones funcionales explı́citas
entre parámetros mediante experimentación o simulación numérica. La regresión simbólica es una
técnica de inteligencia artificial que permite descubrir expresiones matemáticas directamente desde
los datos, sin necesidad de suponer a priori la forma funcional.

Objetivo
Aplicar un método de regresión simbólica a datos fı́sicos simulados, buscando obtener una fórmula
interpretable de la forma:
Y ≈ f (X1 , X2 , . . . , Xn )
donde f es una combinación de operaciones algebraicas, funciones elementales y constantes numéricas.

Fundamento técnico
La regresión simbólica explora el espacio de funciones matemáticas mediante técnicas como:

• Algoritmos evolutivos (genéticos): generan y seleccionan expresiones por rendimiento.

• Expansión guiada por derivadas: para acelerar la convergencia.

• Evaluación simbólica y validación cruzada.

Implementación en Python
Instalación de la librerı́a PySR
Para ejecutar el modelo simbólico utilizaremos PySR, que implementa regresión simbólica con búsqueda
evolutiva y diferenciación automática. Esta librerı́a depende internamente del lenguaje Julia, por lo
cual su instalación requiere pasos adicionales, especialmente en entornos como Google Colab. Para
ello se recomienda el siguiente bloque de instalación:
# Solo es necesario ejecutarlo una vez por entorno :
! pip install pysr -- quiet
import os
os . environ [ " PYTHONBREAKPOINT " ] = " 0 "
from pysr import pysr_install
pysr_install ()

1
Generación de datos sintéticos
Creamos un conjunto de datos que simulan una ley adimensional compleja que relaciona cuatro
variables fı́sicas: Re, F r, W e, L/H. Se incluye ruido multiplicativo para representar incertidumbre
numérica:
import numpy as np
import pandas as pd
np . random . seed (0)

n = 500
Re = np . random . uniform (100 , 10000 , n )
Fr = np . random . uniform (0.1 , 5 , n )
We = np . random . uniform (1 , 100 , n )
LH = np . random . uniform (0.1 , 10 , n )

# R e l a c i n f s i c a tipo ley de potencias con ruido


Y = 2.5 * ( Re **0.5) * ( Fr **0.3) / ( We **0.2 * LH **0.1)
Y *= np . exp (0.05 * np . random . randn ( n ) ) # ruido log - normal
X = pd . DataFrame ({ " Re " : Re , " Fr " : Fr , " We " : We , " LH " : LH })

Entrenamiento del modelo de regresión simbólica


Configuramos el modelo especificando operadores básicos y funciones matemáticas. El modelo
buscará expresiones matemáticas que minimicen el error cuadrático entre predicción y verdad:
from pysr import PySRRegressor

model = PySRRegressor (
niterations =100 ,
binary_operators =[ " + " , " -" , " * " , " / " ] ,
unary_operators =[ " sqrt " , " log " , " exp " ] ,
loss = " loss (x , y ) = ( x - y ) ^2 " ,
model_selection = " best " ,
verbosity =1
)
model . fit (X , Y )

Extracción e interpretación del modelo resultante


El modelo guarda un conjunto de expresiones candidatas, cada una con una puntuación. Se selec-
ciona la mejor según precisión vs. complejidad:
print ( model ) # Muestra todos los modelos descubiertos
print ( model . get_best () ) # Devuelve la mejor f r m u l a encontrada

Interpretación del modelo


• La expresión obtenida es explı́cita y diferenciable.

• Permite extrapolar si las variables están bien condicionadas.

• Puede aproximar relaciones como leyes de potencias, logaritmos, combinaciones no lineales.

2
Ventajas
• Salida interpretable (white-box).

• Ideal para extracción de leyes adimensionales.

• Compatible con validación fı́sica posterior.

3
Apéndice D: Detalles algorı́tmicos
D.1 Búsqueda evolutiva
El espacio de funciones se recorre mediante selección natural:

1. Se generan expresiones iniciales aleatorias.

2. Se evalúa su desempeño sobre el conjunto de datos.

3. Se cruzan, mutan y seleccionan por complejidad y error.

4. Se itera hasta converger.

D.2 Selección de expresiones


PySR evalúa un conjunto de modelos y selecciona el mejor trade-off entre error y complejidad de
la expresión.

D.3 Referencias
Cranmer, M., et al. (2020). ”Discovering Symbolic Models using Mixed-Integer Nonlinear Pro-
gramming”.
GitHub: [Link]

También podría gustarte