楼主: dd0627
2907 4

[其他] [求助]在stata里如何简单快捷的用一个var过程生成新数据 [推广有奖]

  • 1关注
  • 0粉丝

高级会员

博士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
7733 个
通用积分
0
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
89 点
帖子
77
精华
0
在线时间
658 小时
注册时间
2006-2-18
最后登录
2024-5-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题,现在有y,z两个变量,我想生成x变量,x变量用一个x,y,z的var过程来生成,像这样,x_t=a_0+a_11*x_t-1+a_12*y_t-1+a_13*z_t-1+a_21*x_t-2+a_22*y_t-2+a_23*z_t-2+epsilon(t),具体的操作命令是什么啊?
才开始学stata不久,他的命令很不熟,用惯了像matlab之类的软件,语法习惯也不习惯,郁闷,谁能指导下如何更有效快速的学习stata
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata VaR MATLAB matla matlab 如何 软件

沙发
sungmoo 发表于 2010-5-27 21:16:18 |只看作者 |坛友微信交流群
dd0627 发表于 2010-5-27 20:00 现在有y,z两个变量,我想生成x变量,x变量用一个x,y,z的var过程来生成,像这样,
x_t=a_0+a_11*x_t-1+a_12*y_t-1+a_13*z_t-1+a_21*x_t-2+a_22*y_t-2+a_23*z_t-2+epsilon(t)
*是不是要以下结果?(设t是时间标识,x的初二值都是0)

tsset t
g x=.
replace x=0 in 1/2
replace x=a0+a11*L.x+a12*L.y+a13*L.z+a21*L2.x+a22*L2.y+a23*L2.z+uniform() in 3/l

使用道具

藤椅
johnayl 发表于 2010-5-28 05:11:02 |只看作者 |坛友微信交流群
1. tsset:
       tsset x t, yearly (or monthly et al.)                    * suppose x is the panel var

2. gen a NEW var (you may choose not to use "replace" per sungmoo's suggestion)
        gen x_new=a0+a11*L.x+a12*L.y+a13*L.z+a21*L2.x+a22*L2.y+a23*L2.z+uniform()

使用道具

板凳
sungmoo 发表于 2010-5-28 06:55:39 |只看作者 |坛友微信交流群
johnayl 发表于 2010-5-28 05:11
1. tsset:
       tsset x t, yearly (or monthly et al.)                    * suppose x is the panel var

2. gen a NEW var (you may choose not to use "replace" per sungmoo's suggestion)
        gen x_new=a0+a11*L.x+a12*L.y+a13*L.z+a21*L2.x+a22*L2.y+a23*L2.z+uniform()
dd0627 发表于 2010-5-27 20:00 如题,现在有y,z两个变量,我想生成x变量,x变量用一个x,y,z的var过程来生成
NOTE: in this question, x has not been generated.

使用道具

报纸
dd0627 发表于 2010-5-29 00:09:34 |只看作者 |坛友微信交流群
Thanks for Sungmoo and johnayl, I have found the mistake i made. A display of my mistake as follows
set sample 100
t=_n
tsset t
gen epsilon=invnormal(uniform())
gen x=0
replace x=a0+a11*L.x+a12*L.y+a13*L.z+epsilon
The commands above have a mistake, since x[1]=f(x[0]), however x[0] doesn't even exist, thus stata will replace x series with wrong elements, the right commands are below
replace x=a0+a11*L.x+a12*L.y+a13*L.z+epsilon if t>1

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-15 18:31