Announcement

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

  • Exact Confidence Intervals for the Bland-Altman limits of agreement

    All,

    I am interested in obtaining exact confidence intervals for the Bland-Altman limits of agreement (LOA) based on this pub: https://journals.lww.com/optvissci/F...ls_for.22.aspx. The article has a link to MATLAB code: https://cdn-links.lww.com/permalink/...14261_sdc4.pdf to calculate confidence intervals for LOAs considered as a pair. I have no idea of how to “translate” MATLAB this into Stata code. Hence, I turn to you all.

    I currently use the 'baplot' command, but the exact CI are not an option. I have a reviewer asking me to provide the exact CIs, thus, any help will be appreciated.

    Best,
    David

  • #2
    concord from the Stata Journal supports confidence intervals for the limits of agreement. I worked on this intermittently with Thomas J. Steichen, who has now retired (twice) and gave me licence to take the project forward as I wish. Download code from the latest visible link. Whether this is exactly the same procedure as described in your references I wouldn't know, but I would tend to bootstrap any way.

    Code:
    st0015_6 from http://www.stata-journal.com/software/sj10-4
    
    st0015_5 from http://www.stata-journal.com/software/sj8-4
        
    st0015_4 from http://www.stata-journal.com/software/sj7-3
     
    st0015_3 from http://www.stata-journal.com/software/sj6-2
    
    st0015_2 from http://www.stata-journal.com/software/sj5-3
      
    st0015_1 from http://www.stata-journal.com/software/sj4-4
        
    st0015 from http://www.stata-journal.com/software/sj2-2
     
    sg84_3 from http://www.stata.com/stb/stb58
      
    sg84_2 from http://www.stata.com/stb/stb54
        
    sg84_1 from http://www.stata.com/stb/stb45
      
    sg84 from http://www.stata.com/stb/stb43
    Last edited by Nick Cox; 24 Oct 2020, 17:35.

    Comment


    • #3
      Thanks Nick, will do!

      Comment


      • #4
        All,

        I am using concord to get the LoA for my measurement data (roughly I compare two ultrasound measured cross-sectional areas).
        I wish to report the confidence intervals of the mean difference as well as the CI of the upper LoA and the lower LoA. From what I see concord only gives me the CI of the mean difference , is that correct, or do I miss something here?


        concord var1 var2, ///
        > loa ///
        > ytitle("difference") ///
        > xtitle("mean") ///
        > summary level(95)

        . return list

        scalars:
        r(Fdm) = 3.728351857659846
        r(rdm) = -.3233416614591457
        r(LOA_ul) = 1.401171207427979
        r(LOA_ll) = -1.887117028236389
        r(sd_diff) = .8388644665743965
        r(diff) = -.2429729402065277
        r(C_b) = .9884807247008168
        r(z_tr_ul) = .9638329437371325
        r(z_tr_ll) = .8789314027867677
        r(asym_ul) = .9737155168813303
        r(asym_ll) = .8930808990429646
        r(se_rho_c) = .0205704335575555
        r(rho_c) = .9333982079621475
        r(N) = 37


        The help file calls r(LOA_ul) and r(LOA_ll) confidence intervals, but aren't those just the upper and lower LoA?

        Saved results

        The following results are returned in r(), if the by() option was not used:

        r(N) number of observations compared
        r(rho_c) concordance correlation coefficient rho_c
        r(se_rho_c) standard error of rho_c
        r(asym_ll) lower CI limit (asymptotic)
        r(asym_ul) upper CI limit (asymptotic)
        r(z_tr_ll) lower CI limit (z-transform)
        r(z_tr_ul) upper CI limit (z-transform)
        r(C_b) bias-correction factor C_b
        r(diff) mean difference
        r(sd_diff) standard deviation of mean difference
        r(LOA_ll) lower LOA CI limit
        r(LOA_ul) upper LOA CI limit
        r(rdm) correlation between difference and mean
        r(Fdm) F from Bradley-Blackwood test


        Thank you!
        Cerstin
        Last edited by Cerstin Jestel; 22 Sep 2021, 17:05.

        Comment


        • #5
          I don't know whether your terminology differs, but ours -- in what we thought and what we wrote -- was that a confidence interval extends from its lower limit to its upper limit. Otherwise I don't follow what is puzzling you.

          Areas tend to be skew in distribution with occasional outliers. so I would watch out.

          Comment


          • #6
            Nick,

            Cerstin Jestel may be referring to estimated limits of precision for the upper and lower limits themselves, as described by Bland and Altman in their 1999 Stat Meth Med Res paper (https://doi.org/10.1177/096228029900800204). A few years back I did some work on my own Bland-Altman program which incorporated this work, but I never got as far as releasing it. But, assuming that -concord- outputs all the necessary values, I guess the limits of precision could be calculated manually.

            Comment


            • #7
              David Fisher Thanks; I suspect you're on the right track there. I don't recall if Thomas and I ever discussed that and if we did we must have concluded it was a step too far.

              Again, if that is of substantive concern, I would bootstrap.

              Comment


              • #8
                @DavidFisher @NickCox Thank you both!
                Yes, I was referring to the limits of precision for the upper and lower LoA and the bias. It is often suggested as a reporting standard for BA plots and asked for by journal reviewers.
                This is what I had in mind:
                Click image for larger version

Name:	BA.png
Views:	1
Size:	181.3 KB
ID:	1628822



                (from doi: 10.3390/diagnostics10050334)

                I will try to calculate manually then.

                Thank you again,

                Cerstin
                Last edited by Cerstin Jestel; 23 Sep 2021, 12:25.

                Comment

                Working...
                X