Cara menghitung residu standar dengan python
Residual adalah selisih antara nilai observasi dan nilai prediksi dalam model regresi .
Ini dihitung sebagai berikut:
Sisa = Nilai yang diamati – Nilai yang diprediksi
Jika kita memplot nilai observasi dan menempatkan garis regresi yang dipasang, residu untuk setiap observasi akan menjadi jarak vertikal antara observasi dan garis regresi:
Salah satu jenis residu yang sering kita gunakan untuk mengidentifikasi outlier dalam model regresi disebut residu terstandarisasi .
Ini dihitung sebagai berikut:
r i = e i / s( ei ) = e i / RSE√ 1-h ii
Emas:
- e i : Residu ke -i
- RSE: kesalahan standar sisa model
- h ii : Meningkatnya observasi ke-i
Dalam praktiknya, kita sering menganggap residu terstandar yang nilai absolutnya lebih besar dari 3 sebagai outlier.
Tutorial ini memberikan contoh langkah demi langkah tentang cara menghitung residu standar dengan Python.
Langkah 1: Masukkan datanya
Pertama, kita akan membuat kumpulan data kecil untuk digunakan dengan Python:
import pandas as pd #create dataset df = pd. DataFrame ({' x ': [8, 12, 12, 13, 14, 16, 17, 22, 24, 26, 29, 30], ' y ': [41, 42, 39, 37, 35, 39, 45, 46, 39, 49, 55, 57]})
Langkah 2: Sesuaikan model regresi
Selanjutnya, kita akan memasang model regresi linier sederhana :
import statsmodels. api as sm
#define response variable
y = df[' y ']
#define explanatory variable
x = df[' x ']
#add constant to predictor variables
x = sm. add_constant (x)
#fit linear regression model
model = sm. OLS (y,x). fit ()
Langkah 3: Hitung residu standar
Selanjutnya, kami akan menghitung residu standar model:
#create instance of influence influence = model. get_influence () #obtain standardized residuals standardized_residuals = influence. reside_studentized_internal #display standardized residuals print (standardized_residuals) [ 1.40517322 0.81017562 0.07491009 -0.59323342 -1.2482053 -0.64248883 0.59610905 -0.05876884 -2.11711982 -0.066556 0.91057211 1.26973888]
Dari hasil tersebut, kita dapat melihat bahwa tidak ada satu pun residu terstandar yang melebihi nilai absolut 3. Dengan demikian, tidak ada satu pun observasi yang tampak outlier.
Langkah 4: Visualisasikan residu standar
Terakhir, kita dapat membuat plot sebar untuk memvisualisasikan nilai variabel prediktor terhadap residu standar:
import matplotlib. pyplot as plt
plt. scatter (df.x, standardized_residuals)
plt. xlabel (' x ')
plt. ylabel (' Standardized Residuals ')
plt. axhline (y=0, color=' black ', linestyle=' -- ', linewidth=1)
plt. show ()
Sumber daya tambahan
Apa itu residu?
Apa yang dimaksud dengan residu terstandar?
Cara menghitung residu standar di R
Cara menghitung residu standar di Excel