R, питон или октава: эмпирический квантиль (обратный cdf) с доверительными интервалами? - PullRequest
2 голосов
/ 09 августа 2010

Я ищу встроенную функцию, которая возвращает квантиль выборки и предполагаемый доверительный интервал в чем-то отличном от MATLAB (MATLAB ecdf делает это).

Полагаю, у R это встроено, но я еще не нашел его.

Если у вас есть какой-либо автономный код для этого, вы также можете указать на это здесь, хотя я надеюсь найти что-то, что включено как часть более широкой базы открытого кода.

-Пытается убежать от MATLAB.

1 Ответ

4 голосов
/ 10 августа 2010

Функция survfit может использоваться для получения функции * с доверительными интервалами.Поскольку это всего лишь 1-ecdf, существует прямая связь между квантилями.Чтобы использовать это, вы должны создать переменную, которая сообщает, что каждое из ваших наблюдений завершено (не подвергнуто цензуре):

library(survival)
x <- rexp(10)
ev <- rep(1, length(x))
sf <- survfit(Surv(x,ev)~1)

С выводом:

>summary(sf)
Call: survfit(formula = Surv(x, ev) ~ 1)

     time n.risk n.event survival std.err lower 95% CI upper 95% CI
-1.4143     10       1      0.9  0.0949       0.7320        1.000
-1.1229      9       1      0.8  0.1265       0.5868        1.000
-0.9396      8       1      0.7  0.1449       0.4665        1.000
-0.4413      7       1      0.6  0.1549       0.3617        0.995
-0.2408      6       1      0.5  0.1581       0.2690        0.929
-0.1698      5       1      0.4  0.1549       0.1872        0.855
 0.0613      4       1      0.3  0.1449       0.1164        0.773
 0.1983      3       1      0.2  0.1265       0.0579        0.691
 0.5199      2       1      0.1  0.0949       0.0156        0.642
 0.8067      1       1      0.0     NaN           NA           NA

Фактически, survfitвычисляет медиану и ее доверительный интервал, но не другие квантили:

>sf
Call: survfit(formula = Surv(x, ev) ~ 1)

records   n.max n.start  events  median 0.95LCL 0.95UCL 
 10.000  10.000  10.000  10.000  -0.205  -0.940      NA 

Фактическая работа по вычислению доверительного интервала хорошо скрыта в функции survival:::survmean, которую вывероятно, можно использовать для обобщения на другие квантили.

...