Stata
Products Purchase Support Company
Search
   >> Home >> Resources & support >> FAQs >> Relationship between ordered probit and probit
This question was originally posed on Statalist and answered by StataCorp’s William Gould. Also see ologit_con.html for another answer to a part of this question.

Is it possible to include a constant term (intercept) in an ordered probit model within Stata? What is the relationship between ordered probit and probit?

Title   Relationship between ordered probit and probit
Author William Gould, StataCorp
Date September 2001; minor revisions September 2005

The answer is either “yes, and in fact, there already is an intercept in the model” or “no, given how it is parameterized, there is no role for an intercept”.

Let us think about a three-outcome ordered probit model. In that model,

        Pr(outcome==1) = Pr(        X*b + u <= /cut1)            
        Pr(outcome==2) = Pr(/cut1 < X*b + u <= /cut2)               (1)
        Pr(outcome==3) = Pr(/cut2 < X*b + u)

Now, let’s add an intercept; replace X*b with X*b + a, producing

        Pr(outcome==1) = Pr(        X*b + a + u <= /cut1)
        Pr(outcome==2) = Pr(/cut1 < X*b + a + u <= /cut2)           (2)
        Pr(outcome==3) = Pr(/cut2 < X*b + a + u)

Doing some algebra, I can equivalently write

        Pr(outcome==1) = Pr(          X*b + u <= /cut1−a)
        Pr(outcome==2) = Pr(/cut1−a < X*b + u <= /cut2−a)           (2')
        Pr(outcome==3) = Pr(/cut2−a < X*b + u)

Let’s pretend that in (1), our estimates were /cut1 = −1 and /cut2 = −2. Tell me a value, and I will tell you the new values for /cut1 and /cut2 that will make (2) exactly equivalent to (1). The fact is that /cut1, /cut2, and a are collinear, and there is no room for intercept a to play a role.

In fact, /cut1 and /cut2 are very much like intercepts. First, let’s consider a two-outcome model:

        Pr(outcome==1) = Pr(        X*b + u <= /cut1)            
        Pr(outcome==2) = Pr(/cut1 < X*b + u)

I can rewrite the second equation as

        Pr(outcome==2) = Pr(0 < X*b + (−/cut1) + u)
                       = Pr( X*b + (−/cut1) + u > 0)

and I can rewrite the first equation as 1 − Pr(outcome==2). Doing that, I have the standard probit model with −/cut1 being equal to the intercept. Check the result for yourself. Using the automobile data, type

        . probit foreign mpg weight 

and

        . oprobit foreign mpg weight

The coefficients will all be the same, and the /cut1 will be the negative of the intercept.

The above result, as a matter of fact, generalizes to when there are more than two outcomes. In our three-outcome model, we have

        Pr(outcome==1) = Pr(        X*b + u <= /cut1)            
        Pr(outcome==2) = Pr(/cut1 < X*b + u <= /cut2)               (1)
        Pr(outcome==3) = Pr(/cut2 < X*b + u)

and again I will start at the bottom, rewrite the third equation, then the second, and then the third:

        Pr(outcome==3) = Pr(/cut2 < X*b + u)
                       = Pr(    0 < X*b + (−/cut2) + u)
                       = Pr( X*b + (−/cut2) + u > 0)                 (1.3)

For the second equation, I want to write not Pr(outcome==2) but Pr(outcome>=2):

        Pr(outcome>=2) = Pr(/cut1 < X*b + u)
                       = Pr(    0 < X*b + (−/cut1) + u)
                       = Pr( X*b + (−/cut1) + u > 0)                 (1.2)

Now, if you look carefully at (1.3) and (1.2), you will recognize that they are ordinary, binary-probit probit equations.

Equation (1.3) amounts to running a binary-outcome probit with success being outcome==3 and failure being outcome<3. In this equation, −/cut2 corresponds to the intercept.

Equation (1.2) amounts to running a binary probit with success being outcome>=2 and failure being outcome<2. In this equation, /cut1 corresponds to the intercept.

Ordered probit amounts to estimating (1.3) and (1.2) simultaneously, and with the constraint, that b in (1.3) equals b in (1.2). Ergo, ordered probit amounts to estimating the standard binary probit models

        Pr(outcome==3) = Pr( X*b + (−/cut2) + u > 0)                 (1.3)

and

        Pr(outcome>=2) = Pr( X*b + (−/cut1) + u > 0)                 (1.2)

with the constraint that the cofficients, but not the INTERCEPTS, are equal.

FAQs
What's new?
Statistics
Data management
Graphics
Programming Stata
Mata
Resources
Internet capabilities
Stata for Windows
Stata for Unix
Stata for Macintosh
Technical support
Resources & support
FAQs
Technical support
NetCourses
Short courses
Users Group meetings
Statalist
Links
Software updates
Software archives
Customer service
Manuals & supplements
Stata Journal
STB
Stata News
Stata Automation
Plugins

Site overview
Products
Resources & support
Company
Site index

© Copyright 1996–2008 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index