Jak wykonać dopasowanie metodą najmniejszych kwadratów w numpy (z przykładem)
Metoda najmniejszych kwadratów to metoda, za pomocą której możemy znaleźć linię regresji, która najlepiej pasuje do danego zestawu danych.
Możemy użyć funkcji linalg.lstsq( ) w NumPy, aby wykonać dopasowanie metodą najmniejszych kwadratów.
Poniższy przykład krok po kroku pokazuje, jak w praktyce wykorzystać tę funkcję.
Krok 1: Wprowadź wartości X i Y
Zacznijmy od utworzenia następujących tablic 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])
Krok 2: Wykonaj dopasowanie metodą najmniejszych kwadratów
Możemy użyć poniższego kodu, aby przeprowadzić dopasowanie metodą najmniejszych kwadratów i znaleźć wiersz, który najlepiej „pasuje” do danych:
#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])
Rezultatem jest tabela zawierająca wartości nachylenia i przecięcia linii najlepiej dopasowanej.
Z wyniku możemy zobaczyć:
- Nachylenie: 0,969
- Kradnie: 7767
Korzystając z tych dwóch wartości, możemy zapisać równanie linii najlepszego dopasowania:
ŷ = 7,767 + 0,969x
Krok 3: Interpretacja wyników
Oto jak zinterpretować linię najlepszego dopasowania:
- Gdy x wynosi 0, średnia wartość y wynosi 7,767 .
- Na każdą jednostkę wzrostu x, y wzrasta średnio o 0,969 .
Możemy również użyć linii najlepszego dopasowania, aby przewidzieć wartość y na podstawie wartości x.
Na przykład, jeśli xa ma wartość 10, wówczas przewidujemy, że wartość y wyniesie 17,457 :
- ŷ = 7,767 + 0,969x
- ŷ = 7,767 + 0,969(10)
- ŷ = 17,457
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w NumPy:
Jak usunąć określone elementy z tablicy NumPy
Jak uzyskać indeks maksymalnej wartości w tablicy NumPy
Jak wypełnić tablicę NumPy wartościami