علم البيانات ·10 دقائق قراءة

تقييم أثر البرامج والسياسات: الفروق في الفروق ومطابقة درجة الميل في R

دليل تطبيقي إلى تقييم أثر البرامج والسياسات: مشكلة الوضع المضاد، والتجارب العشوائية، والفروق في الفروق، ومطابقة درجة الميل بـMatchIt، والانقطاع والضبط التركيبي، وعرض الأثر بأمانة.

في هذه المقالة
  1. مشكلة الوضع المضاد
  2. التجارب العشوائية والتصاميم شبه التجريبية
  3. الفروق في الفروق
  4. تحذير التطبيق المتدرج
  5. مطابقة درجة الميل باستخدام MatchIt
  6. الانقطاع في الانحدار والضبط التركيبي
  7. الانقطاع في الانحدار
  8. الضبط التركيبي
  9. عرض الأثر بأمانة
  10. أخطاء شائعة
  11. أسئلة شائعة
  12. هل يمكن تقييم الأثر دون مجموعة مقارنة؟
  13. أيهما أفضل: المطابقة أم الفروق في الفروق؟
  14. كم فترة قبلية أحتاج لفحص الاتجاهات المتوازية؟

انتهى البرنامج، وصرفت ميزانيته، وارتفع مؤشر النتيجة لدى المستفيدين. السؤال الذي تطرحه الجهة الممولة يبدو بسيطًا: هل البرنامج هو سبب الارتفاع؟ الجواب الأمين يحتاج إلى أكثر من مقارنة قبل وبعد، لأن المؤشر ربما كان سيرتفع دون البرنامج، ولأن المستفيدين قد يختلفون عن غيرهم منذ البداية. تقييم أثر البرامج والسياسات هو تقدير ما كان سيحدث لو لم يطبق البرنامج، ثم مقارنة الواقع بهذا التقدير. يشرح هذا المقال منطق الوضع المضاد، والفرق بين التجارب العشوائية والتصاميم شبه التجريبية، ثم يطبق الفروق في الفروق ومطابقة درجة الميل في R، ويمر سريعًا على الانقطاع في الانحدار والضبط التركيبي، وينتهي بطريقة عرض الأثر دون مبالغة.

مشكلة الوضع المضاد

لكل وحدة، فردًا كانت أو أسرة أو مدرسة أو محافظة، نتيجتان محتملتان: Y(1) إذا شاركت في البرنامج، وY(0) إذا لم تشارك. الأثر الفردي هو الفرق بينهما، لكننا لا نرى إلا واحدة منهما؛ أما الأخرى فهي الوضع المضاد للواقع (Counterfactual). هذه هي المشكلة الأساسية في الاستدلال السببي، وكل أساليب تقييم الأثر طرق مختلفة لتقدير النتيجة الغائبة على مستوى المجموعات.

لذلك حدد أولًا الكمية التي تقدرها (Estimand). متوسط الأثر في المجتمع كله (ATE) يجيب عن سؤال: ماذا لو عمم البرنامج على الجميع؟ ومتوسط الأثر على المشاركين (ATT) يجيب عن سؤال: ماذا حقق البرنامج لمن شاركوا فعلًا؟ أما الأثر المحلي (LATE) فيخص فئة محددة، كالوحدات الواقعة قرب حد الأهلية في تصميم الانقطاع، أو الملتزمين بالتعيين في تجربة امتثالها جزئي. وخلط هذه الكميات يقود إلى تعميم لا تسنده البيانات.

والمقارنة البسيطة بين المشاركين وغيرهم تساوي الأثر الحقيقي مضافًا إليه تحيز الاختيار (Selection Bias): إذا التحق بالبرنامج الأكثر دافعية أو الأفضل وضعًا، فسيظهر فرق لصالحهم حتى لو كان أثر البرنامج صفرًا.

التجارب العشوائية والتصاميم شبه التجريبية

التوزيع العشوائي يحل مشكلة الاختيار بالتصميم: حين تحدد القرعة من يشارك، تتشابه المجموعتان في المتوسط في كل الخصائص، المقيسة وغير المقيسة، فيصبح فرق المتوسطات تقديرًا غير متحيز للأثر. ويبدأ التخطيط لأي تجربة من حساب حجم العينة وقوة الاختبار، لأن تجربة ضعيفة القوة قد تخفق في رصد أثر موجود، خاصة حين يكون التوزيع على مستوى مجموعات كالمدارس أو القرى.

لكن التجربة العشوائية ليست ممكنة دائمًا: قد يكون البرنامج طبق قبل التفكير في تقييمه، وقد يكون حرمان فئة منه غير مقبول أخلاقيًا أو سياسيًا. هنا تأتي التصاميم شبه التجريبية، وكل منها يستبدل العشوائية بافتراض عليك أن تدافع عنه:

التصميم الافتراض الأساسي البيانات المطلوبة الكمية المقدرة عادةً أبرز تهديد
التجربة العشوائية (RCT) توزيع عشوائي سليم نتائج المجموعتين بعد التدخل، ويفضل قبله أيضًا ATE، أو أثر عرض البرنامج (ITT) عدم الامتثال والتسرب
الفروق في الفروق (DiD) الاتجاهات المتوازية قياسات قبل التدخل وبعده للمجموعتين ATT اختلاف الاتجاهات، والتطبيق المتدرج
مطابقة درجة الميل (PSM) لا مربكات غير مقيسة، مع تداخل كاف بين المجموعتين متغيرات قبلية غنية عن آلية الالتحاق ATT أو ATE متغير مؤثر لم يقس
الانقطاع في الانحدار (RDD) عدم التلاعب بمتغير التخصيص، واستمرار النتائج المحتملة عند الحد متغير تخصيص بحد أهلية واضح أثر محلي عند الحد قلة المشاهدات قرب الحد
الضبط التركيبي مزيج موزون من وحدات المقارنة يحاكي الوحدة المعالجة قبل التدخل سلاسل زمنية طويلة لعدد قليل من الوحدات أثر على وحدة واحدة أو بضع وحدات ضعف المطابقة قبل التدخل

الفروق في الفروق

فكرة الفروق في الفروق (Difference-in-Differences) أن تقارن التغير في المجموعة المعالجة بالتغير في مجموعة مقارنة خلال الفترة نفسها. التغير في مجموعة المقارنة يمثل ما كان سيحدث للمعالجين دون البرنامج. في أبسط صورة، بمجموعتين وفترتين:

الأثر = (متوسط المعالجين بعد − متوسطهم قبل) − (متوسط المقارنة بعد − متوسطها قبل)

الطرح الأول يزيل الفروق الثابتة بين المجموعتين، والثاني يزيل الصدمات المشتركة التي أصابت الجميع. ويبقى افتراض واحد يحمل التصميم كله: الاتجاهات المتوازية (Parallel Trends)، أي أن المجموعتين كانتا ستتحركان بالمسار نفسه لولا البرنامج. هذا الافتراض لا يختبر مباشرةً لأنه يخص مستقبلًا لم يحدث، لكن يمكن فحص معقوليته في الفترات السابقة للتدخل عبر مخطط دراسة الحدث (Event Study). يقدر الكود الآتي النموذجين على لوحة بيانات اصطناعية بحزمة fixest:

library(fixest)
set.seed(2026)

# Synthetic panel: 200 districts x 10 years; districts 1-100 start the programme in year 6
d <- expand.grid(id = 1:200, year = 1:10)
d$treated <- as.integer(d$id <= 100)
d$post    <- as.integer(d$year >= 6)
d$D       <- d$treated * d$post
unit_eff  <- rnorm(200, sd = 3)
d$y <- 50 + 0.5 * d$year + 2 * d$treated + unit_eff[d$id] +
       3 * d$D + rnorm(nrow(d), sd = 2)            # true effect = 3

# Two-way fixed effects DiD; SEs clustered at the level of assignment
did <- feols(y ~ D | id + year, data = d, cluster = ~id)
summary(did)

# Event study: treated x year dummies, year 5 (last pre-period) as reference
es <- feols(y ~ i(year, treated, ref = 5) | id + year, data = d, cluster = ~id)
iplot(es, xlab = "Year", main = "Effect relative to year 5")

البيانات مولدة بأثر حقيقي قدره 3، فيفترض أن يقترب التقدير منه، والنتائج توضيحية. في مخطط دراسة الحدث تريد معاملات ما قبل التدخل قريبة من الصفر بفترات ثقة ضيقة، ومعاملات ما بعده تظهر شكل الأثر عبر الزمن: فوري أم متدرج، ثابت أم يتلاشى. لاحظ أن عدم دلالة معاملات ما قبل التدخل لا يثبت الاتجاهات المتوازية، فقد يكون الاختبار ضعيف القوة؛ انظر إلى حجم المعاملات وفترات ثقتها لا إلى النجوم وحدها. وانتبه أيضًا لأثر الترقب، حين تغير الوحدات سلوكها بمجرد إعلان البرنامج وقبل تطبيقه.

تحذير التطبيق المتدرج

كثير من السياسات لا تطبق في كل الوحدات دفعة واحدة، بل تدخلها المحافظات أو المدارس على مراحل. في هذه الحالة يصبح تقدير نموذج التأثيرات الثابتة الثنائي (TWFE) متوسطًا مرجحًا لكل المقارنات الممكنة، ومنها مقارنة وحدات عولجت حديثًا بوحدات عولجت سابقًا كأنها مجموعة ضبط. إذا تغير الأثر عبر الزمن أو اختلف بين الدفعات، فقد تأتي بعض الأوزان سالبة، وقد يحمل التقدير إشارة معاكسة للأثر الحقيقي. هذا ما بينته أعمال منهجية معروفة (Goodman-Bacon؛ de Chaisemartin وD’Haultfœuille؛ Callaway وSant’Anna؛ Sun وAbraham). الحل استخدام مقدرات مصممة لهذا الوضع، منها sunab() في fixest، وحزمة did التي تطبق مقدر Callaway وSant’Anna. يقارن المثال الآتي بين الطريقتين على بيانات محاكاة مرفقة بحزمة fixest:

data(base_stagg, package = "fixest")    # simulated staggered-adoption panel

# Conventional TWFE event study (never-treated units coded as -1000)
twfe <- feols(y ~ x1 + i(time_to_treatment, ref = c(-1, -1000)) | id + year,
              data = base_stagg)

# Sun & Abraham interaction-weighted estimator (never-treated: year_treated = 10000)
sa <- feols(y ~ x1 + sunab(year_treated, year) | id + year, data = base_stagg)

iplot(list(twfe, sa), sep = 0.5)
legend("topleft", col = c(1, 4), pch = c(20, 15), legend = c("TWFE", "Sun & Abraham"))
summary(sa, agg = "att")                # overall ATT across cohorts and periods

مطابقة درجة الميل باستخدام MatchIt

حين لا تتوفر قياسات قبلية متكررة، وكان الالتحاق بالبرنامج مرتبطًا بخصائص مقيسة، تحاول المطابقة بناء مجموعة مقارنة تشبه المشاركين في هذه الخصائص. درجة الميل (Propensity Score) هي احتمال المشاركة بشرط المتغيرات القبلية، وتسمح بمطابقة الوحدات على رقم واحد بدل عشرات المتغيرات. الافتراض الحاسم أن كل ما يؤثر في المشاركة والنتيجة معًا مقيس ومضمن في النموذج، وهو افتراض لا تختبره البيانات، بل تدعمه معرفتك بآلية الاختيار في البرنامج.

يستخدم المثال بيانات lalonde المرفقة بحزمة MatchIt، وهي بيانات تعليمية معروفة عن برنامج للتدريب والتشغيل، والنتيجة فيها الدخل في عام 1978:

library(MatchIt)
library(cobalt)
library(marginaleffects)
data("lalonde", package = "MatchIt")

# 1:1 nearest-neighbour matching on a logistic propensity score, with a caliper
m <- matchit(treat ~ age + educ + race + married + nodegree + re74 + re75,
             data = lalonde, method = "nearest", distance = "glm",
             caliper = 0.1, estimand = "ATT")

summary(m)                                  # balance before and after matching
bal.tab(m, un = TRUE, stats = c("m", "v"), thresholds = c(m = 0.1))
love.plot(m, stats = "m", abs = TRUE, thresholds = c(m = 0.1))

# Outcome model on the matched sample; cluster-robust SEs by matched pair
md  <- match.data(m)
fit <- lm(re78 ~ treat * (age + educ + race + married + nodegree + re74 + re75),
          data = md, weights = weights)
avg_comparisons(fit, variables = "treat", vcov = ~subclass,
                newdata = subset(md, treat == 1), wts = "weights")

افحص التوازن قبل أن تنظر إلى النتيجة. المعيار الشائع أن تقل القيمة المطلقة للفرق المعياري في المتوسطات (SMD) عن 0.1 لكل متغير، وأن تقترب نسب التباين من 1. لا تحكم على التوازن بقيم p، لأنها تتغير بحجم العينة لا بجودة المطابقة. وافحص تداخل توزيعي درجة الميل، فالمشاركون الذين لا نظير لهم في مجموعة المقارنة لا يمكن تقدير أثرهم إلا بالاستقراء. وإذا أسقط القيد (Caliper) بعض المشاركين، فالأثر المقدر صار يخص من بقوا لا كل المشاركين.

نموذج النتيجة بعد المطابقة انحدار عادي في جوهره، وتنطبق عليه قواعد تحليل الانحدار المعروفة. ولمطابقة درجة الميل نفسها انتقادات منهجية، منها أنها قد تزيد عدم التوازن في بعض الحالات؛ لذلك جرب بدائل تتيحها MatchIt مثل المطابقة الكاملة (Full Matching) والمطابقة الجينية والمطابقة التامة المخشنة (CEM)، أو الترجيح بمقلوب درجة الميل عبر حزمة WeightIt، واعرض ما إذا كانت النتيجة ثابتة عبرها.

الانقطاع في الانحدار والضبط التركيبي

الانقطاع في الانحدار

حين تحدد الأهلية بحد على متغير مستمر، مثل مؤشر فقر أو معدل امتحان، فالوحدات الواقعة قليلًا فوق الحد وتحته متشابهة تقريبًا في كل شيء إلا المعالجة. يقدر تصميم الانقطاع في الانحدار (Regression Discontinuity) القفزة في النتيجة عند الحد. في التصميم الحاد يحدد الحد المعالجة تمامًا، وفي التصميم المرن يغير احتمالها فقط، فيقدر الأثر بمنطق المتغير الأداتي. والأثر هنا محلي عند الحد، ولا يعمم تلقائيًا على من هم بعيدون عنه.

library(rdrobust)
set.seed(1)

# Synthetic sharp RD: running variable centred at the cutoff (0)
x <- runif(2000, -1, 1)
y <- 1 + 0.8 * x + 0.5 * (x >= 0) + rnorm(2000, sd = 0.3)    # true jump = 0.5

summary(rdrobust(y, x, c = 0))    # local linear fit, MSE-optimal bandwidth, robust CI
rdplot(y, x, c = 0)               # binned means with fitted polynomials

القفزة الحقيقية في البيانات المولدة 0.5، والنتائج توضيحية. في البيانات الحقيقية أضف ثلاثة فحوص: اختبار كثافة متغير التخصيص عند الحد للكشف عن التلاعب، عبر حزمة rddensity مثلًا؛ وفحص المتغيرات القبلية للتأكد من أنها لا تقفز عند الحد؛ وإعادة التقدير بعدة نطاقات عرض (Bandwidth) لإظهار ثبات النتيجة.

الضبط التركيبي

إذا وقعت المعالجة على وحدة واحدة أو عدد قليل من الوحدات الكبيرة، كإصلاح في دولة أو سياسة في محافظة، فلا توجد غالبًا وحدة مقارنة واحدة مناسبة. يبني الضبط التركيبي (Synthetic Control)، الذي طوره Abadie وزملاؤه، وحدة اصطناعية من مزيج موزون لوحدات لم تعالج، بحيث تحاكي مسار الوحدة المعالجة قبل التدخل، ثم يعد الفرق بعد التدخل تقديرًا للأثر. يعتمد الاستدلال هنا على اختبارات وهمية (Placebo): تكرار التحليل على كل وحدة مقارنة كأنها المعالجة، ومقارنة الأثر الحقيقي بتوزيع هذه الآثار الوهمية. في R تتوفر حزم مثل Synth وtidysynth. وإذا كانت المطابقة قبل التدخل ضعيفة، فلا تثق بالأثر المقدر بعده.

عرض الأثر بأمانة

  • حدد الكمية المقدرة: ATT أم ATE أم أثر محلي، وعلى أي مجتمع، ومتى قيست النتيجة بعد التدخل.
  • اعرض فترة الثقة لا النجمة: الأثر غير الدال بفترة واسعة يعني أن البيانات لا تحسم، لا أن البرنامج بلا أثر. والأثر الدال الصغير قد لا يبرر كلفة البرنامج.
  • ترجم الأثر إلى وحدات عملية: بالعملة المحلية أو بالأيام أو بنقاط النسبة المئوية، وقارنه بمتوسط النتيجة قبل التدخل حتى يفهم حجمه.
  • اختبر المتانة: مواصفات بديلة، ومجموعات مقارنة بديلة، واختبارات وهمية على فترة سابقة أو على نتيجة لا يفترض أن تتأثر، ونطاقات عرض مختلفة في تصميم الانقطاع.
  • حدد مسبقًا ما ستحلله: النتائج الرئيسة والفئات الفرعية، حتى لا يتحول البحث عن أثر في فئة ما إلى صيد للدلالة.
  • اعترف بحدود الصدق الخارجي: نجاح البرنامج في سياق لا يضمن نجاحه في سياق آخر.
  • لا تخف النتائج الصفرية: معرفة أن تدخلًا لم يحقق أثرًا معلومة ثمينة لصانع القرار، وتوفر موارد كانت ستذهب إلى توسيعه.

كثير من تقييمات الأثر في المؤسسات تعتمد على سجلات إدارية أو مسوح وطنية جمعت لأغراض أخرى، فراجع ما يخص جودة هذه المصادر في مقال تحليل البيانات الثانوية قبل بناء التصميم عليها.

أخطاء شائعة

  • الاكتفاء بمقارنة قبل وبعد للمشاركين فقط، ونسبة كل التغير إلى البرنامج.
  • إدخال متغيرات تأثرت بالبرنامج نفسه في نموذج المطابقة أو الانحدار، أي متغيرات لاحقة للمعالجة.
  • الحكم على التوازن بقيم p بدل الفروق المعيارية.
  • تقديم معاملات ما قبل التدخل غير الدالة دليلًا قاطعًا على الاتجاهات المتوازية.
  • استخدام TWFE التقليدي مع تطبيق متدرج وأثر متغير دون فحص.
  • حساب الأخطاء المعيارية دون تجميعها على مستوى توزيع المعالجة.
  • تعميم أثر محلي من تصميم الانقطاع على كل المستفيدين.
  • الإبلاغ عن الفئات الفرعية الدالة وحدها بعد تجريب تقسيمات كثيرة.

أسئلة شائعة

هل يمكن تقييم الأثر دون مجموعة مقارنة؟

يمكن في حالات محدودة، كتحليل السلاسل الزمنية المتقطعة (Interrupted Time Series) حين تتوفر مشاهدات كثيرة قبل التدخل وبعده ولا تتزامن معه أحداث أخرى. لكن غياب مجموعة المقارنة يضعف الاستنتاج كثيرًا، لأن أي تغير متزامن مع البرنامج سينسب إليه.

أيهما أفضل: المطابقة أم الفروق في الفروق؟

يتوقف على البيانات وآلية الاختيار. المطابقة تفترض أن كل المربكات مقيسة، والفروق في الفروق تسمح بفروق ثابتة غير مقيسة بين المجموعتين لكنها تفترض اتجاهات متوازية. وإذا توفرت قياسات قبلية متكررة، فالجمع بينهما، بالمطابقة على الخصائص والمسار القبلي ثم تطبيق الفروق في الفروق، خيار شائع يخفف الاعتماد على كل افتراض وحده.

كم فترة قبلية أحتاج لفحص الاتجاهات المتوازية؟

تحتاج فترتين قبليتين على الأقل لترى أي اتجاه، وكلما زادت الفترات صار الفحص أوضح. ومع فترة قبلية واحدة يبقى الافتراض قائمًا على الحجة النظرية وحدها، فاذكر ذلك بوضوح في حدود الدراسة.

التقييم الجيد لا يعد بأثر كبير، بل يقدم تقديرًا معروف الافتراضات والحدود يمكن الدفاع عنه أمام الممول والمراجع. يعمل فريق مركز المستشار على تصميم تقييمات الأثر وتحليلها بأساليب الاستدلال السببي في R وPython وStata، للباحثين والمؤسسات والجهات الحكومية والمنظمات الدولية؛ وتجد التفاصيل في خدمة تحليل البيانات المتقدم، مع استشارة أولى مجانية.

آخر تحديث:
ESC
اكتب كلمة مفتاحية ثم اضغط Enter — مثل: «منهجية»، «إحصاء»، «اقتباس»، «نشر».