Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

> сравнение двух групп, как сравнить группы по персентилям
Ant
сообщение 2.03.2012 - 14:28
Сообщение #1





Группа: Пользователи
Сообщений: 6
Регистрация: 2.03.2012
Пользователь №: 23531



Доброго Вам времени суток!

Помогите, пожалуйста, решить животрепещущий вопрос!!!

Задача заключается в следующем: есть группа пациентов (n=500), у которых изучается ряд лабораторных показателей (концентрации веществ в крови, показатели не связаны между собой), эту группу нужно сравнить с контрольной (n=1209) но в контрольной группе известны лишь 95-е персентили (по сути верхняя граница нормы каждого лабораторного показателя) - исходных данных по контрольной группе нет, эти персентильные значения рекомендованы производителем реактивов. Если Вы знаете, как можно сравнить группы по значениям персентилей (или с использованием каких-либо других статистических параметров, которые можно вычислить у первой выборки), буду безмерно благодарна!!!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
p2004r
сообщение 2.03.2012 - 16:41
Сообщение #2





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(Ant @ 2.03.2012 - 14:28) *
Доброго Вам времени суток!

Помогите, пожалуйста, решить животрепещущий вопрос!!!

Построить бутстреп оценку для Ваших перцентилей и сравнить с перцентилями производителя.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Ant
сообщение 2.03.2012 - 23:03
Сообщение #3





Группа: Пользователи
Сообщений: 6
Регистрация: 2.03.2012
Пользователь №: 23531



Цитата(p2004r @ 2.03.2012 - 16:41) *
Построить бутстреп оценку для Ваших перцентилей и сравнить с перцентилями производителя.

Спасибо Вам за ответ!
А собственно как сделать такую оценку? и по какому критерию сравнивать в перцентилями производителя?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 3.03.2012 - 00:48
Сообщение #4





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(Ant @ 2.03.2012 - 23:03) *
Спасибо Вам за ответ!
А собственно как сделать такую оценку? и по какому критерию сравнивать в перцентилями производителя?


Вы просто делаете (например) 100000 перевыборок с возвращением из имеющейся выборки по конкретному показателю. Для каждой перевыборки рассчитываете нужный для сравнения перцентиль.

Затем сортируете полученный массив 100000 значений перцентиля, находите какое значение в этой отсортированной последовательности соответствует 2,5% (это по 2500 значений с края надо отсчитать).

Это будет граница 5% двустороннего критерия. Ну и если значение данное производителем вышло за эти границы то есть отклонение с 5% вероятностью ошибки.

Все эти расчеты легко выполнить в R, можете выложить пример данных.

Сообщение отредактировал p2004r - 3.03.2012 - 00:54


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Ant
сообщение 3.03.2012 - 15:19
Сообщение #5





Группа: Пользователи
Сообщений: 6
Регистрация: 2.03.2012
Пользователь №: 23531



Цитата(p2004r @ 3.03.2012 - 00:48) *
Вы просто делаете (например) 100000 перевыборок с возвращением из имеющейся выборки по конкретному показателю. Для каждой перевыборки рассчитываете нужный для сравнения перцентиль.

Затем сортируете полученный массив 100000 значений перцентиля, находите какое значение в этой отсортированной последовательности соответствует 2,5% (это по 2500 значений с края надо отсчитать).

Это будет граница 5% двустороннего критерия. Ну и если значение данное производителем вышло за эти границы то есть отклонение с 5% вероятностью ошибки.

Все эти расчеты легко выполнить в R, можете выложить пример данных.

Уже понятнее smile.gif а какое количество перевыборок оптимально? от чего это зависит? опыт работы у меня в среде R отсутствует, к сожалению. Это можно сделать в Excel или в Statistica? если можно, то какими функциями, кроме сортировки и перцентилей, пользоваться. Не могу загрузить свой файл - вот пример по одному из показателей

Ala (исходные данные):
252,8
261,4
229,2
438,1
411,4
411,9
327,1
235,8
332,8
378,7
280,1
434,0
279,7
262,7
340,2
371,6
387,8
323,6
513,3
317,9
219,2
457,1
198,3
249,8
633,3
260,9
261,8
246,6
482,1
256,0
375,6
210,4
179,5
226,4 и т. д. - Контрольное значение = 643,0
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 3.03.2012 - 16:57
Сообщение #6





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(Ant @ 3.03.2012 - 15:19) *
Уже понятнее smile.gif а какое количество перевыборок оптимально? от чего это зависит? опыт работы у меня в среде R отсутствует, к сожалению. Это можно сделать в Excel или в Statistica? если можно, то какими функциями, кроме сортировки и перцентилей, пользоваться. Не могу загрузить свой файл - вот пример по одному из показателей

Ala (исходные данные):
252,8
261,4
229,2
438,1
411,4
411,9
327,1
235,8
332,8
378,7
280,1
434,0
279,7
262,7
340,2
371,6
387,8
323,6
513,3
317,9
219,2
457,1
198,3
249,8
633,3
260,9
261,8
246,6
482,1
256,0
375,6
210,4
179,5
226,4 и т. д. - Контрольное значение = 643,0


данные на форум как я понял можно загрузить только в виде архива

помещаем в файл данные и импортируем их в R

> data<-read.table("data.txt", dec=",")

квантили считаются кучей алгоритмов, оптимально узнать что делал все таки изготовитель smile.gif

Код
> quantile(data$V1, probs = c(0.05,0.95), type=1)
   5%   95%
198.3 513.3
> quantile(data$V1, probs = c(0.05,0.95), type=2)
   5%   95%
198.3 513.3
> quantile(data$V1, probs = c(0.05,0.95), type=3)
   5%   95%
198.3 482.1
> quantile(data$V1, probs = c(0.05,0.95), type=4)
    5%    95%
192.66 491.46
> quantile(data$V1, probs = c(0.05,0.95), type=5)
    5%    95%
200.72 507.06
> quantile(data$V1, probs = c(0.05,0.95), type=6)
   5%   95%
193.6 543.3
> quantile(data$V1, probs = c(0.05,0.95), type=7)
     5%     95%
206.165 493.020
> quantile(data$V1, probs = c(0.05,0.95), type=8)
     5%     95%
198.905 511.740
> quantile(data$V1, probs = c(0.05,0.95), type=9)
      5%      95%
199.3588 510.5700


по умолчанию метод ?7 построим бутстреп

Код
# желаем тысячу перевыборок из данных каждый раз извлекая квантили
> result<-t(replicate(1000,
                              as.numeric(quantile(sample(data$V1, replace=TRUE),
                                                           probs = c(0.05,0.95),
                                                           type=7))))

# 95% перцентиль находится между этими границами с вероятность ошибки 5%
> sort(result[,2])[975]
[1] 633.3
> sort(result[,2])[25]
[1] 419.635

# повторяем 10000, чтобы проверить устойчивость и точность полученных результатов бутстрепа

> sort(result[,2])[9750]
[1] 633.3
> sort(result[,2])[250]
[1] 419.635


Контрольное значение 643 достоверно больше (с вероятность ошибки не большей 0.05) значения которое дает данная выборка.



Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Ant
сообщение 3.03.2012 - 19:22
Сообщение #7





Группа: Пользователи
Сообщений: 6
Регистрация: 2.03.2012
Пользователь №: 23531



Цитата(p2004r @ 3.03.2012 - 16:57) *
данные на форум как я понял можно загрузить только в виде архива

помещаем в файл данные и импортируем их в R

> data<-read.table("data.txt", dec=",")

квантили считаются кучей алгоритмов, оптимально узнать что делал все таки изготовитель smile.gif

Код
> quantile(data$V1, probs = c(0.05,0.95), type=1)
   5%   95%
198.3 513.3
> quantile(data$V1, probs = c(0.05,0.95), type=2)
   5%   95%
198.3 513.3
> quantile(data$V1, probs = c(0.05,0.95), type=3)
   5%   95%
198.3 482.1
> quantile(data$V1, probs = c(0.05,0.95), type=4)
    5%    95%
192.66 491.46
> quantile(data$V1, probs = c(0.05,0.95), type=5)
    5%    95%
200.72 507.06
> quantile(data$V1, probs = c(0.05,0.95), type=6)
   5%   95%
193.6 543.3
> quantile(data$V1, probs = c(0.05,0.95), type=7)
     5%     95%
206.165 493.020
> quantile(data$V1, probs = c(0.05,0.95), type=8)
     5%     95%
198.905 511.740
> quantile(data$V1, probs = c(0.05,0.95), type=9)
      5%      95%
199.3588 510.5700


по умолчанию метод ?7 построим бутстреп

Код
# желаем тысячу перевыборок из данных каждый раз извлекая квантили
> result<-t(replicate(1000,
                              as.numeric(quantile(sample(data$V1, replace=TRUE),
                                                           probs = c(0.05,0.95),
                                                           type=7))))

# 95% перцентиль находится между этими границами с вероятность ошибки 5%
> sort(result[,2])[975]
[1] 633.3
> sort(result[,2])[25]
[1] 419.635

# повторяем 10000, чтобы проверить устойчивость и точность полученных результатов бутстрепа

> sort(result[,2])[9750]
[1] 633.3
> sort(result[,2])[250]
[1] 419.635


Контрольное значение 643 достоверно больше (с вероятность ошибки не большей 0.05) значения которое дает данная выборка.

Общий смысл понятен! Спасибо! smile.gif Испробую Ваш код в качестве первой задачи в R - как я понимаю, это достаточно гибкий инструмент для программируемой обработки, smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме


Добавить ответ в эту темуОткрыть тему