Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ivregress liml, does not return the likelihood e(ll), and I am not able to do likelihood ratio testing. Why is that?

    When I fit Limited Information Maximum Likelihood regression model, say

    ivregress liml price (mpg =head trunk weight)
    ereturn list

    there is no e(ll), the maximised likelihood is missing in what ivregress liml returns.

    Then likelihood ratio testing becomes impossible:

    . qui ivregress liml price (mpg =head trunk weight)

    . est sto full

    . qui ivregress liml price

    . lrtest full .
    full does not contain scalar e(ll)
    r(498);


    This is puzzling. The estimator is called Limited Information Maximum Likelihood, and yet it does not return a value for the maximused Likelihood...

    ( I understand that there are at least two ways how to solve the problem. One of them is a closed form solution to an eigen value problem. But still we are finding a solution to a maximum likelihood problem and the maximised likelihood is an important quantity that should be recoverable.)

    My question is how can I recover the maximised value of the likelihood? How can I do likelihood ratio testing after ivregress liml?

  • #2
    It is definitely not very intuitive that no e(ll) is stored.

    What about ivreg2 as an alternative?

    Code:
    ssc install ivreg2
    ssc install ranktest // necessary for the following command
    ivreg2 depvar X1 X2 .... (endogenousvar = Z1 Z2), liml
    ereturn list // yields e(ll)

    Comment


    • #3
      Thank you Max,

      ivreg2 does provide e(ll), but I do not think that this likelihood is the correct system likelihood. I spent a couple of hours studying the documentation of ivreg2, I did not find anything on how they calculate e(ll). I know that the ivreg2 e(ll) is not what I need because Pagan in a paper in Economics Letters shows that Iterated Seemingly Unrelated regression is equivalent to Limited information maximum likelihood, here it is

      Code:
      . ivreg2 price (mpg =head trunk weight), liml noheader
      ------------------------------------------------------------------------------
             price |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
      -------------+----------------------------------------------------------------
               mpg |  -342.7629   67.19733    -5.10   0.000    -474.4673   -211.0586
             _cons |   13465.18   1464.046     9.20   0.000      10595.7    16334.66
      ------------------------------------------------------------------------------
      . dis e(ll)
      -688.45705
      
      . sureg (price mpg)  (mpg head trunk weight), isure nolog noheader
      
      ------------------------------------------------------------------------------
                   |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
      -------------+----------------------------------------------------------------
      price        |
               mpg |  -342.7628   52.21744    -6.56   0.000    -445.1071   -240.4185
             _cons |   13465.18   1154.152    11.67   0.000     11203.08    15727.27
      -------------+----------------------------------------------------------------
      mpg          |
          headroom |   .3575597   .5797288     0.62   0.537    -.7786879    1.493807
             trunk |  -.0944815   .1355905    -0.70   0.486    -.3602339     .171271
            weight |  -.0058398   .0006548    -8.92   0.000    -.0071231   -.0045565
             _cons |   39.15977   1.700472    23.03   0.000     35.82691    42.49263
      ------------------------------------------------------------------------------
      
      . dis e(ll)
      -877.96867


      As we can see the parameter estimates in the structural equation are (almost) the same. I guess the almost comes from numerical precision, they have to be the same according to Pagan.

      But the log likelihoods are different, in fact very different -688.45705 vs -877.96867 ! (This difference spills over to the Likelihood ratio test, not shown here, but the likelihood ratio test the two produce are very different, in this example LR chi2(1) = 14.51 (ivreg2) vs LR chi2(1) = 25.24 (sureg, isure) for Ho: mpg=0. )

      To preempt why am I not just using sureg when I know how to get the e(ll) via sureg: Sureg is an iterative estimator and takes ages when I do simulations.

      So probably I should modify my question and say: How can I get the correct likelihood from a one step closed form (not iterative estimator). So that I can speed up my simulations to manageable time.

      Comment

      Working...
      X