Como realizar o ajuste de mínimos quadrados em numpy (com exemplo)


O método dos mínimos quadrados é um método que podemos usar para encontrar a linha de regressão que melhor se ajusta a um determinado conjunto de dados.

Podemos usar a função linalg.lstsq( ) em NumPy para realizar um ajuste de mínimos quadrados.

O exemplo passo a passo a seguir mostra como usar esta função na prática.

Etapa 1: insira os valores de X e Y

Vamos começar criando os seguintes arrays NumPy:

 import numpy as np

#define x and y arrays
x = np. array ([6, 7, 7, 8, 12, 14, 15, 16, 16, 19])

y = np. array ([14, 15, 15, 17, 18, 18, 19, 24, 25, 29])

Etapa 2: execute o ajuste de mínimos quadrados

Podemos usar o código a seguir para realizar um ajuste de mínimos quadrados e encontrar a linha que melhor “se ajusta” aos dados:

 #perform least squares fitting
n.p. linalg . lstsq (np. vstack ([x, np. ones ( len (x))]). T , y, rcond= None )[ 0 ]

array([0.96938776, 7.76734694])

O resultado é uma tabela contendo os valores de inclinação e intercepto da reta de melhor ajuste.

Pelo resultado podemos ver:

  • Inclinação: 0,969
  • Roubos: 7.767

Usando esses dois valores, podemos escrever a equação para a reta de melhor ajuste:

ŷ = 7,767 + 0,969x

Etapa 3: interprete os resultados

Veja como interpretar a linha de melhor ajuste:

  • Quando x é 0, o valor médio de y é 7,767 .
  • Para cada aumento de uma unidade em x, y aumenta em média 0,969 .

Também podemos usar a linha de melhor ajuste para prever o valor de y com base no valor de x.

Por exemplo, se xa tiver um valor de 10, então prevemos que o valor de y seria 17,457 :

  • ŷ = 7,767 + 0,969x
  • ŷ = 7,767 + 0,969(10)
  • ŷ = 17,457

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no NumPy:

Como remover elementos específicos do array NumPy
Como obter o índice de valor máximo no array NumPy
Como preencher um array NumPy com valores

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *