Statsmodels: التحليل الإحصائي المتقدم

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة عن Statsmodels

Statsmodels هي مكتبة Python قوية مصممة لإجراء التحليل الإحصائي للبيانات. توفر أدوات لبناء نماذج الانحدار، تقدير المعاملات، اختبار الفرضيات الإحصائية، وتحليل السلاسل الزمنية. تُستخدم Statsmodels على نطاق واسع في الاقتصاد القياسي، الإحصاء الحيوي، والعلوم الاجتماعية، مع تقديم تفسير إحصائي عميق للنتائج.

الميزات الرئيسية لمكتبة Statsmodels

تحليل الانحدار

توفر Statsmodels إمكانيات واسعة لتحليل الانحدار، بما في ذلك المربعات الصغرى العادية (OLS)، النماذج الخطية المعممة (GLM)، الانحدار القوي، ونماذج البيانات اللوحية. تدعم المكتبة طرق التقدير البارامترية واللابارامترية.

تحليل السلاسل الزمنية

تشمل وحدة السلاسل الزمنية نماذج ARIMA، SARIMA، التمهيد الأسي، الانحدار الذاتي المتجه (VAR)، وغيرها الكثير. تتوفر دوال لاختبار الثباتية، تحليل المكونات، والتنبؤ.

اختبار الفرضيات الإحصائية

تحتوي المكتبة على مجموعة واسعة من الاختبارات الإحصائية: اختبارات t، اختبارات F، اختبارات التوزيع الطبيعي، اختبارات تساوي التباينات، اختبارات الارتباط الذاتي، وغيرها.

تحليل التباين (ANOVA)

تدعم المكتبة نماذج ANOVA أحادية ومتعددة العوامل، ANCOVA، القياسات المتكررة، والتأثيرات المختلطة.

الطرق اللابارامترية

تشمل طرق تقدير الكثافة بالنواة، الانحدار اللابارامتري، والاختبارات المعتمدة على الرتب.

تثبيت واستيراد Statsmodels

تثبيت المكتبة

يتم تثبيت المكتبة باستخدام الأمر القياسي:

pip install statsmodels

للحصول على وظائف إضافية، يمكن التثبيت مع جميع التبعيات:

pip install statsmodels[complete]

استيراد المكونات الأساسية

import statsmodels.api as sm
import statsmodels.formula.api as smf
import statsmodels.tsa.api as tsa
import statsmodels.stats.api as sms

هيكل المكتبة والوحدات الرئيسية

واجهات API الرئيسية

statsmodels.api — الواجهة التقليدية مع تحديد مصفوفات البيانات مباشرة

statsmodels.formula.api — واجهة تعتمد على الصيغ، مشابهة للغة R

statsmodels.tsa — وحدة تحليل السلاسل الزمنية

statsmodels.stats — الاختبارات الإحصائية والتشخيص

statsmodels.graphics — تصور النتائج

العمل مع البيانات وإعدادها

تعمل Statsmodels بشكل مثالي مع pandas.DataFrame:

import pandas as pd
import numpy as np

# تحميل البيانات
data = pd.read_csv("dataset.csv")

# التحقق من القيم المفقودة
print(data.isnull().sum())

# الإحصائيات الأساسية
print(data.describe())

الانحدار الخطي (OLS)

الواجهة التقليدية

import statsmodels.api as sm

# إعداد البيانات
X = data[["x1", "x2", "x3"]]
X = sm.add_constant(X)  # إضافة الثابت
y = data["y"]

# بناء النموذج
model = sm.OLS(y, X).fit()
print(model.summary())

# استخراج المعاملات
print("المعاملات:", model.params)
print("قيم P:", model.pvalues)
print("R-squared:", model.rsquared)

الواجهة القائمة على الصيغ

import statsmodels.formula.api as smf

# استخدام الصيغ
model = smf.ols("y ~ x1 + x2 + x3", data=data).fit()
print(model.summary())

# التفاعل بين المتغيرات
model_interaction = smf.ols("y ~ x1 * x2 + x3", data=data).fit()

# المتغيرات الفئوية
model_cat = smf.ols("y ~ C(category) + x1", data=data).fit()

النماذج الخطية المعممة (GLM)

توصيات