R, python или octave: эмпирический квантиль (обратный cdf) с доверительными интервалами?
Я ищу встроенную функцию, которая возвращает квантиль выборки и оценочный доверительный интервал в чем-то другом, чем MATLAB (MATLAB ecdf делает это).
Я предполагаю, что у R есть этот встроенный,и я просто еще не нашел его.
Если у вас есть какой-либо отдельный код для этого, вы также можете указать на него здесь, хотя я надеюсь найти что-то, что входит в большую открытую базу кода.
- попытка уйти от MATLAB.
1 ответ:
Функция
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, которую, вероятно, можно было бы использовать для обобщения на другие квантили.
Comments