R中存活包的生存回归

时间:2013-05-25 08:57:43

标签: r survival-analysis

我们实际上试图在R中重现模型的结果,该模型已在SAS中编码。该模型如下所示:ln(持续时间)= X'B + S * e,其中X是10个独立变量的矩阵,B是系数向量,S是尺度参数,e是误差项。

我们使用的数据集is here

在那里你也可以找到SAS代码。

第一次尝试看起来如下:

Dur <- survreg(Surv(Duration, Censor==0) ~ Acq_Expense + Acq_Expense_SQ + Ret_Expense +  Ret_Expense_SQ + Crossbuy + Frequency + Frequency_SQ + Industry + Revenue + Employees, dist='weibull', data = daten [daten$Acquisition==1, ])
summary(Dur)

但是这个模型中的系数不正确。在following picture上,您可以看到左侧的R输出和右侧的正确SAS输出:

enter image description here

我们检测到平方项(Acq_Expense_SQ,Ret_Expense_SQ)存在问题,因为当我们排除这些项时,所有其他估计值都更接近正确的值。因此,我们试图将平方项缩减0.001倍。

    Acq_Expense_SQ2 <- data.frame(0.001*daten$Acq_Expense_SQ)
    colnames(Acq_Expense_SQ2) <- c("Acq_Expense_SQ2")
    daten["Acq_Expense_SQ2"] <- Acq_Expense_SQ2
    date3 <- subset(daten, daten$Acquisition==1)

    Ret_Expense_SQ2 <- data.frame(0.001*daten$Ret_Expense_SQ)
    colnames(Ret_Expense_SQ2) <- c("Ret_Expense_SQ2")
    daten["Ret_Expense_SQ2"] <- Ret_Expense_SQ2
    date3 <- subset(daten, daten$Acquisition==1)

    Dur <- survreg(Surv(Duration, Censor == 0, type = 'right') ~ Acq_Expense + Acq_Expense_SQ2 + Ret_Expense + Ret_Expense_SQ2 + Crossbuy + Frequency + Frequency_SQ + Industry + Revenue + Employees, dist='weibull', scale = 0, data = date3)
    summary(Dur)

现在,系数更接近正确系数,但我不知道为什么。 这个问题有可能的解释吗? 或者您是否看到我们的代码存在其他问题?

0 个答案:

没有答案