Cara melakukan least squares fit di numpy (dengan contoh)


Metode kuadrat terkecil adalah metode yang dapat kita gunakan untuk mencari garis regresi yang paling sesuai dengan kumpulan data tertentu.

Kita dapat menggunakan fungsi linalg.lstsq( ) di NumPy untuk melakukan penyesuaian kuadrat terkecil.

Contoh langkah demi langkah berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Langkah 1: Masukkan nilai X dan Y

Mari kita mulai dengan membuat array NumPy berikut:

 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])

Langkah 2: Lakukan penyesuaian kuadrat terkecil

Kita dapat menggunakan kode berikut untuk melakukan pencocokan kuadrat terkecil dan menemukan baris yang paling “sesuai” dengan data:

 #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])

Hasilnya adalah tabel yang berisi nilai kemiringan dan intersep dari garis yang paling sesuai.

Dari hasilnya kita dapat melihat:

  • Kemiringan: 0,969
  • Mencuri: 7.767

Dengan menggunakan kedua nilai ini, kita dapat menulis persamaan garis yang paling sesuai:

ŷ = 7,767 + 0,969x

Langkah 3: Interpretasikan hasilnya

Berikut cara menafsirkan garis yang paling sesuai:

  • Ketika x adalah 0, nilai rata-rata y adalah 7,767 .
  • Untuk setiap kenaikan satu unit x, y meningkat rata-rata sebesar 0,969 .

Kita juga dapat menggunakan garis yang paling sesuai untuk memprediksi nilai y berdasarkan nilai x.

Misalnya, jika xa bernilai 10 maka kita prediksi nilai y adalah 17.457 :

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

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di NumPy:

Cara menghapus elemen tertentu dari array NumPy
Cara mendapatkan indeks nilai maksimum dalam array NumPy
Cara mengisi array NumPy dengan nilai

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *