Оценка панели с помощью Stata - как это сделать по подмножествам данных - PullRequest
0 голосов
/ 15 мая 2018

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

sysuse data, clear
bysort group: reg depVar expVar1 expVar2

Это работает так, как должно.Однако мне не удалось заставить эту работу работать с данными панели:

sysuse data, clear
xtset id year
bysort group: xtreg depVar expVar1 expVar2, fe

Однако ошибка завершает процесс после определения переменных панели, потому что есть повторяющиеся наблюдения.Это не «настоящая» ошибка, потому что после сортировки по группам дубликатов не будет.

Я знаю, что могу преобразовать данные в широкий формат и ввести отдельную строку для каждой оценки, но мне интересноЕсть и другие, более удобные способы обойти это.

1 Ответ

0 голосов
/ 15 мая 2018

В принципе это работает (см. Код ниже):

webuse airacc, clear
xtset airline time, delta(1)
xtreg relsize pmi ait, fe
gen indicator = round(runiform())
bys indic: xtreg relsize pmi ait, fe

Кажется, проблема в дубликатах.Я никогда не сталкивался с такой проблемой.Однако вы можете запустить две отдельные регрессии: i) сохранить данные, ii) отбросить наблюдения из группы x iii) запустить регрессию iv) восстановить данные и перейти к шагу i).Это должно давать идентичные результаты, если группы являются взаимоисключающими.

webuse airacc, clear
xtset airline time, delta(1)
xtreg relsize pmi ait, fe
gen indicator = round(runiform())

preserve
drop if indic == 1
xtreg relsize pmi ait, fe
restore

preserve
drop if indic == 0 
xtreg relsize pmi ait, fe
restore

bys indic: xtreg relsize pmi ait, fe
...