Announcement

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

  • ROC curves with arbitrary units for cases and controls

    I am trying to determine the optimal cutoff value in arbitrary units (AU) from antibody testing to antigens based on case and control status. (So cases and controls are considered the "true" status). My design matched controls to cases on age.

    When I run the ROC using the following command, I basically get a 45 degree angle (AUC = 0.46), which seems very strange.
    roctab casestatus au_antigen, graph summary


    Was I supposed to somehow take into account the matching that was involved (3 controls per case), and if so, how?

    Also, higher AU would be considered greater protection so you'd think they'd more likely be the controls… so perhaps I need to modify the au_antigen variable first to account for the potential inverse relationship between au_antigen (continuous variable) and casestatus (dichotomous)? Any ideas?

  • #2
    I think you need to show us an excerpt of your data. I'm confused by your explanation. On the one hand you start out saying you are interested in a cutoff value for antibody testing, but then you run roctab using a variable au_antigen which seems to be something rather different.

    And it isn't clear whether all of the participants were tested for antibodies to the same antigen or to different antigens. If the latter, you probably need to do a separate analysis for each antigen as there is little reason to believe, ex ante, that the results would be similar across antigens. So show us an excerpt of your data by -list-ing the relevant variables and a representative sample of observations, and pasting the output from the Results window into a code block. Or, create an example Stata data set and attach it to your next post.

    As for the matching issue, it depends on how you plan to draw conclusions. If the age distribution of cases in the general population is different from the age distribution of controls in the general population, and if age is also associated with the antibody response (or whatever it is) you are measuring, then your ROC curve may not reflect what would be seen in a general population sample and your results would not be generalizable. However, if matching on age did not result in age distributions different from the population (or if age is unassociated with the antibody response--in which case I would wonder why you bothered to match on it), then your ROC curve will be a reasonable reflection of things in the population and the AUC will generalize. What will not be correct in either case, however, are the standard errors and confidence intervals--matched data requires a different calculation that, as far as I know, is not incorporated into any of the official Stata commands that calculate ROC curves. I don't know if there are any user-written programs that will do this.

    Comment


    • #3
      Thanks, I think I just figured it out - my au_antigen variable, which is a measure of antibody response to a certain antigen, needed to be restructured since roctab requires higher values to represent higher risk. And you are right that ROC curves for conditional logistic regression are not built into stats packages as far as I can tell. Thank you for the response.

      Comment

      Working...
      X