全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
1698 2
2017-12-04
悬赏 200 个论坛币 已解决
小弟刚学stata,编程很弱。数据处理过程遇到问题,请大佬帮忙,谢谢,200论坛币奉上。

先是估计y=a*x^b中的参数a和b

然后对已有变量s1,s2,s3,......,s20.
   如果出现s1=0或者s2=0,则g的观测值取零;
   其他,g的值取(s1+s2)/2

最后对已有变量s1,s2,s3,......,s20.
   如果st+1=0,则st=0;
   如果st+1>0且st-1>st,则st=st-1;
  其他不变

万分感谢。万分感谢。万分感谢。万分感谢。万分感谢!

最佳答案

yanzhijun_nju 查看完整内容

首先,第一个问题,将方程y=a*x^b两边取对数,变为lny=lna+b*lnx,对lny和lnx进行估计就可以得到a和b的估计值,使用reg lny lnx命令即可; 其次,第二个问题,gen g=(s1+s2)/2; replace g=0 if s1==0|s2==0 最后,第三个问题, forvalues i=1/20 { replace s`i’=0 if s`i’+1==0 replace s`i’=s`i’-1 if s`i’+1>0&s`i’-1>s`i’ }
二维码

扫码加我 拉你入群

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

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

全部回复
2017-12-4 14:14:17
首先,第一个问题,将方程y=a*x^b两边取对数,变为lny=lna+b*lnx,对lny和lnx进行估计就可以得到a和b的估计值,使用reg lny lnx命令即可;
其次,第二个问题,gen g=(s1+s2)/2; replace g=0 if s1==0|s2==0
最后,第三个问题,
forvalues i=1/20  {
replace s`i’=0 if s`i’+1==0
replace s`i’=s`i’-1 if s`i’+1>0&s`i’-1>s`i’
}
二维码

扫码加我 拉你入群

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

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

2017-12-5 21:09:20
yanzhijun_nju 发表于 2017-12-4 14:14
首先,第一个问题,将方程y=a*x^b两边取对数,变为lny=lna+b*lnx,对lny和lnx进行估计就可以得到a和b的估计 ...
万分感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群