Python'da öğrencileştirilmiş artıklar nasıl hesaplanır


Öğrenci kalıntısı, basitçe, tahmini standart sapmasına bölünen bir kalıntıdır.

Uygulamada genellikle, bir veri setindeki öğrenci kalıntısı mutlak değeri 3’ten büyük olan herhangi bir gözlemin aykırı değer olduğunu söyleriz.

Aşağıdaki sözdizimini kullanan statsmodels’in OLSResults.outlier_test() işlevini kullanarak Python’da bir regresyon modelinin öğrencileştirilmiş artıklarını hızlı bir şekilde elde edebiliriz:

OLSResults.outlier_test()

burada OLSResults, statsmodels ols() işlevi kullanılarak oluşturulan doğrusal modelin adıdır.

Örnek: Python’da öğrencileştirilmiş artıkların hesaplanması

Python’da aşağıdaki basit doğrusal regresyon modelini oluşturduğumuzu varsayalım:

 #import necessary packages and functions
import numpy as np
import pandas as pd
import statsmodels. api as sm
from statsmodels. formula . api import ols

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

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

Veri kümesindeki her gözlem için öğrencileştirilmiş artıkları içeren bir DataFrame üretmek için outlier_test() işlevini kullanabiliriz:

 #calculate studentized residuals
stud_res = model. outlier_test ()

#display studentized residuals
print(stud_res)

    student_resid unadj_p bonf(p)
0 -0.486471 0.641494 1.000000
1 -0.491937 0.637814 1.000000
2 0.172006 0.868300 1.000000
3 1.287711 0.238781 1.000000
4 0.106923 0.917850 1.000000
5 0.748842 0.478355 1.000000
6 -0.968124 0.365234 1.000000
7 -2.409911 0.046780 0.467801
8 1.688046 0.135258 1.000000
9 -0.014163 0.989095 1.000000

Bu DataFrame, veri kümesindeki her gözlem için aşağıdaki değerleri görüntüler:

  • Öğrencileştirilmiş kalıntı
  • Öğrencileştirilmiş kalıntının düzeltilmemiş p değeri
  • Öğrenci kalıntısının Bonferroni düzeltmeli p değeri

Veri kümesindeki ilk gözlem için öğrencileştirilmiş kalıntının -0,486471 , ikinci gözlem için öğrencileştirilmiş kalıntının -0,491937 olduğunu vb. görebiliriz.

Ayrıca, öngörücü değişkenlerin değerlerinin karşılık gelen öğrencileştirilmiş artıklara karşı hızlı bir grafiğini de oluşturabiliriz:

 import matplotlib. pyplot as plt

#define predictor variable values and studentized residuals
x = df[' points ']
y = stud_res[' student_resid ']

#create scatterplot of predictor variable vs. studentized residuals
plt. scatter (x,y)
plt. axhline (y=0, color=' black ', linestyle=' -- ')
plt. xlabel (' Points ')
plt. ylabel (' Studentized Residuals ') 

Python'da Öğrencileştirilmiş Kalıntılar

Grafikten, hiçbir gözlemin mutlak değeri 3’ten büyük olan bir öğrenci kalıntısına sahip olmadığını görebiliriz, dolayısıyla veri setinde net aykırı değerler yoktur.

Ek kaynaklar

Python’da basit doğrusal regresyon nasıl gerçekleştirilir
Python’da çoklu doğrusal regresyon nasıl gerçekleştirilir
Python’da Artık Arsa Nasıl Oluşturulur

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir