Cara membuat plot sisa dengan python


Plot sisa adalah jenis plot yang menampilkan nilai yang sesuai dengan sisa model regresi .

Jenis plot ini sering digunakan untuk mengevaluasi apakah model regresi linier sesuai atau tidak untuk kumpulan data tertentu dan untuk memeriksa residu untuk heteroskedastisitas .

Tutorial ini menjelaskan cara membuat plot sisa untuk model regresi linier dengan Python.

Contoh: plot sisa dengan Python

Untuk contoh ini, kita akan menggunakan kumpulan data yang mendeskripsikan atribut 10 pemain bola basket:

 import numpy as np
import pandas as pd

#create dataset
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view dataset
df

	rating points assists rebounds
0 90 25 5 11
1 85 20 7 8
2 82 14 7 10
3 88 16 8 6
4 94 27 5 6
5 90 20 7 9
6 76 12 6 6
7 75 15 9 10
8 87 14 9 10
9 86 19 5 7

Plot sisa untuk regresi linier sederhana

Misalkan kita memasang model regresi linier sederhana dengan menggunakan poin sebagai variabel prediktor dan nilai sebagai variabel respon:

 #import necessary libraries
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.formula.api import ols

#fit simple linear regression model
model = ols('rating ~ points', data=df). fit ()

#view model summary
print(model.summary())

Kita dapat membuat plot sisa atau plot pas menggunakan fungsi plot_regress_exog() dari perpustakaan statsmodels:

 #define figure size
fig = plt.figure(figsize=(12,8))

#produce regression plots
fig = sm.graphics.plot_regress_exog(model, ' points ', fig=fig)

Plot sisa dengan Python

Empat plot diproduksi. Yang di pojok kanan atas adalah plot sisa versus plot yang disesuaikan. Sumbu x pada plot ini menunjukkan nilai sebenarnya dari titik variabel prediktor dan sumbu y menunjukkan sisa nilai tersebut.

Karena residu tampak tersebar secara acak di sekitar nol, hal ini menunjukkan bahwa heteroskedastisitas tidak menjadi masalah pada variabel prediktor.

Plot sisa untuk regresi linier berganda

Misalkan kita menyesuaikan model regresi linier berganda dengan menggunakan assist dan rebound sebagai variabel prediktor dan rating sebagai variabel respons:

 #fit multiple linear regression model
model = ols('rating ~ assists + rebounds', data=df). fit ()

#view model summary
print(model.summary())

Sekali lagi, kita dapat membuat plot sisa versus prediktor untuk masing-masing prediktor menggunakan fungsi plot_regress_exog() dari perpustakaan statsmodels.

Misalnya, seperti inilah plot sisa/prediktor untuk bantuan variabel prediktor :

 #create residual vs. predictor plot for 'assists'
fig = plt.figure(figsize=(12,8))
fig = sm.graphics.plot_regress_exog(model, ' assists ', fig=fig)

Lahan sisa atau penyesuaian

Dan seperti inilah plot sisa/prediktor untuk pantulan variabel prediktor :

 #create residual vs. predictor plot for 'assists'
fig = plt.figure(figsize=(12,8))
fig = sm.graphics.plot_regress_exog(model, ' rebounds ', fig=fig)

Plot sisa atau disesuaikan dengan Python

Pada kedua plot, residu tampak tersebar secara acak di sekitar nol, menunjukkan bahwa heteroskedastisitas tidak menjadi masalah pada variabel prediktor mana pun dalam model.

Tambahkan komentar

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