我正在尝试使用以下方法为审查对象在当前时间生成预测生存函数:
def predict_cumulative_hazard_at_single_time(self, X, times, ancillary_X=None):
lambda_, rho_ = self._prep_inputs_for_prediction_and_return_scores(X, ancillary_X)
return (times / lambda_) ** rho_
def predict_survival_function_at_single_time(self, X, times, ancillary_X=None):
return np.exp(-self.predict_cumulative_hazard_at_single_time(X, times=times, ancillary_X=ancillary_X))
aft.predict_survival_function_at_single_time = predict_survival_function_at_single_time.__get__(aft)
aft.predict_cumulative_hazard_at_single_time = predict_cumulative_hazard_at_single_time.__get__(aft)
p_surv2 = aft.predict_survival_function_at_single_time(censored_subjects,
times=censored_subjects['CSI'])
但是结果与我添加conditional_after时的结果不同:
survival = aft.predict_survival_function(censored_subjects,
times=censored_subjects['CSI'],
conditional_after=censored_subjects_last_obs)
如何在当前时间为 censored_subjects 添加 conditional_after 而不创建 NxN 输出?