Faça ajuste de curva exponencial e logarítmica em Python

Lakshay Kapoor 30 janeiro 2023
  1. Bibliotecas e módulos usados ​​para ajuste de curva logarítmica e exponencial em Python
  2. o ajuste da curva logarítmica
  3. o ajuste da curva exponencial
Faça ajuste de curva exponencial e logarítmica em Python

O ajuste de curvas é uma ferramenta muito eficiente e amplamente utilizada para análise. O método de ajuste de curva estuda a relação entre variáveis ​​independentes que também são conhecidas como preditores e variáveis ​​dependentes conhecidas como variáveis ​​de resposta. Este método visa fornecer o modelo mais adequado para ajustar uma determinada quantidade de pontos de dados.

Existem dois tipos de ajuste de curva:

  • Ajuste de curva logarítmica
  • Ajuste de curva exponencial

Neste tutorial, mostraremos os métodos de ajuste de curva logarítmica e ajuste de curva exponencial em Python.

Bibliotecas e módulos usados ​​para ajuste de curva logarítmica e exponencial em Python

Vamos discutir as possíveis bibliotecas e módulos que você pode usar para executar programas.

a biblioteca NumPy

As funções que usaremos da biblioteca NumPy são as seguintes.

  • array() - Esta função é usada para criar um array NumPy que é um conjunto do mesmo tipo de valores e tem valor de índice na forma de tuplas.
  • log() - Esta função é mais uma operação matemática que ajuda a calcular o logarítmico natural de um número. Esse número faz parte dos elementos do array de entrada.
  • exp() - Esta função também é uma operação matemática usada para calcular o exponencial dos elementos presentes em um array de entrada NumPy.
  • polyfit() - Esta função ajuda a ajustar quaisquer dados em uma função polinomial. Ele tem o mínimo de quadrados de um ajuste polinomial.

a biblioteca Matplotlib

A biblioteca Matplotlib é usada principalmente para plotagem em Python. Essa biblioteca é geralmente usada para criar visualizações em Python. Um módulo desta biblioteca conhecido como módulo pyplot é usado neste tutorial.

O módulo pyplot da biblioteca Matplotlib é um módulo de código aberto que ajuda a fazer a biblioteca Matplotlib funcionar como o MATLAB. Este módulo tem muitas funções que nos ajudam a realizar operações como criar uma área de plotagem, criar etiquetas em uma plotagem e muito mais.

o ajuste da curva logarítmica

Como o nome sugere, a equação logarítmica é plotada aqui. Vamos pular diretamente para o código que fará o ajuste da curva logarítmica no 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)

Produção:

[ 7.2647162  -9.64806344]

Para plotagem, 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)

Produção:

curva logarítmica em python

No programa acima, primeiro importamos as bibliotecas necessárias. Depois disso, criamos duas matrizes NumPy como nossos dados primários. Em seguida, calculamos os valores logarítmicos dos elementos em ambas as matrizes. Usamos a função polyfit() para os valores logarítmicos das matrizes x e y. Usando a função polyfit(), os coeficientes da equação logarítmica são retornados.

  • Depois de obter os coeficientes, usamos esses coeficientes na equação logarítmica para traçar a curva.
  • Finalmente, traçamos o gráfico usando a função plot() do módulo pyplot da biblioteca Matplotlib.

o ajuste da curva exponencial

Como o nome sugere, a equação exponencial é plotada aqui. Vamos pular diretamente para o código que fará o ajuste da curva exponencial em 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)

Produção:

[0.06520038 1.17018581]

Para plotagem, aqui está um trecho de código que você pode seguir.

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

Produção:

curva exponencial em python

O mesmo procedimento é seguido como fizemos no ajuste da curva logarítmica. Mas aqui, a função exponencial é usada em vez da função logarítmica. Assim, os coeficientes retornados pela função polyfit() são passados ​​na equação da função 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

Artigo relacionado - Python Math