Ajustement de courbes exponentielles et logarithmiques en Python

Lakshay Kapoor 30 janvier 2023
  1. Bibliothèques et modules utilisés pour l’ajustement de courbes logarithmiques et exponentielles en Python
  2. L’ajustement de la courbe logarithmique
  3. L’ajustement de la courbe exponentielle
Ajustement de courbes exponentielles et logarithmiques en Python

L’ajustement de courbe est un outil très efficace qui est largement utilisé pour l’analyse. La méthode d’ajustement de courbe étudie la relation entre les variables indépendantes, également appelées prédicteurs, et les variables dépendantes, appelées variables de réponse. Cette méthode vise à fournir le modèle le plus approprié pour s’adapter à un certain nombre de points de données.

Il existe deux types d’ajustement de courbe :

  • Ajustement de courbe logarithmique
  • Ajustement de courbe exponentielle

Dans ce didacticiel, nous allons vous montrer des méthodes pour effectuer un ajustement de courbe logarithmique et un ajustement de courbe exponentiel en Python.

Bibliothèques et modules utilisés pour l’ajustement de courbes logarithmiques et exponentielles en Python

Discutons des bibliothèques et modules possibles que vous pouvez utiliser pour exécuter des programmes.

La bibliothèque NumPy

Les fonctions que nous utiliserons à partir de la bibliothèque NumPy sont les suivantes.

  • array() - Cette fonction est utilisée pour créer un tableau NumPy qui est un ensemble de valeurs du même type et a une valeur d’index sous forme de tuples.
  • log() - Cette fonction est plus une opération mathématique qui permet de calculer la logarithmique naturelle d’un nombre. Ce nombre fait partie des éléments du tableau d’entrée.
  • exp() - Cette fonction est également une opération mathématique utilisée pour calculer l’exponentielle des éléments présents dans un tableau NumPy en entrée.
  • polyfit() - Cette fonction aide à ajuster n’importe quelle donnée dans une fonction polynomiale. Il s’agit des moindres carrés d’un ajustement polynomial.

La bibliothèque Matplotlib

La bibliothèque Matplotlib est principalement utilisée pour le traçage en Python. Cette bibliothèque est généralement utilisée pour créer des visualisations en Python. Un module de cette bibliothèque appelé module pyplot est utilisé dans ce tutoriel.

Le module pyplot de la bibliothèque Matplotlib est un module open source qui permet de faire fonctionner la bibliothèque Matplotlib comme MATLAB. Ce module possède de nombreuses fonctions qui nous aident à effectuer des opérations telles que la création d’une zone de traçage, la création d’étiquettes sur un tracé, etc.

L’ajustement de la courbe logarithmique

Comme son nom l’indique, l’équation logarithmique est tracée ici. Passons directement au code qui fera l’ajustement de courbe logarithmique 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)

Production:

[ 7.2647162  -9.64806344]

Pour tracer, suivez ce programme.

import matplotlib.pyplot as plt

c = 7.26 * log_x - 9.64
plt.plot(log_x, y, "o")
plt.plot(log_x, c)

Production:

courbe logarithmique en python

Dans le programme ci-dessus, nous importons d’abord les bibliothèques nécessaires. Après cela, nous créons deux tableaux NumPy comme données primaires. Ensuite, nous calculons les valeurs logarithmiques des éléments dans les deux tableaux. Nous utilisons la fonction polyfit() à la fois pour les valeurs logarithmiques des tableaux x et y. En utilisant la fonction polyfit(), les coefficients de l’équation logarithmique sont renvoyés.

  • Après avoir obtenu les coefficients, nous utilisons ces coefficients sur l’équation logarithmique pour tracer la courbe.
  • Enfin, on trace le graphe à l’aide de la fonction plot() du module pyplot de la librairie Matplotlib.

L’ajustement de la courbe exponentielle

Comme son nom l’indique, l’équation exponentielle est tracée ici. Passons directement au code qui fera l’ajustement de courbe exponentielle 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)

Production:

[0.06520038 1.17018581]

Pour le traçage, voici un extrait de code que vous pouvez suivre.

c = np.exp(1.17) * np.exp(0.06 * a)
plt.plot(a, b, "o")
plt.plot(a, c)

Production:

courbe exponentielle en python

La même procédure est suivie que nous l’avons fait dans l’ajustement de la courbe logarithmique. Mais ici, la fonction exponentielle est utilisée à la place de la fonction logarithmique. Ainsi, les coefficients renvoyés par la fonction polyfit() sont passés dans l’équation de la fonction exponentielle.

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

Article connexe - Python Math