格雷特尔 - 虚拟互动


似乎

没有一种"简单"的方法(例如在R或python中)在gretl中的虚拟变量之间创建交互项?我们真的需要手动编码,这对许多级别来说都很困难吗?下面是手动编码的最小示例:

open credscore.gdt
SelfemplOwnRent=OwnRent*Selfempl
# model 1
ols Acc 0 OwnRent Selfempl SelfemplOwnRent

现在,我的手动交互作用项不适用于具有多个水平的因子,实际上甚至不适用于二进制变量。

谢谢ML

一种方法是使用列表。使用 dummify -命令为每个级别生成虚拟人,使用 ^ -运算符创建交互。例:

open griliches.gdt
discrete med
list X = dummify(med)
list D = dummify(mrt)
list INT = X^D
ols lw 0 X D INT

命令discrete将您的变量转换为离散变量并允许使用 dummify(如果您的变量已经是离散的,则此步骤不是必需的)。现在,所有交互项都存储在列表INT中,您可以在以下ols -command中轻松评估它们。

@Markus Loecher关于你的第二个问题:您始终可以使用 rename 命令重命名系列。因此,您必须遍历列表 INT 中的所有元素才能执行此操作。但是,如果您想要较短的系列名称,我宁愿建议在计算交互项之前分别重命名两个输入序列,在上面的示例中分别重命名mrtmed

相关内容

  • 没有找到相关文章

最新更新