楼主: 少来风
58898 129

[学习心得] 尝试用STATA做空间面板计量 感觉很好   [推广有奖]

41
zyyshadow0911 发表于 2014-11-19 13:14:08
kocoma 发表于 2014-4-5 21:03
可是,只生成一年的权重矩阵,stata会提醒不匹配。。 该怎么办?
问题解决了吗?怎么设置面板数据的空间权重矩阵?

42
kocoma 在职认证  发表于 2014-11-22 10:30:27
zyyshadow0911 发表于 2014-11-19 13:14
问题解决了吗?怎么设置面板数据的空间权重矩阵?
其实我也不知道正确的解决方式是什么,于是硬生生地做了一个对角矩阵= =...
请勿模仿。。。囧

43
zyyshadow0911 发表于 2014-11-22 20:19:23
kocoma 发表于 2014-11-22 10:30
其实我也不知道正确的解决方式是什么,于是硬生生地做了一个对角矩阵= =...
请勿模仿。。。囧
我用excel做了一个矩阵,但是在stata之中,尝试着做空间计量的时候,提示我不行,矩阵和面板数据不匹配。

44
hncsxxy 发表于 2015-1-12 15:23:27
zyyshadow0911 发表于 2014-11-22 20:19
我用excel做了一个矩阵,但是在stata之中,尝试着做空间计量的时候,提示我不行,矩阵和面板数据不匹配。
你好 问题解决了么

45
zyyshadow0911 发表于 2015-1-12 15:40:34
hncsxxy 发表于 2015-1-12 15:23
你好 问题解决了么
http://www.statalist.org/forums/ ... at-import-txt-files
看这个网址。

46
hncsxxy 发表于 2015-1-12 15:52:20
zyyshadow0911 发表于 2015-1-12 15:40
http://www.statalist.org/forums/forum/general-stata-discussion/general/295364-spmat-import-txt-fil ...
非常感谢,他的意思是如果样本没有达到20个空间权重矩阵是有问题的吗

47
hncsxxy 发表于 2015-1-12 17:08:10
hncsxxy 发表于 2015-1-12 15:23
你好 问题解决了么
"gen ID=_n
spreg ml y x , id(ID) dlmat(SPWMat) elmat(SPWMat) nolog"
这句里面的ID自己事先在数据里面设置好了,那命令里面用id(20)显示“20 invalid name in option id()”什么意思呢?另外,这是是建立截面数据还是面板数据的权重矩阵的方法呢?

48
zyyshadow0911 发表于 2015-1-13 10:09:02
hncsxxy 发表于 2015-1-12 17:08
"gen ID=_n
spreg ml y x , id(ID) dlmat(SPWMat) elmat(SPWMat) nolog"
这句里面的ID自己事先在数据里 ...
spmat import SPWMat using SPWMat.txt, replace normalize(row)
spmat export SPWMat using SPWMat.txt, replace
spmat save SPWMat using SPWMat.spmat, replace

实际上重要的就是这几个指令。把矩阵定义为  .spmat格式的并存下来。 20行只是举例。
这个是面板数据的矩阵设置,不是截面的,截面的比这个简单。

49
zyyshadow0911 发表于 2015-1-13 10:11:23
hncsxxy 发表于 2015-1-12 17:08
"gen ID=_n
spreg ml y x , id(ID) dlmat(SPWMat) elmat(SPWMat) nolog"
这句里面的ID自己事先在数据里 ...
我在多说几句话。介绍一下。
关键是,你要生成n个城市的空间面板权重矩阵。你就要在stata中引入n+1行,n+1列的数据。
第一行是ID,第一列只有一个数据,就是城市的数目。然后你就可以使用这个指令,生成一个空间权重的.spmat的格式的数据,你进一步可以调用它来进行回归。

50
zyyshadow0911 发表于 2015-1-13 10:12:33
hncsxxy 发表于 2015-1-12 17:08
"gen ID=_n
spreg ml y x , id(ID) dlmat(SPWMat) elmat(SPWMat) nolog"
这句里面的ID自己事先在数据里 ...
我在多说几句话。介绍一下。
关键是,你要生成n个城市的空间面板权重矩阵。你就要在stata中引入n+1行,n+1列的数据。
第一行是ID,第一列只有一个数据,就是城市的数目。然后你就可以使用这个指令,生成一个空间权重的.spmat的格式的数据,你进一步可以调用它来进行回归。
关键还是这几个指令:
spmat import SPWMat using SPWMat.txt, replace normalize(row)
spmat export SPWMat using SPWMat.txt, replace
spmat save SPWMat using SPWMat.spmat, replace

你不一定非要按照这个外国人的做法,他是用的txt格式导入数据,你可以直接把设置好的矩阵粘贴进入stata中,然后运行后面的这三个指令。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 15:17