Python'da artık arsa nasıl oluşturulur
Artık grafiği, bir regresyon modelinin artıklarına karşı uygun değerleri görüntüleyen bir grafik türüdür.
Bu tür çizim genellikle doğrusal bir regresyon modelinin belirli bir veri seti için uygun olup olmadığını değerlendirmek ve heteroskedastisite için artıkları kontrol etmek için kullanılır.
Bu eğitimde Python’da doğrusal bir regresyon modeli için artık grafiğin nasıl oluşturulacağı açıklanmaktadır.
Örnek: Python’da artık grafiği
Bu örnek için 10 basketbolcunun özelliklerini açıklayan bir veri seti kullanacağız:
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
Basit doğrusal regresyon için artık grafiği
Tahmin edici değişken olarak noktaları ve yanıt değişkeni olarak notu kullanan basit bir doğrusal regresyon modeline uyduğumuzu varsayalım:
#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())
statsmodels kütüphanesindekiplot_regress_exog () fonksiyonunu kullanarak artık veya yerleştirilmiş bir grafik oluşturabiliriz:
#define figure size fig = plt.figure(figsize=(12,8)) #produce regression plots fig = sm.graphics.plot_regress_exog(model, ' points ', fig=fig)
Dört parsel üretilir. Sağ üst köşedeki, düzeltilmiş arsaya karşı kalan arsadır. Bu grafikteki x ekseni, tahmin değişkeni noktalarının gerçek değerlerini, y ekseni ise bu değere ilişkin artık değeri gösterir.
Artıkların sıfır etrafında rastgele dağılmış gibi görünmesi, değişen varyansın yordayıcı değişkenle ilgili bir sorun olmadığını gösterir.
Çoklu doğrusal regresyon için artık grafikler
Bunun yerine, tahmin değişkeni olarak asist ve ribaundları , tepki değişkeni olarak da reytingi kullanan çoklu doğrusal regresyon modelini uyguladığımızı varsayalım:
#fit multiple linear regression model model = ols('rating ~ assists + rebounds', data=df). fit () #view model summary print(model.summary())
Bir kez daha, statsmodels kütüphanesindekiplot_regress_exog () fonksiyonunu kullanarak her bir tahminci için artık ve tahmin grafiği oluşturabiliriz.
Örneğin, tahmin değişkeni asistleri için artık/tahmin grafiği şu şekilde görünür:
#create residual vs. predictor plot for 'assists' fig = plt.figure(figsize=(12,8)) fig = sm.graphics.plot_regress_exog(model, ' assists ', fig=fig)
Tahmin edici değişken sıçramaları için artık/tahmin grafiği şu şekilde görünür:
#create residual vs. predictor plot for 'assists' fig = plt.figure(figsize=(12,8)) fig = sm.graphics.plot_regress_exog(model, ' rebounds ', fig=fig)
Her iki grafikte de artıklar sıfır etrafında rastgele dağılmış gibi görünüyor, bu da heteroskedastisitenin modeldeki yordayıcı değişkenlerin hiçbirinde bir sorun olmadığını gösteriyor.