Announcement

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

  • Risk ratio in multilevel model?

    Hi everyone

    I am working on a multilevel model on cross-sectional data from multiple countries. I have a common outcome (~10%), so I want to estimate risk ratios instead of odds ratios. However, I have only estimated RR in GLMs with longitudinal data, and I can't find any good references on how to specificy my multilevel model correctly.

    In GLM, I've used poisson with the IRR option (interpreted as RR), e.g.
    Code:
    poisson y x1 x2, cluster(id) irr
    My current multilevel specification (with weighting specification as I am using survey data) is:
    Code:
    mepoisson y x1 x2 [pw=dweight] || country:, pweight(pweight) irr
    Input would be highly appreciated.

  • #2
    The -mepoisson- command you show looks appropriate to me, with one possible exception. I notice you are using pweights, so presumably the data are from a complex survey design. If that survey design also involves primary and other order sampling units, or strata, then just including the pweights is not sufficient: that will correct for the bias in the coefficients but will still leave you with (possibly seriously) incorrect standard errors, test statistics, confidence intervals and p-values. So you should do the full -svyset- on your data and then use the -svy:- prefix for your -mepoisson- command.

    Comment


    • #3
      Thanks for your helpful comments!

      I am using data from the European Social Survey (ESS). I've spent quite some time on understanding how to -svyset- data for valid inference. I am still somewhat uncertain about my strategy and comments are very welcome.

      I am using Round 7 and have merged it with the corresponding sampling data file found here. I have the following sample data variables:
      • Primary sampling unit: the primary sampling unit within which the respondent was selected.
      • Domain: Some countries use a different sample design in each of two or more parts of the country.
      • Stratum: All except three of the 21 countries participating in ESS7 used some form of stratified sampling at the first stage of selection.
      • Prob: the unscaled sample selection probability of the respondent (used for dweight).
      In addition to the weighting variables (described in detail here):
      • Design weight (dweight) to correct for varying probability of selection into sample due to sampling design
      • Post-stratification weights (pspweight) to reduce potential sampling error and non-response.
      • Population weight (pweight) to correct for country variation when comparing two or more countries.
      According to ESS weighting guidelines, when comparing data for two or more countries, or combining different group of countries, design or post-stratification weight in combination with population weights should be applied. Guidelines on multilevel is not described in detail (at least to my knowledge.)

      To -svyset- for multilevel, the procedure on this Stata page looks intuitive, i.e. individuals within schools:
      Code:
       svyset school_id, weight(wt_school) || _n, weight(wt_student)
      I am not sure how this translates to the multilevel structure in my data with individuals within countries. I have tried:
      Code:
      . svyset country, weight(pweight) || idno, weight(dweight)
      Note: Stage 1 is sampled with replacement; further stages will be ignored for
            variance estimation.
      
            pweight: <none>
                VCE: linearized
        Single unit: missing
           Strata 1: <one>
               SU 1: country
              FPC 1: <zero>
           Weight 1: pweight
           Strata 2: <one>
               SU 2: idno
              FPC 2: <zero>
           Weight 2: dweight
      I am uncertain about this specification, and when I run a multilevel model with the -svy:- prefix, I find it a bit odd that some estimates are not reported (included variables in model not meant to make sense as I am just testing for potential errors here):
      Code:
      . svy: mepoisson gndr agea || country:, irr
      (running mepoisson on estimation sample)
      
      Survey: Mixed-effects Poisson regression
      
      Number of strata   =         1                  Number of obs     =     30,009
      Number of PSUs     =        20                  Population size   = 27,423.564
                                                      Design df         =         19
                                                      F(   1,     19)   =       1.89
                                                      Prob > F          =     0.1847
      
      ------------------------------------------------------------------------------
                   |             Linearized
              gndr |        IRR   Std. Err.      t    P>|t|     [95% Conf. Interval]
      -------------+----------------------------------------------------------------
              agea |   .9994913   .0003696    -1.38   0.185     .9987181    1.000265
             _cons |   1.555261   .0317478    21.64   0.000     1.490212     1.62315
      -------------+----------------------------------------------------------------
      country      |
         var(_cons)|   .3397213          .                             .           .
      ------------------------------------------------------------------------------
      Note: Estimates are transformed only in the first equation.
      Note: _cons estimates baseline incidence rate (conditional on zero random
            effects).
      (Related post on weighting multilevel models with ESS: https://www.statalist.org/forums/for...ess7-data-file)
      Last edited by Tarjei W. Havneraas; 19 Mar 2020, 06:32.

      Comment


      • #4
        OK, this is beyond my level of expertise in working with survey data. There are others on the Forum who can answer your questions, and I hope one of them will chime in.

        Comment


        • #5
          Alright - thanks for your help on specifying RR and I'll continue my work on svyset! (A crucial detail may be that I am not after anything more complex than a two-stage model with individuals as first level and country as second level.)

          Comment


          • #6
            For the sake of order: I created a new thread on the -svyset- question as it was somewhat beside the original question.

            Comment

            Working...
            X