[R] upperbound of C index Conf.int. greater than 1
Frank E Harrell Jr
f.harrell at vanderbilt.edu
Tue May 13 22:12:02 CEST 2008
DAVID ARTETA GARCIA wrote:
> R-users,
>
> I am bootstrapping the C Index of a model created using lrm{Design} and
> boot{boot}, and I get that the upperbound of the confidence interval is
> greater than 1. Here is my code:
>
>> library(HSAUR)
>> data(plasma)
>
> ##fit model
>> fit.design <- lrm (ESR ~ fibrinogen + globulin,data=plasma)
>> fit.design$stats[6]
> C
> 0.8044872
>
>
> ##bootstrap C Index
>
>> cindex <- function(formula,data,indices){
> + d=data[indices,]
> + fit<-lrm(formula,data = d)
> + return(fit$stats[[6]])
> + }
>
>> results <- boot(data=w,statistic=cindex,R=500,formula = ESR ~
>> fibrinogen + globulin)
>> results
>
> ORDINARY NONPARAMETRIC BOOTSTRAP
>
>
> Call:
> boot(data = plasma, statistic = cindex, R = 500, formula = ESR ~
> fibrinogen +
> globulin)
>
>
> Bootstrap Statistics :
> original bias std. error
> t1* 0.8044872 0.008834767 0.1574710
>> boot.ci(results,type="basic")
> BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
> Based on 500 bootstrap replicates
>
> CALL :
> boot.ci(boot.out = results, type = "basic")
>
> Intervals :
> Level Basic
> 95% ( 0.6090, 1.1443 )
> Calculations and Intervals on Original Scale
>
>
> I see that the std.error is rather large and this might be the problem,
> but how can I explain this for publication purposes? Is such an interval
> acceptable?
> Any help would be greatly appreciated
>
> David
A few observations.
1. With minimal overfitting, rcorr.cens(predict(fit), Y) gives a good
standard error for Dxy = 2*(C-.5) and bootstrapping isn't very necessary
2. If you bootstrap use the nonparametric bootstrap percentile method or
other methods that constrain the confidence interval to be in [0,1].
3. I don't know why the model would be linear on the two predictors you
are using.
Frank
--
Frank E Harrell Jr Professor and Chair School of Medicine
Department of Biostatistics Vanderbilt University
More information about the R-help
mailing list