Announcement

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

  • very huge IRR

    E]
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input int yoa byte(ipd nvt vt) int bcd float midyrpop str3 spn_serotype byte n str12 type byte _merge float(time vaxera vaxera2017 postslope postslope2017 vacc bcdcn)
    1999 24 8 16 3490 33620 "13" 0 "non-vaccine" 3 1 0 0 0 0 0 3466
    2000 47 12 35 3482 34505 "13" 1 "non-vaccine" 3 2 0 0 0 0 0 3435
    2001 46 14 32 3394 35411 "13" 1 "non-vaccine" 3 3 0 0 0 0 0 3348
    2002 28 4 24 2286 36340 "13" 0 "non-vaccine" 3 4 0 0 0 0 0 2258
    2003 47 9 38 2634 39747 "13" 0 "non-vaccine" 3 5 0 0 0 0 0 2587
    2004 36 11 25 2524 41985 "13" 0 "non-vaccine" 3 6 0 0 0 0 0 2488
    2005 31 12 19 2109 42738 "13" 0 "non-vaccine" 3 7 0 0 0 0 0 2078
    2006 23 9 14 2269 43916 "13" 0 "non-vaccine" 3 8 0 0 0 0 0 2246
    2007 34 8 26 1832 44536 "13" 0 "non-vaccine" 3 9 0 0 0 0 0 1798
    2008 19 3 16 1687 44820 "13" 0 "non-vaccine" 3 10 0 0 0 0 0 1668
    2009 20 5 15 1879 46343 "13" 0 "non-vaccine" 3 11 0 0 0 0 0 1859
    2010 46 7 39 1648 47714 "13" 0 "non-vaccine" 3 12 0 0 0 0 0 1602
    2011 16 5 11 1438 46961.64 "13" 0 "non-vaccine" 3 13 . 0 0 0 . 1422
    2012 7 4 3 1017 40730.05 "13" 0 "non-vaccine" 3 14 1 0 1 0 1 1010
    2013 4 4 0 805 43214.2 "13" 0 "non-vaccine" 3 15 1 0 2 0 1 801
    2014 10 9 1 1274 47807 "13" 0 "non-vaccine" 3 16 1 0 3 0 1 1264
    2015 9 7 2 1228 47921 "13" 0 "non-vaccine" 3 17 1 0 4 0 1 1219
    2016 4 3 1 1029 42048.97 "13" 0 "non-vaccine" 3 18 1 0 5 0 1 1025
    2017 2 2 0 365 18128.926 "13" 0 "non-vaccine" 3 19 1 1 6 1 2 363
    2018 6 2 4 1005 46210 "13" 0 "non-vaccine" 3 20 1 1 7 2 2 999
    2019 6 5 1 1122 45972 "13" 2 "non-vaccine" 3 21 1 1 8 3 2 1116
    end
    label values _merge _merge
    label def _merge 3 "matched (3)", modify
    [/CODE]
    ------------------ copy up to and including the previous line ------------------

    Listed 21 out of 21 observations

    Dear team,
    Can someone tell me why I get ver large IRR when I adjust for time in my model? below is my code

    **unadjusted
    nbreg n i.vacc, irr exp(midyrpop)
    **final model(adjusted bcd control)
    nbreg n i.vacc,irr exp(bcdcn) diff

    **segmented
    nbreg n i.vacc time, irr exp(midyrpop)


    I have tried even zero inflated negative binomial but the irr is even worse
    zinb n i.vacc time, irr exp(midyrpop) inflate(nvt) diff

    What can I do to solve this.we discussed with my principal statistician to adjust for time in all serotype specific analysis.Am only having problem with this serotype



  • #2
    Your n's are overwhelmingly zero, and the vacc variable is also overwhelmingly zero. The rest of the data is very sparse. I find that even in the unadjusted model, the IRR for vacc = 1 is almost zero, and the IRR for vacc = 2 is a large number (about 4.5, which seems possible, but is a much stronger effect than most things in real life produce). Your "final" model doesn't converge. And when you add the time trend variable, you get an IRR for vacc = 2 over 1,000, which is pretty ridiculous, I agree. Moreover, its CI goes from about 0.04 to about 30 million.

    I think that the problem is just that you don't have enough information about vacc = 2 in your data to get a reasonable analysis. There's only a total of 3 cases with vacc = 2, split 2:1 between n = 0 and n = 2. When you then try to tease out a time effect, it gets even worse because the three cases occur in times 19, 20, and 21. So that is attempting to split almost no data into even less. There is nothing you can do to truly salvage this other than getting more data. If that isn't possible, I would omit vacc = 2 from the analysis altogether, or combine vacc = 1 with vacc = 2 or combine vacc = 0 with vacc = 2 if either of those makes sense to do from a clinical perspective.

    Comment

    Working...
    X