كيفية إنشاء مؤامرة المتبقية في بيثون
المخطط المتبقي هو نوع من المخطط الذي يعرض القيم المجهزة مقابل بقايا نموذج الانحدار .
غالبًا ما يستخدم هذا النوع من المخططات لتقييم ما إذا كان نموذج الانحدار الخطي مناسبًا لمجموعة بيانات معينة أم لا وللتحقق من التباين المتبقي .
يشرح هذا البرنامج التعليمي كيفية إنشاء مخطط متبقي لنموذج الانحدار الخطي في بايثون.
مثال: المؤامرة المتبقية في بايثون
في هذا المثال، سنستخدم مجموعة بيانات تصف سمات 10 من لاعبي كرة السلة:
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
المؤامرة المتبقية للانحدار الخطي البسيط
لنفترض أننا نلائم نموذج انحدار خطي بسيط باستخدام النقاط كمتغير متوقع والدرجة كمتغير الاستجابة:
#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())
يمكننا إنشاء قطعة أرض متبقية أو مُجهزة باستخدام الدالةplot_regress_exog() من مكتبة statsmodels:
#define figure size fig = plt.figure(figsize=(12,8)) #produce regression plots fig = sm.graphics.plot_regress_exog(model, ' points ', fig=fig)
يتم إنتاج أربع قطع. القطعة الموجودة في الزاوية اليمنى العليا هي قطعة الأرض المتبقية مقابل قطعة الأرض المعدلة. يُظهر المحور السيني في هذا الرسم القيم الفعلية لنقاط متغير التوقع ويظهر المحور الصادي المتبقي لتلك القيمة.
وبما أن البقايا تبدو منتشرة بشكل عشوائي حول الصفر، فإن هذا يشير إلى أن التغايرية ليست مشكلة مع متغير التوقع.
المؤامرات المتبقية للانحدار الخطي المتعدد
لنفترض أننا بدلاً من ذلك نلائم نموذج الانحدار الخطي المتعدد باستخدام المساعدة والارتدادات كمتغير متنبئ والتقييم كمتغير الاستجابة:
#fit multiple linear regression model model = ols('rating ~ assists + rebounds', data=df). fit () #view model summary print(model.summary())
مرة أخرى، يمكننا إنشاء مؤامرة متبقية مقابل توقع لكل من المتنبئين الفرديين باستخدام وظيفةplot_regress_exog() من مكتبة statsmodels.
على سبيل المثال، هذا هو الشكل الذي تبدو عليه المخططات المتبقية/المتوقعة لمتغيرات التوقع المساعدة :
#create residual vs. predictor plot for 'assists' fig = plt.figure(figsize=(12,8)) fig = sm.graphics.plot_regress_exog(model, ' assists ', fig=fig)
وهذا هو الشكل الذي تبدو عليه المخططات المتبقية/المتنبئة بالنسبة لارتدادات متغير التوقع:
#create residual vs. predictor plot for 'assists' fig = plt.figure(figsize=(12,8)) fig = sm.graphics.plot_regress_exog(model, ' rebounds ', fig=fig)
في كلا المخططين، يبدو أن البقايا متناثرة بشكل عشوائي حول الصفر، مما يشير إلى أن التغايرية لا تمثل مشكلة مع أي من المتغيرات المتوقعة في النموذج.