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: predict, condpb


From   Richard Williams <[email protected]>
To   [email protected]
Subject   Re: st: predict, condpb
Date   Tue, 06 Aug 2013 12:13:25 -0500

In case it helps, here is what Stata 9.2 says about the syntax for predict after running nlogit. The current syntax looks a lot simpler, I suspect because of the new hlevel option. If this is hard to read you may need to copy and paste using a fixed-width font.

Syntax for predict

        predict [type] newvar [if] [in] [, statistic]

    statistic    description
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Main
pb predicted probability of choosing bottom-level, or choice-set, alternatives; each alternative identified by altsetvarB; the default p1 predicted probability of choosing first-level alternatives; each alternative identified by altsetvar1 p2 predicted probability of choosing second-level alternatives; each choice identified by altsetvar2
      ...
p# predicted probability of choosing #-level alternatives; each alternative identified by altsetvar#
      xbb        linear prediction for the bottom-level alternatives
      xb1        linear prediction for the first-level alternatives
      xb2        linear prediction for the second-level alternatives
      ...
      xb#        linear prediction for the #-level alternatives
condpb Pr(each bottom alternative|alternative is available after all earlier choices)
      condp1     Pr(each level 1 alternative) = p1
condp2 Pr(each level 2 alternative|alternative is available after level 1 decision)
      ...
condp# Pr(each level # alternative|alternative is available after all earlier choices)
      ivb        inclusive value for the bottom-level alternatives
      iv2        inclusive value for the second-level alternatives
      ...
      iv#        inclusive value for the #-level alternatives
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------
The inclusive value for the first-level alternatives is not used in estimation; therefore, it is not calculated. These statistics are available both in and out of sample; type predict ... if e(sample) ... if wanted only for the estimation sample.


Options for predict

Consider a nested logit model with 3 levels: Pr(ijk) = Pr(k|ij)*Pr(j|i)*Pr(i), then

pb, the default, calculates the probability of choosing bottom-level alternatives; pb = Pr(ijk).

p1 calculates the probability of choosing first-level alternatives; p1 = Pr(i).

p2 calculates the probability of choosing second-level alternatives; p2 = Pr(ij) = Pr(j|i)*Pr(i).

    xbb calculates the linear prediction for the bottom-level alternatives.

    xb1 calculates the linear prediction for the first-level alternatives.

    xb2 calculates the linear prediction for the second-level alternatives.

    condpb = Pr(k|ij).

    condp1 = Pr(i).

    condp2 = Pr(j|i).

ivb calculates the inclusive value for the bottom-level alternatives: ivb = ln[sum{exp(xbb){c )-]), where xbb is the linear prediction for the bottom-level
        alternatives.

iv2 calculates the inclusive value for the second-level alternatives: iv2 = ln[sum{exp(xb2 + tau_j*ivb)}], where xb2 is the linear prediction for the second-level alternatives, ivb is the inclusive value for the bottom-level alternatives, and tau_j are the parameters for the inclusive value.


Examples

. nlogit chosen (restaurant = cost rating distance) (type = incFast incFancy kidFast kidFancy), group(family_id) nolog
        . predict pb
        . predict p1, p1
        . predict condbp, condpb
        . predict xbb, xbb
        . predict xb1, xb1
        . predict ivb, ivb




At 10:24 AM 8/6/2013, you wrote:
Richard, that was it!

Actually, there was another nlogit that I put under comment stars some
days ago because it would not run due to some syntax error. However,
obviously that one was written for Stata 9... I tried using that with
-version- and

version 9: nlogit ...
version 9: preditct x1, condpb

worked in the end.

thank you, stefan bernhard,

2013/8/6 Richard Williams <[email protected]>:
> Actually, I just checked my old copy of Stata 9.2, and condpb and pb were
> legitimate options for it (but apparently disappeared by Stata 10). So I
> think Nick had the right idea before but the version command was in the
> wrong place. Try something like
>
> version 9.2
> nlogit [whatever]
>
> predict x1, condpb
> predict x2, pb
>
> This underscores why it is a good idea to include version commands in your
> do files. If you don't, the command may not run correctly under future
> versions of Stata. Even in this case, it is possible that you should be
> using something earlier than 9.2.
>
> Alternatively, you could figure out exactly what each of these options did
> and then use whatever the current options are.
>
>
> At 09:20 AM 8/6/2013, Stefan Bernhard wrote:
>>
>> Thanks Nick and Richard (your example works fine), I did not know that
>> predict was specific to the previous estimation command. There's
>> something new to learn about stata every day...
>> Therefore the question is resolved.
>>
>> Well then the problem clearly is that in the do-file that I was given,
>> there is no nlogitrum at all, which is strange because why would there
>> be that specific predict for nlogitrum then...
>>
>> best, stefan bernhard,
>>
>> 2013/8/6 Richard Williams <[email protected]>:
>> > Works for me. travelmode is an auxiliary file that you can download
>> > along
>> > with the program:
>> >
>> > use "C:\StataData\travelmode.dta", clear
>> > nlogitrum mode asc_* hinc_* time_*, group(grp) nests(travel type)
>> >
>> > predict x1, condpb
>> > predict x2, pb
>> >
>> > Like Nick says we need to see the code. In particular, you have to run
>> > nlogitrum first before you run the predict commands. predict options are
>> > often specific to the estimation command that has just been run; they
>> > aren't
>> > going to work after every estimation command.
>> >
>> >
>> > At 08:37 AM 8/6/2013, Nick Cox wrote:
>> >>
>> >> I think you might need to tell us much more about your do-file and
>> >> what it runs immediately before it invokes -predict-.
>> >>
>> >> Earlier I was following your guess that something is no longer allowed
>> >> in newer versions of Stata (Stata 12 in your case) but on further
>> >> thought that's unlikely to be the problem.
>> >>
>> >> The key point here is that -predict- in itself does nothing much
>> >> except call up whatever prediction program is associated with the last
>> >> estimation command.
>> >>
>> >> It sounds as if you might need something user-written to be installed,
>> >> specifically                  -nlogitrum_p-, although the error
>> >> message remains a puzzle to me.
>> >> Nick
>> >> [email protected]
>> >>
>> >>
>> >> On 6 August 2013 14:16, Stefan Bernhard <[email protected]>
>> >> wrote:
>> >> > Yeah I did that because I thought maybe it does some alterations to
>> >> > -predict-, but that is not the case, still not allowed option :/
>> >> > best stefan bernhard,
>> >> >
>> >> > 2013/8/6 Kieran McCaul <[email protected]>:
>> >> >> ...
>> >> >>
>> >> >>
>> >> >> Looks like you have to download -nlogitrum-
>> >> >>
>> >> >> Type: search nlogitrum
>> >> >> And click on the link.
>> >> >>
>> >> >> -----Original Message-----
>> >> >> From: [email protected]
>> >> >> [mailto:[email protected]] On Behalf Of Stefan
>> >> >> Bernhard
>> >> >> Sent: Tuesday, 6 August 2013 8:00 PM
>> >> >> To: statalist
>> >> >> Subject: Re: st: predict, condpb
>> >> >>
>> >> >> Thanks for the reply nick,
>> >> >>
>> >> >> but I tried all version #: from 1 to 11 now and always the error
>> >> >> "option condpb not allowed".
>> >> >>
>> >> >> I found a stata-journal article from 2002 where the syntax of
>> >> >> predict
>> >> >> looks like this:
>> >> >>
>> >> >> predict  type newvarname  if exp  in range  , statistic
>> >> >>
>> >> >> Where the condpb and pb were set with statistic.
>> >> >>
>> >> >> http://www.stata-journal.com/sjpdf.html?articlenum=st0017
>> >> >>
>> >> >> It seems like that was for Stata 7 and the predict command has
>> >> >> undergone significant changes sometime in between. Or could it have
>> >> >> to do
>> >> >> anything with having to run nlogitrum first? (In the do-file, the
>> >> >> predict is
>> >> >> after an nlogit)
>> >> >>
>> >> >> best, stefan bernhard,
>> >> >>
>> >> >> 2013/8/6 Nick Cox <[email protected]>:
>> >> >>> Try a prefix such as
>> >> >>>
>> >> >>> version 5: predict x1, condpb
>> >> >>>
>> >> >>> for any value of "5" that works.
>> >> >>>
>> >> >>> See also the -help- for -version-.
>> >> >>>
>> >> >>> Nick
>> >> >>> [email protected]
>> >> >>>
>> >> >>>
>> >> >>> On 6 August 2013 12:08, Stefan Bernhard
>> >> >>> <[email protected]>
>> >> >>> wrote:
>> >> >>>> dear statalisters,
>> >> >>>>
>> >> >>>> i have a do file that was written some time ago that contains
>> >> >>>>
>> >> >>>> predict x1, condpb
>> >> >>>> predict x2, pb
>> >> >>>>
>> >> >>>> apparently, the options condpb and pb are no longer allowed in
>> >> >>>> newer
>> >> >>>> versions of stata (I use stata 12).
>> >> >>>>
>> >> >>>> Is there any way to do whatever those options did before (I just
>> >> >>>> want
>> >> >>>> to replace these commands with something that gives me the same
>> >> >>>> output as those would have in an older version of stata)?
>> >> >>>>
>> >> >>>> best, stefan bernhard,
>> >> >>>> *

-------------------------------------------
Richard Williams, Notre Dame Dept of Sociology
OFFICE: (574)631-6668, (574)631-6463
HOME:   (574)289-5227
EMAIL:  [email protected]
WWW:    http://www.nd.edu/~rwilliam

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


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