Проведение анализа посредничества для модели фиксированных эффектов в Python - PullRequest
1 голос
/ 26 мая 2020

Я задал тот же вопрос здесь , но не получил ответа уже неделю, вероятно, потому, что это скорее кодировка, чем вопрос статистики

Я хочу выполнить анализ посредничества с модель с фиксированными эффектами в качестве базовой модели в python. Я знаю, что вы можете выполнить анализ посредничества, используя модуль посредничества statsmodels . Но модели с фиксированными эффектами (насколько мне известно) возможны только с linearmodels . Поскольку я до сих пор не проводил анализ посредничества, я не уверен, как объединить эти два модуля.

Я пробовал следующее (начиная с шага 3 и далее для моего вопроса):

import pandas as pd
from linearmodels import PanelOLS
import statsmodels.api as sm2
from statsmodels.stats.mediation import Mediation

##1. direct effect: X --> Y
DV_LF = df.Y
IV_X = sm2.add_constant(df[['X', 'Control']])
fe_mod_X = PanelOLS(DV_LF, IV_X, entity_effects=True )
fe_res_X = fe_mod_X.fit(cov_type='clustered', cluster_entity=True)
print(fe_res_X)

##2. X --> M
DV_A = df.M
IV_A = sm2.add_constant(df[['X', 'Control']])
fe_mod_A = PanelOLS(DV_A, IV_A, entity_effects=True )
fe_res_A = fe_mod_A.fit(cov_type='clustered', cluster_entity=True)
print(fe_res_A)

##3. M --> Y
IV_M = sm2.add_constant(df[['M', 'Control']])
fe_mod_M = PanelOLS(DV_LF, IV_M, entity_effects=True )
fe_res_M = fe_mod_M.fit(cov_type='clustered', cluster_entity=True)
print(fe_res_M)

##4. X, M --> Y
IV_T = sm2.add_constant(df[['X', 'M', 'Control']])
fe_mod_T = PanelOLS(DV_LF, IV_T, entity_effects=True )
fe_res_T = fe_mod_T.fit(cov_type='clustered', cluster_entity=True)
print(fe_res_T)

med = Mediation(fe_res_T, fe_res_A, 'X', 'M').fit()
med.summary()

но у меня возникает ошибка:

AttributeError: 'PanelEffectsResults' object has no attribute 'exog'

Имеет ли смысл мой подход? Если да, то как мне изменить код, чтобы PanelOLS и Mediation работали вместе?

EDIT:

Можно ли рассчитать косвенный эффект, умножив коэффициент X на M ( шаг 2) с коэффициентом M на Y из шага 4 и прямым эффектом путем вычитания косвенного эффекта из коэффициента X на Y (шаг 1)? Меня немного смущает этот исследовательский плакат , в котором говорится, что обычный посреднический анализ не применим в рамках предметного анализа, такого как фиксированные эффекты. Если мой подход верен, как я могу рассчитать значимость разницы между прямым и полным эффектом? Я читал, что самозагрузка будет хорошим выбором, но я не знаю, как применить ее в моем случае.

...