Come eseguire l'adattamento dei minimi quadrati in numpy (con esempio)
Il metodo dei minimi quadrati è un metodo che possiamo utilizzare per trovare la retta di regressione che meglio si adatta a un dato insieme di dati.
Possiamo usare la funzione linalg.lstsq( ) in NumPy per eseguire una regolazione dei minimi quadrati.
Il seguente esempio passo passo mostra come utilizzare questa funzione nella pratica.
Passaggio 1: inserisci i valori per X e Y
Iniziamo creando i seguenti array 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])
Passaggio 2: eseguire la regolazione dei minimi quadrati
Possiamo utilizzare il codice seguente per eseguire un adattamento ai minimi quadrati e trovare la riga che meglio “si adatta” ai dati:
#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])
Il risultato è una tabella contenente i valori di pendenza e di intercetta della retta più adatta.
Dal risultato possiamo vedere:
- Pendenza: 0,969
- Rubate: 7.767
Utilizzando questi due valori, possiamo scrivere l’equazione per la retta di miglior adattamento:
ŷ = 7,767 + 0,969x
Passaggio 3: interpretare i risultati
Ecco come interpretare la retta di best fit:
- Quando x è 0, il valore medio di y è 7,767 .
- Per ogni aumento unitario di x, y aumenta in media di 0,969 .
Possiamo anche utilizzare la linea di adattamento migliore per prevedere il valore di y in base al valore di x.
Ad esempio, se xa ha un valore pari a 10, allora prevediamo che il valore di y sarà 17.457 :
- ŷ = 7,767 + 0,969x
- ŷ = 7,767 + 0,969(10)
- ŷ = 17.457
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in NumPy:
Come rimuovere elementi specifici dall’array NumPy
Come ottenere l’indice del valore massimo nell’array NumPy
Come riempire un array NumPy con valori