楼主: bryant_liu
1310 3

[Stata高级班] 请问连老师,限制变量回归的问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

25%

还不是VIP/贵宾

-

威望
0
论坛币
632 个
通用积分
0.0030
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1078 点
帖子
36
精华
0
在线时间
34 小时
注册时间
2009-9-14
最后登录
2018-4-19

楼主
bryant_liu 发表于 2011-8-16 20:25:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想做一个回归:Y = b0 + b1 * X1 + b2*X2 + b3*X3+e

但有两个限制条件:


1、b1+b2+b3 = 1
2、b1,b2,b3非负


请问是用stata如何实现?谢谢。


二维码

扫码加我 拉你入群

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

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

关键词:连老师 Stata 如何实现 tata 限制条件 如何

沙发
bryant_liu 发表于 2011-8-18 08:26:26
自己顶一下,急切盼望连老师的回复中,谢谢。

藤椅
arlionn 在职认证  发表于 2011-8-18 11:10:51

*-Constrainted regression

*-https://bbs.pinggu.org/thread-1155288-1-1.html

/*  Question:

  我想做一个回归:Y = b0 + b1 * X1 + b2*X2 + b3*X3+e
  但有两个限制条件:

  1、b1+b2+b3 = 1
  2、b1,b2,b3非负

  请问是用stata如何实现?谢谢。
  
Treatment:
  For contraint 2, we can estimate ln(b) instead of b,
  once we get the esimator of ln(b), b can be recovered as b=exp(ln(b)),
  which ensure b is positive.
  
  With constraint 1, only two parameters remian, say, b3=1-b1-b2
  
  NLS can be used to get the estimations of b1, b2, and b3
*/

  clear
  set obs 1000
  
  gen x1 = 2*invnorm(uniform())
  gen x2 = 3*invnorm(uniform())
  gen x3 = 4*invnorm(uniform())
  gen e  = 1*invnorm(uniform())
  
  gen y = 10 + 0.2*x1 + 0.3*x2 + 0.5*x3 + e
  
  *-note: b0=10, b1=0.2, b2=0.3, b3=0.5
  
  
  *----
  *-OLS
  
    reg y x*
  
  *----
  *-NLS

  *-Only Constraints 2:  b1+b2+b3=1
        nl (y = {b0} + {b1}*x1 + {b2}*x2 + (1-{b1}-{b2})*x3)
          
  *-Both Constraints
        nl (y = {b0} + exp({b1})*x1 + exp({b2})*x2 + (1-exp({b1})-exp({b2}))*x3)
        local ln_b1 = _b[/b1]
        local ln_b2 = _b[/b2]
        dis in g "b1= " in y exp(`ln_b1')
        dis in g "b2= " in y exp(`ln_b2')
    dis in g "b3= " in y 1-exp(`ln_b1')-exp(`ln_b2')

板凳
bryant_liu 发表于 2011-8-18 17:36:48
感谢连老师,多谢多谢。

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

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