楼主: xiuyuansun
10137 3

[回归分析求助] 【已解决】非线性gmm错误信息:could not calculate numerical derivatives [推广有奖]

  • 0关注
  • 1粉丝

大专生

36%

还不是VIP/贵宾

-

威望
0
论坛币
28 个
通用积分
24.7618
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
377 点
帖子
33
精华
0
在线时间
62 小时
注册时间
2013-11-4
最后登录
2016-11-8

楼主
xiuyuansun 发表于 2014-6-26 22:21:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. webuse hsng2, clear
  2. gmm (rent - {b1}*pcturban - exp({b2}*hsngval) - {b0}), ///
  3.     instruments(hsngval faminc reg2 reg3) onestep
复制代码
\[rent=\beta{}_0+\beta{}_1{}pcturban+exp\{{}\beta{}_2{}hsngval\}+\mu\]
其中hsngval是内生变量,它的工具变量有faminc、reg2、reg3,要求用gmm方法进行回归。

我用上面的代码计算得到以下信息:
  1. Step 1
  2. Iteration 0:   GMM criterion Q(b) =  55677.031  
  3. Iteration 1:   GMM criterion Q(b) =  121.41761  
  4. numerical derivatives are approximate
  5. flat or discontinuous region encountered
  6. Iteration 2:   GMM criterion Q(b) =  8.9695598  
  7. could not calculate numerical derivatives -- flat or discontinuous region encountered
  8. could not calculate numerical derivatives -- flat or discontinuous region encountered
  9. r(430);
复制代码
希望各位高手帮忙看一下,是我的stata命令有问题,还是这个数据集的问题呢?谢谢大家!


【已解决】
webuse hsng2, clear
gmm (rent - {b1}*pcturban - exp({b2}*hsngval) - {b0}), ///
    instruments(hsngval faminc reg2 reg3) onestep

应改为
webuse hsng2, clear
gmm (rent - {b1}*pcturban - exp({b2}*hsngval) - {b0}), ///
    instruments(pcturban faminc reg2 reg3) onestep


把ivregress相关的命令弄混了,ivregress里的工具变量是(endodepvar=z1 z2)
gmm里的工具变量inst()里面全部是工具变量才对
二维码

扫码加我 拉你入群

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

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

关键词:derivatives Derivative calculate Numerical numeric gmm 非线性

沙发
emilyyangxx 发表于 2015-11-1 23:21:23
刚想找这样的非线性GMM代码,谢楼主~

藤椅
chengdj 在职认证  学生认证  发表于 2016-4-21 16:49:41
你好  楼主  有非线性GMM代码的相关详细资料吗?跪求分享  谢谢!
有GPS代码资料可相互交换!

板凳
赵安豆 发表于 2024-8-21 18:03:56
在使用GMM(广义矩估计)方法时遇到"could not calculate numerical derivatives"的错误信息,通常是因为数值导数计算过程中出现了问题。这可能由多种原因引起:

1. **数据问题**:你使用的变量中可能存在缺失值或异常值,导致模型无法正确计算导数。
2. **模型设定**:模型可能是病态的(ill-conditioned),比如存在多重共线性或者参数空间定义不恰当等。
3. **初始值问题**:GMM迭代过程中需要起始估计值。如果这些起始值离真正的解很远,可能会导致计算导数时遇到困难。

对于你的具体案例,可以尝试以下解决方案:

- **检查数据**:确保没有缺失值或异常的观测值,特别是`hsngval`、`faminc`、`reg2`和`reg3`这些变量。
- **重新设定模型**:检查模型设定是否合理。例如,考虑是否存在多重共线性问题,或者尝试变换变量(比如对某些变量取对数)来改善数值稳定性。
- **调整初始值**:可以尝试指定不同的初始估计值给GMM命令使用。这可以通过`init()`选项来实现。
- **增加迭代次数或改变收敛标准**:有时模型可能需要更多的迭代才能达到稳定状态,或者你需要降低收敛的标准。

如果问题仍然存在,可能需要深入检查数据和模型设定以确保它们适合进行GMM估计。在某些情况下,尝试使用其他优化算法(如BFGS或Newton-Raphson)也可能有所帮助。

最后,请注意GMM的迭代过程中出现"flat or discontinuous region encountered"信息通常意味着目标函数(GMM准则Q(b))在一个较小的变化区间内几乎是平坦的,这可能是由于模型设定、数据问题或是初始值选择不当所导致。针对这种情况,重新审视和调整上述方面通常是必要的。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



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

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