Announcement

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

  • nbreg vs two-part model

    ello, I am trying to model four variables: Cshame_tot, Cshame_totchrt, Cshame_totbhv, and Cshame_totbody. These variables were constructed by summing batteries of survey questions and measure the following phenomena: Cshame_tot represents total experiences of shame (the sum of the three subscale variables), Cshame_totchrt represents characterological shame, Cshame_totbhv represents behavioral shame, and Cshame_totbody represents bodily shame.

    The summary statistics for all four variables are shown below. The variables are right-skewed, and as shown beneath the summary table, I also created four dummy variables where 0 denotes participants who reported zero across the entire battery of questions and 1 denotes any non-zero response.

    I am deciding between using a zero-inflated negative binomial model or a two-part model, where the first equation is a logit and the second is a gamma model. However, I am unsure which model is more appropriate. I attempted to use the Park test, but the health econometrics textbook only describes how to choose among Gaussian, Poisson, Gamma, or inverse Gaussian models. Since the negative binomial model is a dispersion-adjusted Poisson, can I use the same cutoff used for Poisson to justify a negative binomial specification?

    Additionally, because my data come from a survey, they include sampling weights. I conducted the Park test as shown below—does this appropriately account for the survey design and weights? Any guidance would be greatly appreciated.


    Code:
     Variable |        Obs        Mean    Std. dev.       Min        Max
    -------------+---------------------------------------------------------
      Cshame_tot |      1,218    11.86289    13.40673          0         75
    Cshame_tot~t |      1,218     4.83908    6.627825          0         36
    Cshame_tot~v |      1,218    4.820197    5.300317          0         27
    Cshame_tot~y |      1,218    2.203612    2.910258          0         12
    
    -> tabulation of Cshame_tot_zero  
    
    Cshame_tot_ |
           zero |      Freq.     Percent        Cum.
    ------------+-----------------------------------
              0 |        194       15.93       15.93
              1 |      1,024       84.07      100.00
    ------------+-----------------------------------
          Total |      1,218      100.00
    
    -> tabulation of Cshame_totchrt_zero  
    
    Cshame_totc |
       hrt_zero |      Freq.     Percent        Cum.
    ------------+-----------------------------------
              0 |        411       33.74       33.74
              1 |        807       66.26      100.00
    ------------+-----------------------------------
          Total |      1,218      100.00
    
    -> tabulation of Cshame_totbhv_zero  
    
    Cshame_totb |
        hv_zero |      Freq.     Percent        Cum.
    ------------+-----------------------------------
              0 |        287       23.56       23.56
              1 |        931       76.44      100.00
    ------------+-----------------------------------
          Total |      1,218      100.00
    
    -> tabulation of Cshame_totbody_zero  
    
    Cshame_totb |
       ody_zero |      Freq.     Percent        Cum.
    ------------+-----------------------------------
              0 |        526       43.19       43.19
              1 |        692       56.81      100.00
    ------------+-----------------------------------
          Total |      1,218      100.00

    Code:
    
        ****Park test 
         local contrls i.gad_2 i.phq_2 i.lifetimeptsdcriteria_positive ///
            i.pastyeardud c.SF8MCS c.SF8PCS c.ppage i.race i.biosex ///
            i.education i.income i.maritalstatus i.employment ///
            i.anylifetimemhsa_treatment i.any_arrested
        
         glm Cshame_tot `contrls' [pw=weights] if  Cshame_tot > 0 , family(gamma) link(log) 
        
        ****generate ln(raw residuals squared) and xbetahat for Park test 
        
        predict double rawresid, response 
        
        generate lnrawresid2 = ln(rawresid^2) 
        
        predict double xbetahat, xb  
        
        regress lnrawresid2 xbetahat

  • #2
    Dear Luis Mijares Castaneda,

    Are the sub-scale variables reported as counts or on a Likert scale?

    Best wishes,

    Joao

    Comment


    • #3
      Joao Santos Silva The sub-scale variables are reported on a Likert scale,0: not at all, 1: a little, 2: moderately, 3: very much, the sub-scale variables are them summed
      Last edited by Luis Mijares Castaneda; 03 May 2026, 13:44.

      Comment


      • #4
        Joao Santos Silva
        I wrote my own Park test based on the commands provided in the health econometrics textbook. Based on the resulting coefficients, it seemed that a Poisson/count model might be appropriate. However, because there was evidence of overdispersion, I decided to use a negative binomial model.

        I also estimated a two-part model and a zero-inflated negative binomial model. I expected these models to produce somewhat similar coefficients, but the results were quite different. Which model would you recommend in this situation?

        I listed the resulting model outputs in a third post to avoid including too much information in one post.

        Code:
        
            ****Park test 
            
            local outcomes Cshame_tot Cshame_totchrt Cshame_totbhv Cshame_totbody
            
            foreach outcome of local outcomes { 
                
                 local contrls i.gad_2 i.phq_2 i.lifetimeptsdcriteria_positive ///
                i.pastyeardud c.SF8MCS c.SF8PCS c.ppage i.race i.biosex ///
                i.education i.income i.maritalstatus i.employment ///
                i.anylifetimemhsa_treatment i.any_arrested
            
             glm `outcome' `contrls'  if `outcome' > 0 , family(gamma) link(log) 
            
            ****generate ln(raw residuals squared) and xbetahat for Park test 
            
            predict double rawresid, response 
            
            generate lnrawresid2 = ln(rawresid^2) 
            
            predict double xbetahat, xb  
            
            display "Park test of `outcome'"
            regress lnrawresid2 xbetahat   
                
            drop rawresid lnrawresid2 xbetahat
            
        
                
            }

        Code:
        Park test of Cshame_tot
        
              Source |       SS           df       MS      Number of obs   =     1,218
        -------------+----------------------------------   F(1, 1216)      =    184.15
               Model |  719.473246         1  719.473246   Prob > F        =    0.0000
            Residual |  4750.97187     1,216  3.90704924   R-squared       =    0.1315
        -------------+----------------------------------   Adj R-squared   =    0.1308
               Total |  5470.44512     1,217  4.49502475   Root MSE        =    1.9766
        
        ------------------------------------------------------------------------------
         lnrawresid2 | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
            xbetahat |   1.501835   .1106724    13.57   0.000     1.284705    1.718966
               _cons |  -.3175285   .2799195    -1.13   0.257    -.8667073    .2316503
        ------------------------------------------------------------------------------
        
        
        Park test of Cshame_totchrt
        
              Source |       SS           df       MS      Number of obs   =     1,218
        -------------+----------------------------------   F(1, 1216)      =    113.90
               Model |  389.420035         1  389.420035   Prob > F        =    0.0000
            Residual |  4157.36413     1,216  3.41888497   R-squared       =    0.0856
        -------------+----------------------------------   Adj R-squared   =    0.0849
               Total |  4546.78416     1,217  3.73605929   Root MSE        =     1.849
        
        ------------------------------------------------------------------------------
         lnrawresid2 | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
            xbetahat |   1.210245   .1133982    10.67   0.000     .9877668    1.432723
               _cons |    .177265   .2077826     0.85   0.394    -.2303872    .5849171
        ------------------------------------------------------------------------------
         
        Park test of Cshame_totbhv
        
              Source |       SS           df       MS      Number of obs   =     1,218
        -------------+----------------------------------   F(1, 1216)      =     75.17
               Model |  370.296844         1  370.296844   Prob > F        =    0.0000
            Residual |  5989.80276     1,216  4.92582464   R-squared       =    0.0582
        -------------+----------------------------------   Adj R-squared   =    0.0574
               Total |   6360.0996     1,217  5.22604733   Root MSE        =    2.2194
        
        ------------------------------------------------------------------------------
         lnrawresid2 | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
            xbetahat |   1.492802   .1721736     8.67   0.000     1.155011    1.830592
               _cons |   -.740274   .3058721    -2.42   0.016     -1.34037   -.1401784
        ------------------------------------------------------------------------------
        
        
        Park test of Cshame_totbody
        
              Source |       SS           df       MS      Number of obs   =     1,218
        -------------+----------------------------------   F(1, 1216)      =     48.30
               Model |  201.719228         1  201.719228   Prob > F        =    0.0000
            Residual |  5078.61385     1,216  4.17649166   R-squared       =    0.0382
        -------------+----------------------------------   Adj R-squared   =    0.0374
               Total |  5280.33308     1,217  4.33881108   Root MSE        =    2.0436
        
        ------------------------------------------------------------------------------
         lnrawresid2 | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
            xbetahat |   1.063102   .1529704     6.95   0.000     .7629873    1.363218
               _cons |  -.2280049   .1885402    -1.21   0.227     -.597905    .1418953
        ------------------------------------------------------------------------------


        Code:
        local outcomes Cshame_tot Cshame_totchrt Cshame_totbhv Cshame_totbody
          
            
          foreach outcome of local outcomes { 
              
            local contrls  i.gad_2 i.phq_2 i.lifetimeptsdcriteria_positive ///
                        i.pastyeardud c.SF8MCS c.SF8PCS c.ppage i.race i.biosex  ///
                        i.education i.income i.maritalstatus i.employment ///
                      i.anylifetimemhsa_treatment i.any_arrested
            
          svy: twopm `outcome' `contrls', firstpart(logit) secondpart(glm, family(nbinomial) ///
                                                link(log)) suset
                
            outreg2 using ".\NV-Hope_Shame_Dataanalysis\estimation_models\twopm_model`outcome'.xls", replace ///
                symbol(***, **, *) ci alpha(0.001, 0.01, 0.05) side label 
            
            ****margins 
            margins, dydx(*) post 
         
            outreg2 using ".\NV-Hope_Shame_Dataanalysis\estimation_models\twopm_model`outcome'_margins.xls", replace ///
                symbol(***, **, *) ci alpha(0.001, 0.01, 0.05) side label
        
            
          }
         
        
            
            ****ZINB regression 
            
            local outcomes Cshame_tot Cshame_totchrt Cshame_totbhv Cshame_totbody
              
          foreach outcome of local outcomes { 
              
            local contrls  i.gad_2 i.phq_2 i.lifetimeptsdcriteria_positive ///
                        i.pastyeardud c.SF8MCS c.SF8PCS c.ppage i.race i.biosex  ///
                        i.education i.income i.maritalstatus i.employment ///
                      i.anylifetimemhsa_treatment i.any_arrested
            
         svy: zinb  `outcome' `contrls', inflate(`contrls') irr
            
            
            outreg2 using ".\NV-Hope_Shame_Dataanalysis\estimation_models\zinb_model`outcome'.xls", replace ///
                symbol(***, **, *) ci alpha(0.001, 0.01, 0.05) side label 
            
            ****margins 
            margins, dydx(*) post 
         
            outreg2 using ".\NV-Hope_Shame_Dataanalysis\estimation_models\zinb_model`outcome'_margins.xls", replace ///
                symbol(***, **, *) ci alpha(0.001, 0.01, 0.05) side label
            
          }

        Comment


        • #5
          Joao Santos Silva


          This is the output from a twopm model and a zinb model with the outcome variable Cshame_tot



          Code:
          
              local contrls i.gad_2 i.phq_2 i.lifetimeptsdcriteria_positive ///
              i.pastyeardud c.SF8MCS c.SF8PCS c.ppage i.race i.biosex ///
              i.education i.income i.maritalstatus i.employment ///
              i.anylifetimemhsa_treatment i.any_arrested
              
               glm Cshame_tot `contrls'  if `outcome' > 0 , family(gamma) link(log) 
          
          
          local contrls  i.gad_2 i.phq_2 i.lifetimeptsdcriteria_positive ///
                          i.pastyeardud c.SF8MCS c.SF8PCS c.ppage i.race i.biosex  ///
                          i.education i.income i.maritalstatus i.employment ///
                        i.anylifetimemhsa_treatment i.any_arrested
              
           svy: zinb Cshame_tot `contrls', inflate(`contrls')
          Code:
          (running twopm on estimation sample)
          
          Survey data analysis
          
          Number of strata =     1                          Number of obs   =      1,218
          Number of PSUs   = 1,218                          Population size = 1,177.8932
                                                            Design df       =      1,217
                                                            F(23, 1195)     =       2.17
                                                            Prob > F        =     0.0012
          
          -------------------------------------------------------------------------------
                        |             Linearized
             Cshame_tot | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
          --------------+----------------------------------------------------------------
          logit         |
                  gad_2 |
            1.Positive  |   .2126348   .5033947     0.42   0.673    -.7749829    1.200252
                        |
                  phq_2 |
            1.Positive  |   .7496001   .6136579     1.22   0.222    -.4543446    1.953545
                        |
          lifetimepts~e |
            1.Positive  |   2.118418   .8828171     2.40   0.017     .3864061     3.85043
                        |
            pastyeardud |
            1.Positive  |    1.72932   1.079927     1.60   0.110    -.3894052    3.848046
                 SF8MCS |  -.0314878    .022303    -1.41   0.158    -.0752444    .0122688
                 SF8PCS |  -.0232783   .0118091    -1.97   0.049    -.0464467     -.00011
                  ppage |   .0081461   .0101902     0.80   0.424    -.0118462    .0281384
                        |
                   race |
          1.Non-Hisp..  |  -.3161532   .3233981    -0.98   0.328    -.9506329    .3183265
            2.Hispanic  |   -.226188   .3794514    -0.60   0.551    -.9706394    .5182634
               3.Other  |   .0139398   .4642833     0.03   0.976    -.8969446    .9248243
                        |
               1.biosex |  -.2941081   .3174625    -0.93   0.354    -.9169426    .3287265
                        |
              education |
          2.Some Col..  |  -.0664273   .2274756    -0.29   0.770     -.512715    .3798605
          3.Bachelor..  |   .7174817   .2944566     2.44   0.015     .1397829     1.29518
                        |
                 income |
          15,000-$~999  |  -.1283256   .4373421    -0.29   0.769    -.9863537    .7297024
          $30,000-~999  |  -.0229436   .4127188    -0.06   0.956    -.8326629    .7867758
           >= $60,0000  |   .0067915   .4470784     0.02   0.988    -.8703384    .8839214
                        |
          maritalstatus |
             2.Widowed  |  -.1475939   .4545347    -0.32   0.745    -1.039352    .7441647
          3.Divorced~d  |   -.189789   .3998212    -0.47   0.635    -.9742042    .5946262
          4.Currentl..  |  -.0020017   .3565184    -0.01   0.996    -.7014606    .6974572
                        |
             employment |
          Working pa..  |   .7113443   .4207598     1.69   0.091    -.1141508    1.536839
           Not working  |   .4798568   .3328141     1.44   0.150    -.1730961     1.13281
                        |
          anylifetime~t |
                 1.Yes  |   .5853835   .4460255     1.31   0.190    -.2896807    1.460448
                        |
           any_arrested |
                 1.Yes  |   .3740889    .229544     1.63   0.103     -.076257    .8244348
                  _cons |   3.383547   1.442933     2.34   0.019     .5526342     6.21446
          --------------+----------------------------------------------------------------
          glm           |
                  gad_2 |
            1.Positive  |   .0981313   .1068603     0.92   0.359    -.1115196    .3077822
                        |
                  phq_2 |
            1.Positive  |   .0203502    .104117     0.20   0.845    -.1839185    .2246189
                        |
          lifetimepts~e |
            1.Positive  |   .2768998   .1026915     2.70   0.007     .0754277    .4783718
                        |
            pastyeardud |
            1.Positive  |   .1704248   .1320278     1.29   0.197    -.0886025    .4294521
                 SF8MCS |  -.0250096    .006021    -4.15   0.000    -.0368222   -.0131969
                 SF8PCS |  -.0121221   .0029455    -4.12   0.000    -.0179008   -.0063433
                  ppage |  -.0145755   .0027508    -5.30   0.000    -.0199724   -.0091786
                        |
                   race |
          1.Non-Hisp..  |  -.0935921   .1103355    -0.85   0.396    -.3100611    .1228768
            2.Hispanic  |  -.0532863   .1100839    -0.48   0.628    -.2692617     .162689
               3.Other  |   .0875566   .1412357     0.62   0.535    -.1895358    .3646491
                        |
               1.biosex |  -.1661049   .0906945    -1.83   0.067    -.3440399    .0118301
                        |
              education |
          2.Some Col..  |    .100259   .0695162     1.44   0.149    -.0361258    .2366438
          3.Bachelor..  |   .2511571   .0825265     3.04   0.002     .0892471    .4130672
                        |
                 income |
          15,000-$~999  |   .1885172   .1324826     1.42   0.155    -.0714024    .4484368
          $30,000-~999  |   .1407443   .1193235     1.18   0.238    -.0933582    .3748468
           >= $60,0000  |   .0279993   .1350562     0.21   0.836    -.2369695    .2929682
                        |
          maritalstatus |
             2.Widowed  |  -.0002409   .1215506    -0.00   0.998    -.2387128     .238231
          3.Divorced~d  |  -.0497445   .1158081    -0.43   0.668    -.2769502    .1774612
          4.Currentl..  |  -.0250206   .0907889    -0.28   0.783    -.2031408    .1530995
                        |
             employment |
          Working pa..  |   .1295048   .1066184     1.21   0.225    -.0796714    .3386811
           Not working  |   .0356685   .0961227     0.37   0.711    -.1529161    .2242531
                        |
          anylifetime~t |
                 1.Yes  |   .0953498   .0867814     1.10   0.272    -.0749079    .2656075
                        |
           any_arrested |
                 1.Yes  |   .0574993   .0653909     0.88   0.379    -.0707922    .1857907
                  _cons |   5.169869   .3618181    14.29   0.000     4.460012    5.879725
          -------------------------------------------------------------------------------
          
          (running zinb on estimation sample)
          
          Survey: Zero-inflated negative binomial regression
          
          Number of strata =     1                          Number of obs   =      1,218
          Number of PSUs   = 1,218                          Population size = 1,177.8932
                                                            Design df       =      1,217
                                                            F(23, 1195)     =      17.30
                                                            Prob > F        =     0.0000
          
          -------------------------------------------------------------------------------
                        |             Linearized
             Cshame_tot | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
          --------------+----------------------------------------------------------------
          Cshame_tot    |
                  gad_2 |
            1.Positive  |   .0912762   .1153992     0.79   0.429    -.1351273    .3176797
                        |
                  phq_2 |
            1.Positive  |   .0130415    .110505     0.12   0.906    -.2037599    .2298429
                        |
          lifetimepts~e |
            1.Positive  |   .2735086   .1084392     2.52   0.012       .06076    .4862572
                        |
            pastyeardud |
            1.Positive  |   .1666685   .1343902     1.24   0.215    -.0969937    .4303308
                 SF8MCS |  -.0264123    .007025    -3.76   0.000    -.0401949   -.0126298
                 SF8PCS |  -.0126906   .0031413    -4.04   0.000    -.0188535   -.0065277
                  ppage |  -.0154846   .0028859    -5.37   0.000    -.0211465   -.0098227
                        |
                   race |
          1.Non-Hisp..  |    -.09409   .1164176    -0.81   0.419    -.3224915    .1343116
            2.Hispanic  |  -.0529049   .1202424    -0.44   0.660    -.2888104    .1830005
               3.Other  |   .0863129   .1520734     0.57   0.570    -.2120423     .384668
                        |
               1.biosex |  -.1639009   .0970906    -1.69   0.092    -.3543843    .0265826
                        |
              education |
          2.Some Col..  |    .109644   .0745698     1.47   0.142    -.0366556    .2559437
          3.Bachelor..  |   .2668608   .0879484     3.03   0.002     .0943136     .439408
                        |
                 income |
          15,000-$~999  |   .2097869   .1409164     1.49   0.137    -.0666791    .4862529
          $30,000-~999  |    .144669   .1289832     1.12   0.262     -.108385    .3977231
           >= $60,0000  |   .0373517   .1458264     0.26   0.798    -.2487473    .3234506
                        |
          maritalstatus |
             2.Widowed  |     .00161   .1308952     0.01   0.990    -.2551953    .2584153
          3.Divorced~d  |  -.0517658   .1217494    -0.43   0.671    -.2906277    .1870962
          4.Currentl..  |  -.0245409   .0957667    -0.26   0.798    -.2124271    .1633453
                        |
             employment |
          Working pa..  |   .1294389   .1110681     1.17   0.244    -.0884673     .347345
           Not working  |    .030985   .1006806     0.31   0.758    -.1665417    .2285118
                        |
          anylifetime~t |
                 1.Yes  |   .0975502   .0922164     1.06   0.290    -.0833705     .278471
                        |
           any_arrested |
                 1.Yes  |   .0639259   .0697434     0.92   0.360    -.0729048    .2007566
                  _cons |   5.276011   .4010694    13.15   0.000     4.489147    6.062875
          --------------+----------------------------------------------------------------
          inflate       |
                  gad_2 |
            1.Positive  |  -.3299383   .7380307    -0.45   0.655    -1.777892    1.118015
                        |
                  phq_2 |
            1.Positive  |  -1.016183   .9122895    -1.11   0.266    -2.806018    .7736516
                        |
          lifetimepts~e |
            1.Positive  |  -6.976692   304.3287    -0.02   0.982    -604.0437    590.0904
                        |
            pastyeardud |
            1.Positive  |  -11.48704    13.6228    -0.84   0.399    -38.21383    15.23974
                 SF8MCS |   .0273627   .0394011     0.69   0.488    -.0499389    .1046644
                 SF8PCS |   .0243989   .0190672     1.28   0.201    -.0130093     .061807
                  ppage |  -.0178473   .0141766    -1.26   0.208    -.0456605    .0099659
                        |
                   race |
          1.Non-Hisp..  |   .3484234   .4138203     0.84   0.400    -.4634569    1.160304
            2.Hispanic  |   .2629782   .6068074     0.43   0.665    -.9275265    1.453483
               3.Other  |  -.0677149   .6631858    -0.10   0.919    -1.368829    1.233399
                        |
               1.biosex |   .3628422   .4232699     0.86   0.391    -.4675774    1.193262
                        |
              education |
          2.Some Col..  |   .1534658   .3186386     0.48   0.630    -.4716761    .7786077
          3.Bachelor..  |  -.7827404   .4524221    -1.73   0.084    -1.670354    .1048733
                        |
                 income |
          15,000-$~999  |    .311778   .5937257     0.53   0.600    -.8530615    1.476617
          $30,000-~999  |   .0574597   .5700269     0.10   0.920    -1.060885    1.175804
           >= $60,0000  |   .0592341   .6142878     0.10   0.923    -1.145946    1.264415
                        |
          maritalstatus |
             2.Widowed  |   .1887275   .6095915     0.31   0.757    -1.007239    1.384694
          3.Divorced~d  |   .2284074   .5195945     0.44   0.660     -.790993    1.247808
          4.Currentl..  |   .0036254   .4540877     0.01   0.994    -.8872561    .8945069
                        |
             employment |
          Working pa..  |  -.7811088   .5318773    -1.47   0.142    -1.824607    .2623894
           Not working  |  -.5250562   .4202884    -1.25   0.212    -1.349626    .2995139
                        |
          anylifetime~t |
                 1.Yes  |  -.6752136   .6566237    -1.03   0.304    -1.963454    .6130264
                        |
           any_arrested |
                 1.Yes  |   -.402702   .3005801    -1.34   0.181    -.9924146    .1870106
                  _cons |  -2.927604   2.295239    -1.28   0.202    -7.430668     1.57546
          --------------+----------------------------------------------------------------
               /lnalpha |  -.5605723   .0833146    -6.73   0.000    -.7240285   -.3971161
          --------------+----------------------------------------------------------------
                  alpha |   .5708822   .0475628                      .4847953     .672256
          -------------------------------------------------------------------------------

          Comment


          • #6
            Dear Luis Mijares Castaneda,

            Thank you for getting back to me on this. If the sub-scale variables are reported on a Likert scale, then your data only contains qualitative information (2 is not not mean two time 1, it just means that it is more than 1) and summing the sub-scale data does not give you count data. Therefore, I do not think any of these models you are using is suitable and I am not even sure it makes sense to add up the sub-scale data. I would perhaps start by modelling whether Cshame_tot is zero or positive because zero means no experience of shame and positive means experience of some form of shame.

            Anyway, as we explain here, the Park test in not generally valid, so I would not recommend its use. Also, unless one wants to use the model to compute the probability of some events, overdispersion is of little consequence, so Poisson regression is a very good starting point because it is very robust. Finally, zero-inflated models are only suitable when there is a sub-population for which the dependent variable is zero by definition (for example, when studying number of children adults have, some will necessarily have zero due to fertility problems), otherwise I would not recommend that type of model.

            Best wishes,

            Joao

            Comment


            • #7
              Joao Santos Silva Hello, thank you for your response, yes 0- means no experience of shame and >0 means some experience of shame. Given what you have said, would you recommend a two-part model with logit in the first equation and then a Poisson model for the second equation? I think of using a two-part model in case there is a theoretical reason why some people experience 0 shame, but some people experience a non-zero amount of shame. One thing is I have a set of 25 questions from a survey relating to different aspects of shame. I think it would make more sense to sum these 25 questions into their respective subscales.
              Last edited by Luis Mijares Castaneda; 04 May 2026, 08:43.

              Comment


              • #8
                Dear Luis Mijares Castaneda,

                I do not think that the second part would make much sense because you would be treating qualitative data as quantitative. See for example here, especially the table below the video.

                Best wishes,

                Joao

                Comment


                • #9
                  Joao Santos Silva Is there any model you would recommend for me to use, given the description I have given?

                  Comment


                  • #10
                    Dear Luis Mijares Castaneda,

                    In my view, you can only use models for qualitative data; these include binary choice models and models for ordered data that require strong distributional assumptions. I would probably just do a binary model for the zero vs positive in total and/or in each sub-scale. If you are particularly interested in one of the sub-scales you can also do binary models at different cut-off points of that sub-scale.

                    Best wishes,

                    Joao

                    Comment

                    Working...
                    X