2010-08-12 2 views
0

Я знаю, что есть функция в MATLAB, чтобы сделать регрессию Кокса, но у меня проблемы с пониманием того, как ее применять.Cox регрессия в MATLAB

1) Как сравнить две группы выборок с данными о выживаемости в днях (survdays), цензура (cens) и некоторое значение предиктора (x)? Группы, определяемые логической переменной groups. Группы имеют различное количество образцов.

2) Каков базовый параметр в coxffit? Я прочитал документы, но как правильно выбрать базовый уровень?

Было бы здорово, если бы вы знали сайт с хорошими подробными примерами данных медицинского выживания. Я нашел только Mathworks demo, который даже не упоминает coxffit.

Знаете ли вы, что может быть другой третьей стороной для регрессии Кокса?

UPDATE: r тег добавлен, так как ответ, который я получил для R.

+0

Моя любимая статистика по статистике (Справочник по параметрическим и непараметрическим статистическим процедурам Шешина) говорит, что «вспомогательный статистический порядок SPSS» от Norusis является отличной ссылкой на регрессию Cox и что SPSS - хороший инструмент для этого. – Jonas

ответ

1

С анализом выживаемости функция опасности представляет собой мгновенную смертность.

В этих анализах обычно вы измеряете, какой эффект оказывает на эту функцию опасности. Например, вы можете спросить: «Проглатывает мышьяк увеличение скорости, с которой люди умирают?». Фоновая опасность - это уровень, при котором люди будут умирать в любом случае (без глотания мышьяка, в данном случае).

Если вы внимательно прочитали документы для coxphfit, вы заметите, что эта функция пытается рассчитать базовую опасность; это не то, что вы вводите.

базовый уровень Значения X, на которых до вычисляют базовую опасность.

EDIT: Функция MATLAB coxphfit, очевидно, не работает с сгруппированными данными. Если вы с удовольствием переключитесь на R, то anaylsis - однострочный.

library(survival) 

#Create some data 
n <- 20; 
dfr <- data.frame(
    survdays = runif(n, 5, 15), 
    cens  = runif(n) < .3, 
    x  = rlnorm(n), 
    groups = rep(c("first", "second"), each = n/2) 
) 

#The Cox ph analysis 
summary(coxph(Surv(survdays, cens) ~ x/groups, dfr)) 

ДРУГОЙ EDIT: Это baseline параметр от Matlab coxphfit, как представляется, нормализующее постоянным. Функция R's coxph не имеет эквивалентного параметра. Я посмотрел в Statistical Computing Майклом Кроули и, похоже, предположил, что базовая опасность не важна, поскольку она отменяется, когда вы вычисляете вероятность того, что ваша индивидуальная смерть. См. Главу 33 и p615-616 в частности. Мои знания о том, как работает модель, недостаточно глубоки, чтобы объяснить несоответствие в реализациях MATLAB и R; возможно, вы могли бы задать вопрос на сайте Stack Exchange Stats Analysis.

+0

Большое спасибо. Специально для скрипта R. Но что касается базовой линии, это параметр в функции. Это значение (X) по умолчанию и может быть 0. Я думаю, что в вашем примере с As, базовый уровень должен быть 0, поэтому мы сравниваем риск глотания и не глотаем. Но если я использую возраст как предиктор, я думаю, что смысл имеет больше смысла. Как я могу контролировать это в скрипте R? – yuk

+0

Большое спасибо, Ричи.После некоторых чтений и попыток я думаю, что теперь я понимаю это намного лучше. – yuk

+0

И особое спасибо сайту Stats SE. Я не знал об этом. – yuk

Смежные вопросы