楼主: econfj
3668 5

[其他] 再问一个有关tobit的问题,感谢! [推广有奖]

  • 1关注
  • 3粉丝

已卖:2份资源

教授

19%

还不是VIP/贵宾

-

威望
0
论坛币
32534 个
通用积分
28.9504
学术水平
1 点
热心指数
5 点
信用等级
2 点
经验
1020 点
帖子
456
精华
0
在线时间
1621 小时
注册时间
2010-4-2
最后登录
2022-7-14

楼主
econfj 发表于 2012-9-23 19:03:52 |AI写论文
1500论坛币
我知道为什么eq3和eq4得到一样的结果,为什么了eq1和eq2得到一样的结果,紧紧是因为stata系统的原因嘛?

clear
set seed 13579
set obs 1000
gen x1=invnorm(uniform())
gen x2=2*invnorm(uniform())
gen e=invnorm(uniform())
gen y=3+x1+3*x2+e

gen z=y if y<10
replace z=10 if y>=10


*drop in 1/100

tobit z x1 x2, ul(10)  //eq1
tobit z x1 x2, ul(10.0000000000000001)  //eq2

reg z x1 x2 //eq3
tobit z x1 x2, ul(10.000001)  //eq4

关键词:Tobit bit Uniform Stata Norm

沙发
zyz0329 在职认证  发表于 2012-9-23 19:28:08
说句话都不清楚 不知道你要说啥

藤椅
夏目贵志 发表于 2012-9-24 09:03:15
跟软件的储存精度有关。比如
  1. . tobit z x1 x2, ul(10.0000000000000001)

  2. Tobit regression                                  Number of obs   =       1000
  3.                                                   LR chi2(2)      =    3365.34
  4.                                                   Prob > chi2     =     0.0000
  5. Log likelihood = -1299.2923                       Pseudo R2       =     0.5643

  6. ------------------------------------------------------------------------------
  7.            z |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
  8. -------------+----------------------------------------------------------------
  9.           x1 |   .9511859   .0328796    28.93   0.000     .8866648    1.015707
  10.           x2 |   2.991559   .0194406   153.88   0.000     2.953409    3.029708
  11.        _cons |   3.008941   .0337618    89.12   0.000     2.942689    3.075193
  12. -------------+----------------------------------------------------------------
  13.       /sigma |   1.000665   .0235822                      .9543887    1.046941
  14. ------------------------------------------------------------------------------
  15.   Obs. summary:          0  left-censored observations
  16.                        895     uncensored observations
  17.                        105 right-censored observations at z>=10

  18. . tobit z x1 x2, ul(10.000000000000001)

  19. Tobit regression                                  Number of obs   =       1000
  20.                                                   LR chi2(2)      =    2762.78
  21.                                                   Prob > chi2     =     0.0000
  22. Log likelihood = -1721.9594                       Pseudo R2       =     0.4451

  23. ------------------------------------------------------------------------------
  24.            z |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
  25. -------------+----------------------------------------------------------------
  26.           x1 |   .8667542   .0427029    20.30   0.000     .7829564    .9505521
  27.           x2 |   2.686237   .0221642   121.20   0.000     2.642743    2.729731
  28.        _cons |   2.699676   .0428542    63.00   0.000     2.615581    2.783771
  29. -------------+----------------------------------------------------------------
  30.       /sigma |   1.353943   .0302751                      1.294533    1.413353
  31. ------------------------------------------------------------------------------
  32.   Obs. summary:          0  left-censored observations
  33.                       1000     uncensored observations
  34.                          0 right-censored observations
复制代码

板凳
夏目贵志 发表于 2012-9-24 09:04:25
上面两个命令:
  1. . tobit z x1 x2, ul(10.0000000000000001)
  2. . tobit z x1 x2, ul(10.000000000000001)
复制代码

报纸
econfj 发表于 2012-9-25 02:56:38
夏目兄,谢谢!

我关心这个问题是因为,我现在写一个程序,为了少写一些程序(MLE的程序),我直接调用tobit(做了一些数据的平移,所以用到local来表示平移的大小),在程序中我用了local和gen生成了一些变量,但是local的有效位数是7位的,gen一个数据是8位的有效数字。

这样的结果就变得本来应该相同的两个数字A和B,有了10e-8数量级的差别,A是dependent variable的最大数字,B是我想放在ul()里面的数字,A比B小10e-8。这样的结果就导致tobit失效,就像您上面说的。

我有想过解决的方法,比如在最开始把所有的输入变量都换成7位的,但是通过这些变量新生成的还是8位,另外,就算我每生成一个变量都把它变成7位,好像最后结果也是不行。

stata有没有什么命令设置在当前环境下,所有的local和变量都是一样的位数?

地板
econfj 发表于 2012-9-25 03:05:05
另外一个有关tobit的问题是,

我想用tobit估计 x(t)=x(t-1)+e(t),其实我是想得到tobit的max likelihood的数字。

x(t-1)前面的系数是1,e(t)是error term

所以我的命令是:tobit y ,offset(ylag) nocon ll(0) ul(1)
可惜程序报错:independent variables required with noconstant option

问题:那我应该怎么写命令来实现我的想法?
非常感谢你的帮助啊。。。

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

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