Announcement

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

  • What do these red xxxxx means during bootstrap?

    trap replications (1,000)
    ----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 50
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 100
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 150
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 200
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 250
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 300
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 350
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 400
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 450
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 500
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 550
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 600
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 650
    xxxxxxxxxxxx
    Dear team,
    I see my program for during bootstrap is showing red xxxx as the bootstrap continues.so I be worried?
    below is my code:
    use data/ONLYpafdta,clear
    * Define a program to calculate PAF
    capture program drop calc_paf
    program define calc_paf, rclass
    ***unser5
    mi estimate:proportion hiv_status if agecat1==1 & !missing(ipd_outtcome)
    local under5prop=round(r(table)[1,2],0.01)
    di "`under5prop'"

    ***calculate relative risk
    *use data/MultipleiMPUTATION_inc,clear
    *replace mi_m=mi_m-1

    *drop mi_m
    *ren mi_m _mj
    *bys _mj:gen _mi=_n
    *gen _mi_miss=1 if _mi_m==0 & missing(hiv_status)
    *replace _mi_miss=0 if missing(_mi_miss) & _mi_m==0

    *mi import ice, clear
    **under5
    mi estimate:nbreg ipd_count hiv_status year if agecat1==1 & missing(ipd_outtcome),exp(midyrpopdx) difficult
    di exp(r(table)[1,1])
    local RR_under5=round(exp(r(table)[1,1]),0.01)
    di "`RR_under5'"

    // Calculate PAF
    local paf =(`under5prop'*(`RR_under5'-1))/(`RR_under5')
    return scalar pafunde5 = `paf'
    end
    **boot strap
    bootstrap r(pafunde5), reps(1000) nodrop: calc_paf

  • #2
    here is what the help file for -bootstrap- says, " An "x" is displayed if command returns an error or if any value in exp_list is missing."

    Comment


    • #3
      Basically, it means that your program is not working. And apparently you want to use bootstrapping with imputed data, which is not straightforward. Also, the program has some problems. Bootstrapping works on the current dataset and resamples from that, yet you open a new dataset in your program. This part can never be affected by the bootstrap. If you want to combine bootstrapping with imputation, I have written a short guide here: https://www.preprints.org/manuscript/202401.0813/v1
      Best wishes

      (Stata 16.1 MP)

      Comment


      • #4
        Hi Felix.So I can not use mi estimate to get the point estimate once if I want to bootstrap imputed dataset? from your second point under impute+Boot

        Comment


        • #5
          Hi Felix Bittmann can I kindly get the dataset you are imputing its missing values so that I can learn.From your paper.If possible you can send me in my email "[email protected]"

          Comment


          • #6
            The paper links to a GitHub repository. The file Ampute.do creates the dataset.

            Comment


            • #7
              ooh thanks daniel let me check

              Comment


              • #8
                Hi Daniel what is this command fre in line 105 not working in my stata 17

                Comment


                • #9
                  it is in line 108 in github script altthough it appears in line105 if i paste in dofile window

                  Comment


                  • #10
                    -fre- is user-written and available from SSC by typing:
                    Code:
                    ssc install fre

                    Comment


                    • #11
                      I have managed to install it.Thanks Daniel

                      Comment


                      • #12
                        Thanks so much Rich

                        Comment


                        • #13
                          Dear Felix and Daniel,
                          hope the below code can work now.Its only taking too long running. Have tried to copy your code for second method IMpute+Bootstrap:
                          ****Trying CI for imputed dataset

                          ****calculating PAF and its CI
                          *use data/ONLYpafdta,clear
                          * Define a program to calculate PAF


                          capture program drop calc_paf
                          program define calc_paf, rclass
                          use data/ONLYpafdta,clear
                          *version 17.0
                          *syntax varlist [,if] [,in]
                          *args ipdc hiv year agecat ipdoutc pop
                          ***unser5
                          bsample, cluster(idcode) idcluster(newid)
                          local j=1
                          forval fred=1/20{
                          while `j'<4{
                          **proportion
                          proportion hiv_status if agecat1==`j' & !missing(ipd_outtcome) & _mi_m ==`fred'
                          local prev_`i'_`j'=round(r(table)[1,2],0.0001)
                          ***negative binomial regression
                          nbreg ipd_count hiv_status year if agecat1==`j' & missing(ipd_outtcome) & _mi_m ==`fred',exp(midyrpopdx) difficult
                          local prevRR_`i'_`j'=round(r(table)[1,1],0.0001)

                          }

                          }
                          local j=`j'+1
                          **proportion
                          local prop_under5=(`prev_1_1'+`prev_2_1'+`prev_3_1'+`pre v_4_1'+`prev_5_1'+`prev_6_1'+`prev_7_1'+`prev_8_1' +`prev_9_1'+`prev_10_1'+`prev_11_1'+`prev_12_1' ///
                          +`prev_13_1'+`prev_14_1'+`prev_15_1'+`prev_16_1'+` prev_17_1'+`prev_18_1'+`prev_19_1'+`prev_20_1')/20
                          ren prop_under5 under5prop

                          local prop_5to14=(`prev_1_2'+`prev_2_2'+`prev_3_2'+`prev _4_2'+`prev_5_2'+`prev_6_2'+`prev_7_2'+`prev_8_2'+ `prev_9_2'+`prev_10_2'+`prev_11_2'+`prev_12_2' ///
                          +`prev_13_2'+`prev_14_2'+`prev_15_2'+`prev_16_2'+` prev_17_2'+`prev_18_2'+`prev_19_2'+`prev_20_2')/20


                          local prop_5Above=(`prev_1_3'+`prev_2_3'+`prev_3_3'+`pre v_4_3'+`prev_5_3'+`prev_6_3'+`prev_7_3'+`prev_8_3' +`prev_9_3'+`prev_10_3'+`prev_11_3'+`prev_12_3' ///
                          +`prev_13_3'+`prev_14_3'+`prev_15_3'+`prev_16_3'+` prev_17_3'+`prev_18_3'+`prev_19_3'+`prev_20_3')/20

                          ***relative risk
                          local prop_under5RR=exp((`prevRR_1_1'+`prevRR_2_1'+`prev RR_3_1'+`prevRR_4_1'+`prevRR_5_1'+`prevRR_6_1'+`pr evRR_7_1'+`prevRR_8_1'+`prevRR_9_1'+`prevRR_10_1'+ `prevRR_11_1'+`prevRR_12_1' ///
                          +`prevRR_13_1'+`prevRR_14_1'+`prevRR_15_1'+`prevRR _16_1'+`prevRR_17_1'+`prevRR_18_1'+`prevRR_19_1'+` prevRR_20_1')/20)
                          ren prop_under5RR RR_under5

                          local prop_5to14RR=exp((`prevRR_1_2'+`prevRR_2_2'+`prevR R_3_2'+`prevRR_4_2'+`prevRR_5_2'+`prevRR_6_2'+`pre vRR_7_2'+`prevRR_8_2'+`prevRR_9_2'+`prevRR_10_2'+` prevRR_11_2'+`prevRR_12_2' ///
                          +`prevRR_13_2'+`prevRR_14_2'+`prevRR_15_2'+`prevRR _16_2'+`prevRR_17_2'+`prevRR_18_2'+`prevRR_19_2'+` prevRR_20_2')/20)


                          local prop_5AboveRR=exp((`prevRR_1_3'+`prevRR_2_3'+`prev RR_3_3'+`prevRR_4_3'+`prevRR_5_3'+`prevRR_6_3'+`pr evRR_7_3'+`prevRR_8_3'+`prevRR_9_3'+`prevRR_10_3'+ `prevRR_11_3'+`prevRR_12_3' ///
                          +`prevRR_13_3'+`prevRR_14_3'+`prevRR_15_3'+`prevRR _16_3'+`prevRR_17_3'+`prevRR_18_3'+`prevRR_19_3'+` prevRR_20_3')/20)



                          // Calculate PAF
                          local paf =(`under5prop'*(`RR_under5'-1))/(`RR_under5')
                          return scalar pafunde5 = `paf'

                          ***5to14
                          local pafx =(`prop_5to14'*(`prop_5to14RR'-1))/(`prop_5to14RR')
                          return scalar pafunde5to14 =`pafx'

                          ***15 and above
                          local pafxx =(`prop_5Above'*(`prop_5AboveRR'-1))/(`prop_5AboveRR')
                          return scalar pafunde15plus=`pafxx'

                          end
                          **boot strap
                          *bootstrap r(pafunde5), reps(1000) nodrop: calc_paf
                          ***Amm just so interested in CI
                          simulate result=r(pafunde5) , reps(1000) seed (123) dots:calc_paf

                          Comment

                          Working...
                          X