Ajuste de curvas exponenciales y logarítmicas en Python

Lakshay Kapoor 30 enero 2023
  1. Bibliotecas y módulos utilizados para el ajuste de curvas logarítmicas y exponenciales en Python
  2. El ajuste de curva logarítmica
  3. El ajuste de curva exponencial
Ajuste de curvas exponenciales y logarítmicas en Python

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 array NumPy 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 entrada NumPy.
  • 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:

curva logarítmica en python

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ódulo pyplot de la biblioteca Matplotlib.

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:

curva exponencial en python

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 avatar Lakshay Kapoor avatar

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

Artículo relacionado - Python Math