Создание панельных данных в Stata

Как я могу сгенерировать данные панели в Stata? Я бы хотел, чтобы на каждого человека влияла ненаблюдаемая неоднородность. Например, я хочу, чтобы DGP (процесс генерации данных) выглядел примерно так:

Заработная плата_ {it} = \ beta (Опыт на рынке труда_ {it}) + \ alpha_ {i} + \ epsilon_ {it},

где \ alpha_ {i} - это ненаблюдаемая неоднородность, а \ epsilon_ {it} - ошибка, которая обычно распределяется.

Наконец, мне бы хотелось, чтобы (Опыт на рынке труда_ {it}) был процессом AR (1), например:

Опыт на рынке труда_ {it} = 0,8 * (Опыт на рынке труда_ {i, t-1}) + v_ {it},

где v_ {it} - это нормально распределенный член ошибки.


person Franz    schedule 18.07.2016    source источник


Ответы (1)


Вы можете сделать что-то подобное, используя индексирование в сочетании с bysort:

clear
set seed 10011979
set obs 4 // Set the number of panels (N)
gen id = _n
gen alpha = rnormal(0,1)
expand 3 // Set the number of periods (T)
bys id: gen t=_n
xtset id t
bysort id (t): gen lme = rnormal(0,1) + rnormal(0,1) if _n==1
bysort id (t): replace lme = .8 * lme[_n-1] + rnormal(0,1) if _n!=1
gen w = 3 * lme + alpha + rnormal(0,1)
drop alpha
person Dimitriy V. Masterov    schedule 18.07.2016