全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
7577 3
2008-04-28

我现在要做的是进行quantile回归,并且把回归的结果保存在一个文件里边,所以用到了postfile命令。但奇怪的是,有的时候work了,多加入一两个变量就又不work了,估计总是很不稳定,不知道为什么?下面是我的程序,有高手帮助看看???

foreach y  in yr1 yr2 yr3 {
foreach vaz in ur ru {

tempname 1

postfile `1' zid  qq  v_dis v_age v_asq v_pop v_pchi v_gend v_edu v_enth v_Party v_const using coef_`vaz'_`y'_latc,replace

use tempMMall,clear
keep if `vaz'==1 & `y'==1
   forvalues iters1=1(1)`bsize' {
capture{           

 local qq=uniform() /* randomly draw from U[0,1] distribution */
            noisily di "TYP =" "`vaz'""  ITER =" "`iters1'"  "  qq =" "`qq'"  " year = " "`y'" "
    * estimate quantile regression for quantile qq
    
                        qreg latc dis age  asq  pop  pchi  gend edu enth  Party ,quantile(`qq') nolog
                       
                        local v_dis=_b[dis]
                        local v_age=_b[age]
                       
                        local v_asq=_b[asq]
                       
                        local v_pop=_b[pop]
                       
                        local v_pchi=_b[pchi]
                       
                        local v_gend=_b[gend]
                       
                        local v_edu=_b[edu]
                       
                        local v_enth=_b[enth] 
                         
                        local v_Party=_b[Party]
                       
                        local v_const=_b[_cons]

                        local qqz=`qq'
                         local zid=`iters1'
                        post `1' (`zid') (`qq') (`v_dis') (`v_age') (`v_asq') (`v_pop') (`v_pchi') (`v_gend')(`v_edu') (`v_enth')(`v_Party')(`v_const')
                        }
                       }
             
  postclose `1'
}
}

二维码

扫码加我 拉你入群

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

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

全部回复
2008-4-28 17:29:00

自己顶一下,没有人用过吗???

蓝色版主?

二维码

扫码加我 拉你入群

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

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

2008-4-28 20:15:00

没有用过,最后把一个小的数据集也上传,别人可以重复试试,这样才好找问题。

二维码

扫码加我 拉你入群

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

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

2008-4-30 05:28:00
是不是因为在某些情况下你的回归不稳定导致参数无法估计?如果是那种情况,可以用e(convcode)检查

local varlist dis age  asq  pop  pchi  gend edu enth  Party
qreg latc `varlist' ,quantile(`qq') nolog
if (e(convcode)==0) {
    foreach v in `varlist' _cons {
        local v_`v' = _b[`v']
    }
}
else {
    foreach v in `varlist' _cons {

        local v_`v' = .

    }
}
post ...

或者用capture命令:

capture qreg ...
if (_rc==0) {
    ...
}
else {
    ...
}

[此贴子已经被作者于2008-4-30 5:30:10编辑过]

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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