Ajuste de curvas exponenciales y logarítmicas en Python
- Bibliotecas y módulos utilizados para el ajuste de curvas logarítmicas y exponenciales en Python
- El ajuste de curva logarítmica
- El ajuste de curva exponencial
El ajuste de curvas es una herramienta muy eficaz que se utiliza mucho para el análisis. El método de ajuste de curvas estudia la relación entre las variables independientes que también se conocen como predictores y las variables dependientes conocidas como variables de respuesta. Este método tiene como objetivo proporcionar el modelo más adecuado para ajustarse a una cierta cantidad de puntos de datos.
Hay dos tipos de ajuste de curvas:
- Ajuste de curva logarítmica
- Ajuste de curva exponencial
En este tutorial, le mostraremos métodos sobre cómo hacer un ajuste de curvas logarítmicas y un ajuste de curvas exponenciales en Python.
Bibliotecas y módulos utilizados para el ajuste de curvas logarítmicas y exponenciales en Python
Analicemos las posibles bibliotecas y módulos que puede utilizar para ejecutar programas.
La biblioteca de NumPy
Las funciones que usaremos de la biblioteca NumPy
son las siguientes.
array()
- Esta función se utiliza para crear un arrayNumPy
que es un conjunto del mismo tipo de valores y tiene un valor de índice en forma de tuplas.log()
: esta función es más una operación matemática que ayuda a calcular el logarítmico natural de un número. Ese número es parte de los elementos del array de entrada.exp()
: esta función también es una operación matemática que se utiliza para calcular la exponencial de los elementos presentes en un array de entradaNumPy
.polyfit()
: esta función ayuda a ajustar cualquier dato en una función polinomial. Hace un ajuste polinomial por mínimos cuadrados.
La biblioteca Matplotlib
La biblioteca Matplotlib
se usa principalmente para trazar en Python. Esta biblioteca se usa generalmente para crear visualizaciones en Python. En este tutorial se utiliza un módulo de esta biblioteca conocido como módulo pyplot
.
El módulo pyplot
de la biblioteca Matplotlib
es un módulo de código abierto que ayuda a que la biblioteca Matplotlib
funcione como MATLAB. Este módulo tiene muchas funciones que nos ayudan a realizar operaciones como crear un área de trazado, crear etiquetas en un trazado y más.
El ajuste de curva logarítmica
Como sugiere el nombre, aquí se traza la ecuación logarítmica. Saltemos directamente al código que hará el ajuste de curvas logarítmicas en Python.
import numpy as np
x = np.array([5, 10, 15, 20, 25])
y = np.array([3, 6, 9, 12, 15])
log_x = np.log(x)
log_y = np.log(y)
coefficients = np.polyfit(log_x, y, 1)
print(coefficients)
Producción :
[ 7.2647162 -9.64806344]
Para trazar, siga este programa.
import matplotlib.pyplot as plt
c = 7.26 * log_x - 9.64
plt.plot(log_x, y, "o")
plt.plot(log_x, c)
Producción:
En el programa anterior, primero importamos las bibliotecas necesarias. Después de eso, creamos dos matrices NumPy
como nuestros datos primarios. Luego, calculamos los valores logarítmicos de los elementos en ambas matrices. Usamos la función polyfit()
para los valores logarítmicos de los arrays x
e y
. Usando la función polyfit()
, se devuelven los coeficientes de la ecuación logarítmica.
- Después de obtener los coeficientes, usamos esos coeficientes en la ecuación logarítmica para trazar la curva.
- Finalmente, trazamos el gráfico usando la función
plot()
del módulopyplot
de la bibliotecaMatplotlib
.
El ajuste de curva exponencial
Como sugiere el nombre, aquí se representa la ecuación exponencial. Saltemos directamente al código que hará un ajuste de curva exponencial en Python.
import numpy as np
a = np.array([6, 12, 18, 24, 30])
b = np.array([4, 8, 12, 16, 20])
log_a = np.log(a)
log_b = np.log(b)
coefficients = np.polyfit(a, log_b, 1)
print(coefficients)
Producción :
[0.06520038 1.17018581]
Para trazar, aquí hay un fragmento de código que puede seguir.
c = np.exp(1.17) * np.exp(0.06 * a)
plt.plot(a, b, "o")
plt.plot(a, c)
Producción:
Se sigue el mismo procedimiento que hicimos en el ajuste de curvas logarítmicas. Pero aquí, se usa la función exponencial en lugar de la función logarítmica. Entonces, los coeficientes devueltos por la función polyfit()
se pasan en la ecuación de la función exponencial.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn