Условия нелинейного взаимодействия в Stata

У меня есть непрерывная зависимая переменная polity_diff и непрерывная первичная независимая переменная nb_eq. Я предположил, что эффект nb_eq будет варьироваться в зависимости от различных уровней непрерывной переменной gini_round нелинейным образом: эффект nb_eq будет наибольшим для средних значений gini_round и близок к 0 как для низких, так и для высоких уровней gini_round (функциональная форма как полином второго порядка).

Мой вопрос: как это смоделировано в Stata? До сих пор я пытался использовать категоризированную версию gini_round, которая позволяет мне сравнивать разные группы, но очевидно, что она не использует данные в полной мере. Я не могу уложиться в голове о включении одного термина взаимодействия, который позволяет мне проверить мою гипотезу. Мой лучший выбор на данный момент - это что-то вроде следующего (что упрощается за счет исключения некоторых if-аргументов и т. д.): xtreg polity_diff c.nb_eq##c.gini_round_squared, fe vce(cluster countryno), но я почти 0 уверен, что это даже почти правильно.


person Community    schedule 21.04.2016    source источник


Ответы (1)


Вот как я могу это сделать:

sysuse auto, clear
reg price c.weight#(c.mpg##c.mpg) i.foreign
margins, dydx(weight) at(mpg = (10(10)40))
marginsplot
margins, dydx(weight) at(mpg=(10(10)40)) contrast(atcontrast(ar(2(1)4)._at) wald)

Мы взаимодействуем с весом с полиномом второй степени от мили на галлон. Первые поля вычисляют средний предельный эффект веса при различных значениях миль на галлон. График выглядит так, как вы описываете. Второе поле сравнивает уклоны при соседних значениях миль на галлон и выполняет совместную проверку того, что все они равны.

Я бы, вероятно, придал вес и его собственному эффекту (два октоторпа, а не один), но график не выглядит так, как ваш пример:

reg price c.weight##(c.mpg##c.mpg) i.foreign
person Dimitriy V. Masterov    schedule 22.04.2016