问题标签 [survival-analysis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 神经网络预测为所有预测返回相同的值
我正在尝试使用神经网络包构建神经网络,但遇到了一些麻烦。我的nnet
包裹很成功,但没有运气neuralnet
。我已经阅读了整个文档包并且找不到解决方案,或者我无法发现它。
我正在使用的训练命令是
和预测
训练比 nnet 训练花费的时间要长得多。我尝试使用与nnet
(反向传播而不是弹性反向传播)相同的算法,但什么也没改变,也改变了激活函数(和linear.output=F
)以及几乎所有其他东西,结果没有改善。预测值都是一样的。我不明白为什么 nnet 对我有用,而 nnetneuralnet
却不行。
我真的可以使用一些帮助,我(缺乏)对这两件事(神经网络和 R)的理解可能是原因,但找不到原因。
我的数据集来自UCI。我想使用神经网络进行二元分类。数据样本为:
转换为矩阵,因子为数值:
预测值总结:
Wilcoxon-Mann-Whitney 检验的值(曲线下面积)表明预测性能几乎与随机相同。
r - 将生存数据从宽转换为长
我正在阅读http://www.uk.sagepub.com/books/Book233417并且Rcmdr
用于转换罗西数据http://cran.r-project.org/doc/contrib/Fox-Companion/Rossi.txt随时间变化的生存分析从宽到长。
进行转换的Rcmdr
脚本是:
Rcmdr
但是,如果未加载,则此脚本不会运行。
Rcmdr 脚本的结果将 Rossi 数据帧从
到 Rossi.long 数据
是否可以使用reshape
或任何其他数据转换包执行这种精确的转换?
更新:该Rcmdr
脚本只能在Rcmdr
r - 仅访问生存对象的一部分
使用我生成的包survival
中的R
我这样的 Kaplan-Meiser-object
使用print(fit)
我得到
我现在如何才能访问这个整体生存对象的一部分?就像打印结果只是为了sex=1
?
当然我可以做类似的事情
但是使用非常大的数据集,多次重新创建生存对象是不利的。
r - coxph 对象中的脆弱性估计
如果使用 obj=coxph(... + frailty(id) ),则该对象还返回每个个体的 (log)frailty 估计值,可以使用 obj$frail 提取。
有谁知道这些估计是如何获得的?它们是经验贝叶斯估计吗?
谢谢!
西奥多
r - 如何绘制生存函数的“逆”?
我试图绘制生存函数的倒数,因为我的数据实际上是随着时间的推移事件的比例增加。我可以制作 Kaplan-Meier 生存图,但我想制作这些图的“相反”。我可以使用以下方法获得我想要的东西fun="cloglog"
:
但我不太明白这对时间做了什么(即不是从 0 开始,距离减小了?),以及为什么生存线延伸到 y 轴上方。
非常感谢一些帮助!
干杯
r - 分配的无效生存时间,生存分析;包生存
我们想分析新获得的客户在 R 中仍然是客户的时间。数据集在 730 天进行了右删失,我们有 10 个自变量。
模型如下所示:ln(Duration)=X'B+S*e,其中 X 是 10 个自变量的矩阵,B 是系数向量,S 是尺度参数,e 是误差项
我们使用的数据集如下: http ://www.drvkumar.com/books/25/Statistical-Methods-in-Customer-Relationship-Management
我们使用survival包及其survreg函数,输入如下代码:
但结果不正确,因为使用 SAS 代码会生成另一个输出(已确认是正确的)。
我们尝试生成一个 Duration 的日志变量,并在前面描述的模型中实现了新的变量 logDur:
但是弹出以下错误信息:Fehler in Surv(logDur, Censor) : Time and status are different lengths
如果有帮助,这里是 SAS 代码:
r - 使用 survreg/tobit 预测超出界限
所以我正在使用 survreg,我希望我的预测结果遵循 0 的下限,但它们经常表示负面结果。我认为它以某种方式估计了线性结果,而不是我试图创建的生存模型。这是我所做的:
首先,我估计了一些点来加快我的估计过程。如果没有这个第一阶段,它就无法收敛。我按照 ?survreg 中的代码创建了一个生存对象,该代码提供了一个明确的 tobit 回归示例。我在下面为 x 和 y 复制了这个。在我的数据集中,y 只能观察到非负值,但如果它是正值,它往往会在 200 左右正态分布,sd 约为 20。X 可以取任何值,理论上不受约束通过立即想到的任何特定数字。
我运行生存回归,它应该相当于一个 Tobit。为了确认我对事件的解释是相同的,我运行了以下命令:
该图在零处显示一条平线,因此在目视检查时,这些命令应该是相同的。但是,在这两种情况下,都会预测到低于 0 的结果。这是有问题的,因为我已经说过可观察信息的左边界是 0。我的期望是所有预测值都必须 > 0。
我尝试使用“链接”、“响应”、“线性”类型进行预测,但无济于事。我假设 predict 命令正在产生结果,就好像审查没有发生一样。如何生成服从下限 0 的预测?
参考:
r - 为生存定义分布::survreg()
我尝试使用伽玛分布拟合一个 survreg 模型。
下面?survreg.distributions
我定义了我的自定义分布,如下所示:
但是我无法让它运行:
该错误来自一些 C 代码,但我认为它是更早生成的......
survreg 的任何提示/建议/替代方案?
r - 使用 R 中的竞争风险模型预测每种故障类型的可能性
我希望在历史数据上运行一个竞争风险模型,并预测新数据集中每种类型的死亡在指定时期(假设一个时期)的可能性。到目前为止,我已经查看comp.risk
了timereg
package 和crr
in cmprsk
,但是在弄清楚如何使用他们的 predict 方法来返回这些可能性时遇到了麻烦。
使用bmt
数据集(来自timereg
包)并comp.risk
作为示例,我想做类似的事情:
t=1
理想情况下,这将预测和之间每种死亡类型的可能性t=2
,但 predict 函数会返回其他类型的结果。
最后一行不起作用,因为模型不是使用 start/stopSurvival
对象类型构建的,并且comp.risk
似乎没有采用左截断数据。为了说明,下面的模型语句包括开始时间返回错误Error in comp.risk(Surv(start.time, time, cause > 0) ~ platelet + age +
: only right censored data。
r - 在 R 中将 pspline 项添加到 coxph 模型更改汇总表
我正在尝试使用 knitr/xtable 从报告中的 coxph() 对象生成表格。当我在模型中不包含 pspline 项时,一切都按预期工作。在单个块中:
但是当我包含一个惩罚样条项时,summary() 对象的结构会发生变化,并且$conf.int
and$coeff
插槽不再可用。