On Wed, 16 Dec 2015, Artur Tarassow wrote:
Dear all,
I just trying to run some forecasts based on an ordered probit regression
model and detected some (maybe?) slight inconsistency -- if any.
Using the fcast command returns for the BINARY PROBIT the estimated
probabilties, but for the ORDERED PROBIT a series of the predicted response
at each observation (the response for which the estimated probability is
highest).
However, I would like to estimate using the ORDER PROBIT the forecasted
probabilties using Jack's "oprobit_predict" function for which I would need
forecast of the z-hat values.
oprobit_predict is by Allin (credit where it's due ;) )
That said: here's a slight modification of your script:
<hansl>
set messages off
set echo off
include oprobit_predict.gfn
open ukppp.gdt -q
series C = 0 # ordered (3 classes)
C = (diff(e12)>=-0.02 && diff(e12)<0.07) + 2*(diff(e12)>=0.07)
list X = 0 doilp0
# Set tranining sample
smpl ; 1986:1
# Ordered Probit
probit C X #--quiet
smpl full
list Z = X - const
scalar k = nelem(Z)
series zhat = lincomb(Z, $coeff[1:k])
matrix cut = $coeff[k+1:]
# get the predicted responses
series pred = oprobit_pred(cut, zhat)
</hansl>
Now, having sorted the mechanical aspect out, a more interesting problem
remains open: how do you evaluate forecasts in a case like this? For
continuous outcomes it makes sense to rely on some relatively
straightforward loss functions (also, take a look at Giulio Palomba's
package for the Diebold-Mariano test). But how do you even _define_ the
loss function for a discrete outcome? Hmmm... mumble, mumble...
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------