如何在Python面板数据中应用混合效果多级模型(在不同级别具有固定和随机效果)?

时间:2020-08-21 14:33:04

标签: python panel-data multi-level random-effects multilevel-analysis

我希望你们能帮助我理解Python中的混合效果模型算法(statsmodels)。如果您需要任何其他信息,请告诉我!

我知道在R中,有一些简洁的软件包可以将多级模型应用于面板数据,包括固定效果和随机效果。但是,在我的公司中,每个人都使用Python,因此我正在寻找一种使用Python应用相同模型的方法。 希望这可以通过statsmodels.formula.api.smf中的mixedlm函数来实现,但我不完全确定确切的代码是什么。

数据的某些背景: 我们正在研究随时间推移每个client_id具有多个观察值的面板数据。 Client_id可以按扇区分组。我们期望各部门之间自变量的斜率不同。因此,我们想对这些变量应用随机效应。此外,由于我们的数据集中有许多不同的客户端,我们想添加(1)使用固定效果(而不是为每个客户端使用虚拟对象)为每个客户端估算的常数值,以及(2) X1和撞击假人的互动效果。

因此,回归公式如下所示: https://i.stack.imgur.com/3083V.png

我不确定如何将其转换为代码。我已经到了:

import statsmodels.formula.api as smf
vc = {'client_id' = '0 + C(client_id)'}  
mixed = smf.mixedlm("Y~ X1 + X2 + X3", df, vc_formula = vc, re_formula = '1', groups = "sector")

其中X1和X2是滞后值,X3是交互作用(X1和虚拟值的乘积)。似乎指定的组应该始终是最高级别(在我的情况下:扇区)。但是,如果我理解正确,代码将为每个扇区创建随机截距和随机斜率,其中使用每个扇区中的不同客户端来测量方差。

现在,我的问题是:我们如何更改代码,以使随机斜率取决于扇区,而随机截距取决于client_id?

0 个答案:

没有答案
相关问题