كيفية حساب المخلفات الموحدة في بيثون
المتبقي هو الفرق بين القيمة المرصودة والقيمة المتوقعة في نموذج الانحدار .
يتم حسابه على النحو التالي:
المتبقية = القيمة المرصودة – القيمة المتوقعة
إذا قمنا برسم القيم المرصودة وقمنا بتركيب خط الانحدار المجهز، فإن المتبقي لكل ملاحظة هو المسافة العمودية بين الملاحظة وخط الانحدار:
أحد الأنواع المتبقية التي نستخدمها غالبًا لتحديد القيم المتطرفة في نموذج الانحدار يسمى المتبقي القياسي .
يتم حسابه على النحو التالي:
r i = e i / s(e i ) = e i / RSE√ 1-h ii
ذهب:
- e i : البقايا i
- RSE: الخطأ المعياري المتبقي للنموذج
- الح الثانية : طلوع الملاحظة الثامنة
من الناحية العملية، غالبًا ما نعتبر أي قيمة متبقية موحدة تكون قيمتها المطلقة أكبر من 3 بمثابة قيمة متطرفة.
يقدم هذا البرنامج التعليمي مثالاً خطوة بخطوة لكيفية حساب القيم المتبقية القياسية في بايثون.
الخطوة 1: أدخل البيانات
أولاً، سنقوم بإنشاء مجموعة بيانات صغيرة للعمل عليها في بايثون:
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]})
الخطوة 2: ملاءمة نموذج الانحدار
بعد ذلك، سوف نقوم بتركيب نموذج الانحدار الخطي البسيط :
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 ()
الخطوة 3: حساب المخلفات الموحدة
بعد ذلك، سوف نقوم بحساب البقايا القياسية للنموذج:
#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]
من النتائج، يمكننا أن نرى أن أيا من البقايا القياسية لا تتجاوز القيمة المطلقة 3. وبالتالي، لا يبدو أن أيا من الملاحظات تعتبر قيما متطرفة.
الخطوة 4: تصور المخلفات الموحدة
أخيرًا، يمكننا إنشاء مخطط مبعثر لتصور قيم متغير التوقع مقابل البقايا القياسية:
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 ()
مصادر إضافية
ما هي البقايا؟
ما هي المخلفات موحدة؟
كيفية حساب المخلفات الموحدة في R
كيفية حساب المخلفات الموحدة في إكسيل