Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Right Censored ordered probit with Stata 11


From   Urmi Bhattacharya <[email protected]>
To   [email protected]
Subject   Re: st: Right Censored ordered probit with Stata 11
Date   Mon, 26 Sep 2011 13:10:32 +0530

Hi Nick,

Thanks. I did not put the input code up because it was taking up too
much space. I used a simulated data set. I am currently away frrom
Stata, but I'll put the input code and the simulated data in case that
helps.

Thank you so much.

Urmi

On Mon, Sep 26, 2011 at 1:02 PM, Nick Cox <[email protected]> wrote:
> No. The rest of what he said.
>
> But even apart from that, we can't see your input code and dataset.
> Remote debugging is going to be very very difficult if you don't work
> with code and data (e.g. simulated data, some set you can -webuse- or
> -sysuse-) that we can see, not that it will be easy otherwise.
>
> Nick
>
> On Mon, Sep 26, 2011 at 8:25 AM, Urmi Bhattacharya <[email protected]> wrote:
>> Hi Nick,
>>
>> Did you mean the one about lines not being properly structured?
>>
>> Thanks
>>
>> Urmi
>>
>>
>> On Mon, Sep 26, 2011 at 12:44 PM, Nick Cox <[email protected]> wrote:
>>> As far as I can tell you are ignoring Austin's advice in his last email.
>>>
>>> I can't illuminate what is happening with your code and data.
>>>
>>> Nick
>>>
>>> On Mon, Sep 26, 2011 at 3:50 AM, Urmi Bhattacharya <[email protected]> wrote:
>>>> Hi Nick and Austin,
>>>>
>>>> Thank you so much for your suggestions. I put the
>>>> set trace on
>>>> set traced 1
>>>>
>>>> followed by Owen's code and the simulation. It identified some errors
>>>> I could correct by áwrapping up the unwrapped lines . But I am getting
>>>> an error now and I can't understand what is causing it. I am providing
>>>> the result that I am getting
>>>>
>>>> - version 11.0
>>>> á- if replay() {
>>>> á áif "`e(cmd)'" != "coprbt" {
>>>> á áerror 301
>>>> á á}
>>>> á ásyntax [, level(passthru)]
>>>> á á}
>>>> á- else {
>>>> á- syntax varlist [if] [in] , censored(varname) [level(passthru) *]
>>>> á- marksample touse
>>>> á- preserve
>>>> á- qui keep if `touse'
>>>> á= qui keep if __000000
>>>> á- gettoken depvar indepvars : varlist
>>>> á- tempvar newdepvar
>>>> á- egen `newdepvar'=group(`depvar')
>>>> á= egen __000001=group(y)
>>>> á- qui sum `newdepvar'
>>>> á= qui sum __000001
>>>> á- local maxvalue =r(max)
>>>> á- forvalues i=1(1)`maxvalue' {
>>>> á= forvalues i=1(1)3 {
>>>> á- tempvar ucsample sumucs
>>>> á- qui gen `ucsample'=0
>>>> á= qui gen __000002=0
>>>> á- qui replace `ucsample'=(`censored'!=1) if (`newdepvar'==`i')
>>>> á= qui replace __000002=(c!=1) if (__000001==1)
>>>> á- qui gen `sumucs'=sum(`ucsample')
>>>> á= qui gen __000003=sum(__000002)
>>>> á- local errorcount =0
>>>> á- capture assert `sumucs'[_N]>0&`sumucs'[_N]<.
>>>> á= capture assert __000003[_N]>0&__000003[_N]<.
>>>> á- if _rc==9 {
>>>> á ádi as error "WARNING: value number `i' has no uncensored obs"
>>>> á á}
>>>> á- drop `sumucs'
>>>> á= drop __000003
>>>> á- drop `ucsample'
>>>> á= drop __000002
>>>> á- }
>>>> á- tempvar ucsample sumucs
>>>> á- qui gen `ucsample'=0
>>>> á= qui gen __000004=0
>>>> á- qui replace `ucsample'=(`censored'!=1) if (`newdepvar'==`i')
>>>> á= qui replace __000004=(c!=1) if (__000001==2)
>>>> á- qui gen `sumucs'=sum(`ucsample')
>>>> á= qui gen __000005=sum(__000004)
>>>> á- local errorcount =0
>>>> á- capture assert `sumucs'[_N]>0&`sumucs'[_N]<.
>>>> á= capture assert __000005[_N]>0&__000005[_N]<.
>>>> á- if _rc==9 {
>>>> á ádi as error "WARNING: value number `i' has no uncensored obs"
>>>> á á}
>>>> á- drop `sumucs'
>>>> á= drop __000005
>>>> á- drop `ucsample'
>>>> á= drop __000004
>>>> á- }
>>>> á- tempvar ucsample sumucs
>>>> á- qui gen `ucsample'=0
>>>> á= qui gen __000006=0
>>>> á- qui replace `ucsample'=(`censored'!=1) if (`newdepvar'==`i')
>>>> á= qui replace __000006=(c!=1) if (__000001==3)
>>>> á- qui gen `sumucs'=sum(`ucsample')
>>>> á= qui gen __000007=sum(__000006)
>>>> á- local errorcount =0
>>>> á- capture assert `sumucs'[_N]>0&`sumucs'[_N]<.
>>>> á= capture assert __000007[_N]>0&__000007[_N]<.
>>>> á- if _rc==9 {
>>>> á ádi as error "WARNING: value number `i' has no uncensored obs"
>>>> á á}
>>>> á- drop `sumucs'
>>>> á= drop __000007
>>>> á- drop `ucsample'
>>>> á= drop __000006
>>>> á- }
>>>> á- local k =`maxvalue'-1
>>>> á= local k =3-1
>>>> á- global OGLFXH "`censored'"
>>>> á= global OGLFXH "c"
>>>> á- qui oprobit `newdepvar' `indepvars'
>>>> á= qui oprobit __000001 áx1 x2 x3
>>>> á- tempname starting
>>>> á- matrix `starting'=e(b)
>>>> á= matrix __000008=e(b)
>>>> á- tempname cutvector
>>>> á- matrix `cutvector'=`starting'[1,"_cut1".."_cut`k'"]
>>>> á= matrix __000009=__000008[1,"_cut1".."_cut2"]
>>>>
>>>> _cut2 not found
>>>>
>>>> á áforvalues i=1(1)`k' {
>>>> á álocal cut`i'=`cutvector'[1,`i']
>>>> á álocal initlist "`initlist' /_cut`i'=`cut`i''"
>>>> á álocal cutlist "`cutlist' /_cut`i'"
>>>> á á}
>>>> á áforeach var of local indepvars {
>>>> á álocal `var'_b =`starting'[1,colnumb(`starting',"`var'")]
>>>> á á}
>>>> á áforeach var of local indepvars {
>>>> á álocal initlist "`initlist' `var'=``var'_b'"
>>>> á á}
>>>> á áml model lf coprbt_ll (`newdepvar'=`indepvars' , nocons ) `cutlist'
>>>> á áif `touse' , maximize title("Homemade Censored Ordered Probit")
>>>> init(`initlist') `options'
>>>> á áereturn local cmd "coprbt"
>>>> á á}
>>>>
>>>> r(111);
>>>>
>>>> end of do-file
>>>>
>>>> r(111);
>>>>
>>>> The "_cut2 not found" is in red suggesting that is where the problem
>>>> is, but I cannot figure out what is causing it.
>>>>
>>>> Any suggestions?
>>>>
>>>> Thanks a lot.
>>>>
>>>> Urmi
>>>> On Sat, Sep 24, 2011 at 8:14 PM, Austin Nichols <[email protected]> wrote:
>>>>> Urmi Bhattacharya <[email protected]>:
>>>>> I also guess that you have not got the line structure right in your
>>>>> files, but I will also note that a quick simulation I ran indicated
>>>>> that -oprobit- run only on uncensored obs outperforms unrestricted
>>>>> -oprobit- and -coprbit-. áSo start with
>>>>>
>>>>> . áoprobit y x1 x2 x3 if censored==0
>>>>>
>>>>> I am also guessing that other models would outperform all 3 options
>>>>> mentioned here, but that will have to wait for another day.
>>>>>
>>>
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index