Announcement

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

  • Tobit returning negative coefficients

    Hello,

    I have a panel data from an RCT with two observations per per subject (i.e. each subject has two rows in my data file). Subjects were asked to donate some money via two ways, let's call these channel A and channel B. Some subjects gave money via both channels and some only via one channel. My dependent variable is how much money they gave (' Amtgiven'). If a person gave $10 via channel A and $20 via channel B, this person will have one row with $10 and one with $20 in 'Amtgiven'. If a person only gave say $50 via channel A, she will have $50 in one row and $0 in the other. And so on.

    Subjects were randomly allocated to two treatment groups, denoted by dummies in the dataset.

    My independent variables are a series of dummies that aim to cover all possible scenarios as follows:

    X1 = (Treatment1 * ChannelA)

    X2 = (Treatment2* ChannelB)

    X3 = (Treatment1 * ChannelB)

    X4 = (Treatment2*ChannelA)

    So for example X1 will be = 1 when that subject was in Treatment group 1 and gave a positive amount of money via channel A and so on. I know want to estimate the following model:

    tobit Amtgiven X1 X2 X3 X4, ll(0) vce( cluster ID) noconstant

    With the above model I cluster errors at the variable ID so STATA knows there are two rows per subject.

    Now, my problem is that the coefficients for X3 and X4 are negative from this model! This is really odd since all my dependent and independent variables have 0 as a min and can never take negative values. When I run the same model with OLS in fact the coefficients are positive. But I need to use tobit since I have many observations that are left-censored.

    I also saw some more complicated ways to do Tobit with fixed effects etc. but I think what I am trying to do here should be fairly simple...

    Thanks,

    Bill

    P.S.: I have already requested my name to be updated to full name.

  • #2
    I can't see your data but I am not surprised by negative coefficients even when all variables are necessarily positive. Here's an example.

    Code:
    . sysuse auto, clear
    (1978 Automobile Data)
    
    . regress mpg weight price
    
          Source |       SS           df       MS      Number of obs   =        74
    -------------+----------------------------------   F(2, 71)        =     66.85
           Model |  1595.93249         2  797.966246   Prob > F        =    0.0000
        Residual |  847.526967        71  11.9369995   R-squared       =    0.6531
    -------------+----------------------------------   Adj R-squared   =    0.6434
           Total |  2443.45946        73  33.4720474   Root MSE        =     3.455
    
    ------------------------------------------------------------------------------
             mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
          weight |  -.0058175   .0006175    -9.42   0.000    -.0070489   -.0045862
           price |  -.0000935   .0001627    -0.57   0.567     -.000418    .0002309
           _cons |   39.43966   1.621563    24.32   0.000     36.20635    42.67296
    ------------------------------------------------------------------------------
    
    . tobit mpg weight price, ll(0)
    
    Tobit regression                                Number of obs     =         74
                                                    LR chi2(2)        =      78.35
                                                    Prob > chi2       =     0.0000
    Log likelihood = -195.21698                     Pseudo R2         =     0.1671
    
    ------------------------------------------------------------------------------
             mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
          weight |  -.0058175   .0006049    -9.62   0.000    -.0070234   -.0046117
           price |  -.0000935   .0001594    -0.59   0.559    -.0004112    .0002242
           _cons |   39.43966   1.588353    24.83   0.000     36.27333    42.60598
    -------------+----------------------------------------------------------------
          /sigma |   3.384238   .2781824                      2.829691    3.938785
    ------------------------------------------------------------------------------
                 0  left-censored observations
                74     uncensored observations
                 0 right-censored observations
    Perhaps I am missing your point.

    BTW, I always want to hear a really good reason for noconstant.

    Comment


    • #3
      Originally posted by Billaus View Post
      Now, my problem is that the coefficients for X3 and X4 are negative from this model! This is really odd since all my dependent and independent variables have 0 as a min and can never take negative values. When I run the same model with OLS in fact the coefficients are positive. But I need to use tobit since I have many observations that are left-censored
      Well, if you believe that the observations are left-censored at zero, then you believe that many, perhaps most, of those zero-valued observations are actually negative, that is participants who indicate zero dollars would have indicated a negative dollar value for the treatment-channel combination if it were possible to do so.

      In that case, you shouldn't be at all surprised by the negative coefficients from tobit inasmuch as it's trying to estimate what those zero-censored truly nonpositive dollar values are. regress is just giving you the means of the values in each of the treatment-channel combinations, which are all nonnegative.

      Given your surprise, are you sure that you want to fit a tobit model?

      .ÿversionÿ14.2

      .ÿ
      .ÿclearÿ*

      .ÿsetÿmoreÿoff

      .ÿsetÿseedÿ1367094

      .ÿ
      .ÿtempnameÿCorr

      .ÿmatrixÿdefineÿ`Corr'ÿ=ÿJ(4,ÿ4,ÿ0.5)ÿ+ÿ0.5ÿ*ÿI(4)

      .ÿquietlyÿdrawnormÿamtA1ÿamtA2ÿamtB1ÿamtB2,ÿsd(50ÿ50ÿ50ÿ50)ÿdoubleÿcorr(`Corr')ÿn(250)

      .ÿgenerateÿintÿpidÿ=ÿ_n

      .ÿquietlyÿreshapeÿlongÿamtAÿamtB,ÿi(pid)ÿj(trt)

      .ÿquietlyÿreshapeÿlongÿamt,ÿi(pidÿtrt)ÿj(channel)ÿstring

      .ÿencodeÿchannel,ÿgenerate(chn)ÿlabel(Channels)

      .ÿ
      .ÿquietlyÿreplaceÿamtÿ=ÿcond(amtÿ<=ÿ0,ÿ0,ÿround(amt,ÿ10))ÿ//ÿCENSORedÿatÿzero

      .ÿ
      .ÿ/*ÿÿÿÿÿÿX1ÿ=ÿ(Treatment1ÿ*ÿChannelA)
      >ÿÿÿÿÿÿÿÿÿX2ÿ=ÿ(Treatment2*ÿChannelB)
      >ÿÿÿÿÿÿÿÿÿX3ÿ=ÿ(Treatment1ÿ*ÿChannelB)
      >ÿÿÿÿÿÿÿÿÿX4ÿ=ÿ(Treatment2*ChannelA)ÿ*/
      .ÿgenerateÿbyteÿX1ÿ=ÿ(trtÿ==ÿ1)ÿ*ÿ(channelÿ==ÿ"A")

      .ÿgenerateÿbyteÿX2ÿ=ÿ(trtÿ==ÿ2)ÿ*ÿ(channelÿ==ÿ"B")

      .ÿgenerateÿbyteÿX3ÿ=ÿ(trtÿ==ÿ1)ÿ*ÿ(channelÿ==ÿ"B")

      .ÿgenerateÿbyteÿX4ÿ=ÿ(trtÿ==ÿ2)ÿ*ÿ(channelÿ==ÿ"A")

      .ÿ
      .ÿtableÿtrtÿchn,ÿcontents(meanÿamtÿminÿamtÿmaxÿamt)

      ------------------------
      ÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿchnÿÿÿÿÿ
      ÿÿÿÿÿÿtrtÿ|ÿÿÿÿÿAÿÿÿÿÿÿB
      ----------+-------------
      ÿÿÿÿÿÿÿÿ1ÿ|ÿ19.64ÿÿ19.76
      ÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿ0ÿÿÿÿÿÿ0
      ÿÿÿÿÿÿÿÿÿÿ|ÿÿÿ120ÿÿÿÿ140
      ÿÿÿÿÿÿÿÿÿÿ|ÿ
      ÿÿÿÿÿÿÿÿ2ÿ|ÿÿ20.2ÿÿ17.72
      ÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿ0ÿÿÿÿÿÿ0
      ÿÿÿÿÿÿÿÿÿÿ|ÿÿÿ130ÿÿÿÿ160
      ------------------------

      .ÿ
      .ÿregressÿamtÿX1ÿX2ÿX3ÿX4,ÿvce(clusterÿpid)ÿnoconstantÿ//ÿcoefficientsÿareÿtheÿarithmeticÿmeans

      LinearÿregressionÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿobsÿÿÿÿÿ=ÿÿÿÿÿÿ1,000
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿF(4,ÿ249)ÿÿÿÿÿÿÿÿÿ=ÿÿÿÿÿÿ59.32
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿProbÿ>ÿFÿÿÿÿÿÿÿÿÿÿ=ÿÿÿÿÿ0.0000
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR-squaredÿÿÿÿÿÿÿÿÿ=ÿÿÿÿÿ0.3174
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRootÿMSEÿÿÿÿÿÿÿÿÿÿ=ÿÿÿÿÿ28.436

      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(Std.ÿErr.ÿadjustedÿforÿ250ÿclustersÿinÿpid)
      ------------------------------------------------------------------------------
      ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRobust
      ÿÿÿÿÿÿÿÿÿamtÿ|ÿÿÿÿÿÿCoef.ÿÿÿStd.ÿErr.ÿÿÿÿÿÿtÿÿÿÿP>|t|ÿÿÿÿÿ[95%ÿConf.ÿInterval]
      -------------+----------------------------------------------------------------
      ÿÿÿÿÿÿÿÿÿÿX1ÿ|ÿÿÿÿÿÿ19.64ÿÿÿ1.761012ÿÿÿÿ11.15ÿÿÿ0.000ÿÿÿÿÿ16.17162ÿÿÿÿ23.10838
      ÿÿÿÿÿÿÿÿÿÿX2ÿ|ÿÿÿÿÿÿ17.72ÿÿÿ1.788848ÿÿÿÿÿ9.91ÿÿÿ0.000ÿÿÿÿÿÿ14.1968ÿÿÿÿÿ21.2432
      ÿÿÿÿÿÿÿÿÿÿX3ÿ|ÿÿÿÿÿÿ19.76ÿÿÿ1.876697ÿÿÿÿ10.53ÿÿÿ0.000ÿÿÿÿÿ16.06378ÿÿÿÿ23.45622
      ÿÿÿÿÿÿÿÿÿÿX4ÿ|ÿÿÿÿÿÿÿ20.2ÿÿÿ1.775692ÿÿÿÿ11.38ÿÿÿ0.000ÿÿÿÿÿ16.70271ÿÿÿÿ23.69729
      ------------------------------------------------------------------------------

      .ÿ
      .ÿtobitÿamtÿX1ÿX2ÿX3ÿX4,ÿll(0)ÿvce(clusterÿpid)ÿnoconstantÿnolog

      TobitÿregressionÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿobsÿÿÿÿÿ=ÿÿÿÿÿÿ1,000
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿF(ÿÿÿ4,ÿÿÿÿ996)ÿÿÿ=ÿÿÿÿÿÿÿ0.81
      Logÿpseudolikelihoodÿ=ÿ-2842.7804ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿProbÿ>ÿFÿÿÿÿÿÿÿÿÿÿ=ÿÿÿÿÿ0.5182

      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(Std.ÿErr.ÿadjustedÿforÿ250ÿclustersÿinÿpid)
      ------------------------------------------------------------------------------
      ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRobust
      ÿÿÿÿÿÿÿÿÿamtÿ|ÿÿÿÿÿÿCoef.ÿÿÿStd.ÿErr.ÿÿÿÿÿÿtÿÿÿÿP>|t|ÿÿÿÿÿ[95%ÿConf.ÿInterval]
      -------------+----------------------------------------------------------------
      ÿÿÿÿÿÿÿÿÿÿX1ÿ|ÿÿ-1.945873ÿÿÿ3.834262ÿÿÿÿ-0.51ÿÿÿ0.612ÿÿÿÿ-9.470032ÿÿÿÿ5.578287
      ÿÿÿÿÿÿÿÿÿÿX2ÿ|ÿÿÿ-6.73907ÿÿÿ3.863834ÿÿÿÿ-1.74ÿÿÿ0.081ÿÿÿÿ-14.32126ÿÿÿÿ.8431183
      ÿÿÿÿÿÿÿÿÿÿX3ÿ|ÿÿ-3.489936ÿÿÿ4.003852ÿÿÿÿ-0.87ÿÿÿ0.384ÿÿÿÿ-11.34689ÿÿÿÿ4.367018
      ÿÿÿÿÿÿÿÿÿÿX4ÿ|ÿÿ-2.510558ÿÿÿ4.020623ÿÿÿÿ-0.62ÿÿÿ0.532ÿÿÿÿ-10.40042ÿÿÿÿ5.379307
      -------------+----------------------------------------------------------------
      ÿÿÿÿÿÿ/sigmaÿ|ÿÿÿ51.94338ÿÿÿ2.271098ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ47.48669ÿÿÿÿ56.40006
      ------------------------------------------------------------------------------
      ÿÿÿÿÿÿÿÿÿÿÿ537ÿÿleft-censoredÿobservationsÿatÿamtÿ<=ÿ0
      ÿÿÿÿÿÿÿÿÿÿÿ463ÿÿÿÿÿuncensoredÿobservations
      ÿÿÿÿÿÿÿÿÿÿÿÿÿ0ÿright-censoredÿobservations

      .ÿ
      .ÿexit

      endÿofÿdo-file


      .

      Comment


      • #4
        Time to remind people of Poisson regression as a general model for non-negative outcomes?

        http://blog.stata.com/2011/08/22/use...tell-a-friend/

        As they say, you can give someone a Poisson, but it is better to teach someone how to Poisson for themselves.

        Comment

        Working...
        X