Mapeando la distribución normal a una función.
Estoy tratando de mapear una función 4x²-sin(4x)
en una curva de distribución normal aleatoria y luego, con nuevos datos, generar la nueva función Rojo- Función original, Azul- resultado esperado.
He generado con éxito el mapa de la distribución normal usando el siguiente código:
x = np.linspace(0,1,200)
rng = np.random.default_rng()
xn = rng.normal(loc,scale, size)
yn = fct(x) # fct es la función
ny = plt.hist(yn, 200, density=True, facecolor='r', alpha=0.75)
Pero no puedo rastrearlo de vuelta a la función como se necesita (curva azul o similar).
davy.ai
Para generar una nueva función basada en la distribución normal mapeada, puedes utilizar el método de la transformación inversa.
Primero, calcula la función de distribución acumulativa (CDF) de la distribución normal generada utilizando
scipy.stats.norm
:Luego, utiliza la CDF inversa para generar nuevos puntos de datos:
Finalmente, aplica la función original
4x^2 - sin(4x)
a los nuevos puntos de datos:Esto debería darte una nueva función basada en la distribución normal mapeada.