Hoe least squares fit in numpy uit te voeren (met voorbeeld)
De kleinste kwadratenmethode is een methode die we kunnen gebruiken om de regressielijn te vinden die het beste bij een gegeven set gegevens past.
We kunnen de functie linalg.lstsq( ) in NumPy gebruiken om een aanpassing van de kleinste kwadraten uit te voeren.
Het volgende stap-voor-stap voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Stap 1: Voer de waarden in voor X en Y
Laten we beginnen met het maken van de volgende NumPy-arrays:
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])
Stap 2: Voer de kleinste kwadratenaanpassing uit
We kunnen de volgende code gebruiken om een kleinste kwadraten-fit uit te voeren en de rij te vinden die het beste bij de gegevens past:
#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])
Het resultaat is een tabel met de hellings- en snijpuntwaarden van de best passende lijn.
Uit het resultaat kunnen we zien:
- Helling: 0,969
- Steelt: 7.767
Met behulp van deze twee waarden kunnen we de vergelijking schrijven voor de best passende lijn:
ŷ = 7,767 + 0,969x
Stap 3: Interpreteer de resultaten
Zo interpreteert u de lijn die het beste past:
- Wanneer x 0 is, is de gemiddelde waarde van y 7,767 .
- Voor elke eenheidstoename in x neemt y gemiddeld met 0,969 toe.
We kunnen ook de best passende lijn gebruiken om de waarde van y te voorspellen op basis van de waarde van x.
Als xa bijvoorbeeld de waarde 10 heeft, voorspellen we dat de waarde van y 17,457 zou zijn:
- ŷ = 7,767 + 0,969x
- ŷ = 7,767 + 0,969(10)
- ŷ = 17,457
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in NumPy kunt uitvoeren:
Hoe specifieke elementen uit de NumPy-array te verwijderen
Hoe u de maximale waarde-index in de NumPy-array kunt krijgen
Hoe een NumPy-array met waarden te vullen