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