гретл - фиктивные взаимодействия - PullRequest
0 голосов
/ 15 января 2019

Похоже, не существует "простого" способа (например, в R или python) создавать термины взаимодействия между фиктивными переменными в gretl? Нужно ли нам кодировать те вручную, что будет сложно для многих уровней? Вот минимальный пример ручного кодирования:

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

Теперь мой термин взаимодействия вручную не будет работать для факторов с многими уровнями и фактически даже не выполняет работу для бинарных переменных.

Спасибо, ML

1 Ответ

0 голосов
/ 18 января 2019

Один из способов сделать это - использовать списки. Используйте команду 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 -команде.

...