كيفية إجراء الانحدار اللوجستي باستخدام النماذج الإحصائية


توفر وحدة statsmodels في Python مجموعة متنوعة من الوظائف والفئات التي تسمح لك بتكييف النماذج الإحصائية المختلفة.

يوضح المثال التالي خطوة بخطوة كيفية إجراء الانحدار اللوجستي باستخدام وظائف statsmodels.

الخطوة 1: إنشاء البيانات

أولاً، لنقم بإنشاء إطار بيانات الباندا الذي يحتوي على ثلاثة متغيرات:

  • الساعات المدروسة (القيمة الكاملة)
  • طريقة الدراسة (الطريقة أ أو ب)
  • نتيجة الامتحان (نجاح أو رسوب)

سنقوم بتركيب نموذج الانحدار اللوجستي باستخدام ساعات الدراسة وطريقة الدراسة للتنبؤ بما إذا كان الطالب قد نجح في اختبار معين أم لا.

يوضح التعليمة البرمجية التالية كيفية إنشاء DataFrame الباندا:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' result ': [0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
                              0, 1, 1, 1, 0, 1, 1, 1, 1, 1],
                   ' hours ': [1, 2, 2, 2, 3, 2, 5, 4, 3, 6,
                            5, 8, 8, 7, 6, 7, 5, 4, 8, 9],
                   ' method ': ['A', 'A', 'A', 'B', 'B', 'B', 'B',
                             'B', 'B', 'A', 'B', 'A', 'B', 'B',
                             'A', 'A', 'B', 'A', 'B', 'A']})

#view first five rows of DataFrame
df. head ()

	result hours method
0 0 1 A
1 1 2 A
2 0 2 A
3 0 2 B
4 0 3 B

الخطوة 2: ملاءمة نموذج الانحدار اللوجستي

بعد ذلك، سنلائم نموذج الانحدار اللوجستي باستخدام الدالة logit() :

 import statsmodels. formula . api as smf

#fit logistic regression model
model = smf. logit (' result~hours+method ', data=df). fit ()

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

Optimization completed successfully.
         Current function value: 0.557786
         Iterations 5
                           Logit Regression Results                           
==================================================== ============================
Dept. Variable: result No. Observations: 20
Model: Logit Df Residuals: 17
Method: MLE Df Model: 2
Date: Mon, 22 Aug 2022 Pseudo R-squ.: 0.1894
Time: 09:53:35 Log-Likelihood: -11.156
converged: True LL-Null: -13.763
Covariance Type: nonrobust LLR p-value: 0.07375
==================================================== ============================
                  coef std err z P>|z| [0.025 0.975]
-------------------------------------------------- -----------------------------
Intercept -2.1569 1.416 -1.523 0.128 -4.932 0.618
method[TB] 0.0875 1.051 0.083 0.934 -1.973 2.148
hours 0.4909 0.245 2.002 0.045 0.010 0.972
==================================================== ============================

تخبرنا القيم الموجودة في عمود coef الخاص بالمخرجات بمتوسط التغير في سجل احتمالات اجتياز الاختبار.

على سبيل المثال:

  • يرتبط استخدام طريقة الدراسة (ب) بمتوسط زيادة قدرها 0.0875 في سجل احتمالات اجتياز الامتحان مقارنة باستخدام طريقة الدراسة (أ).
  • ترتبط كل ساعة إضافية يتم دراستها بمتوسط زيادة قدرها 0.4909 في سجل احتمالات اجتياز الاختبار.

القيم في P>|z| يمثل العمود القيم الاحتمالية لكل معامل.

على سبيل المثال:

  • طريقة الدراسة لها قيمة p تبلغ 0.934 . وبما أن هذه القيمة لا تقل عن 0.05 فهذا يعني أنه لا توجد علاقة ذات دلالة إحصائية بين الساعات المدروسة ونجاح الطالب في الامتحان أم لا.
  • الساعات المدروسة لها قيمة p تبلغ 0.045 . وبما أن هذه القيمة أقل من 0.05 فهذا يعني أن هناك علاقة ذات دلالة إحصائية بين ساعات الدراسة ونجاح الطالب في الامتحان أم لا.

الخطوة 3: تقييم أداء النموذج

لتقييم جودة نموذج الانحدار اللوجستي، يمكننا النظر إلى مقياسين في المخرجات:

1. اللقب R-مربع

يمكن اعتبار هذه القيمة بديلاً لقيمة R-squared لنموذج الانحدار الخطي.

يتم حسابه على أنه نسبة دالة احتمالية السجل القصوى من النموذج الفارغ إلى النموذج الكامل.

يمكن أن تتراوح هذه القيمة من 0 إلى 1، وتشير القيم الأعلى إلى ملاءمة أفضل للنموذج.

في هذا المثال، قيمة R-squared الزائفة هي 0.1894 ، وهي منخفضة جدًا. يخبرنا هذا أن المتغيرات المتوقعة للنموذج لا تقوم بعمل جيد جدًا في التنبؤ بقيمة متغير الاستجابة.

2. LLR القيمة p

يمكن اعتبار هذه القيمة بديلاً للقيمة p للقيمة F الإجمالية لنموذج الانحدار الخطي.

إذا كانت هذه القيمة أقل من عتبة معينة (على سبيل المثال α = 0.05)، فيمكننا بعد ذلك أن نستنتج أن النموذج ككل “مفيد” ويمكنه التنبؤ بشكل أفضل بقيم متغير الاستجابة مقارنة بالنموذج الذي لا يحتوي على متغيرات تنبؤية.

في هذا المثال، القيمة p لـ LLR هي 0.07375 . اعتمادًا على مستوى الأهمية الذي نختاره (على سبيل المثال 0.01، 0.05، 0.1)، قد نستنتج أو لا نستنتج أن النموذج ككل مفيد.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في بايثون:

كيفية تنفيذ الانحدار الخطي في بايثون
كيفية إجراء الانحدار اللوغاريتمي في بايثون
كيفية إجراء الانحدار الكمي في بايثون

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *