我们正在研究与生存分析相关的问题。我们已经实现了 Cox 比例风险模型和加速故障时间算法。现在我们想看看协变量如何随时间变化。所以我们决定AalenAdditiveFitter从lifelines库中实现。这是一个虚拟数据。数据形状为(1341799, 4)。
Gender Disability_level Time_to_event Event
1 Female Mild 50 0
2 Male Moderate 70 1
3 Male Severe
.
.
.
1341799 Female Mild 45 1
现在,我们面临的问题与内存有关。一个热编码后的数据形状变为(1341799, 15)。据我们所知,AalenAdditiveFitter转置给定的数据矩阵并进行一些内部修改。1904列数从 only增加到15。这是我们得到的错误。
MemoryError:无法为形状(1904、1341799)和数据类型 float64 的数组分配 19.0 GiB
当我们减少行数时,代码可以正常工作。但这不符合我们的目的。谁能解释引擎盖下发生了什么?有没有办法解决这个问题?是否有任何其他方法可用于捕获协变量在整个时间内的可变性?