Я пытаюсь создать функцию прогнозирования выживания для подвергнутых цензуре субъектов в их текущее время, используя это:
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)
Как мне добавить conditional_after для censored_subjects в их текущее время без создания вывода NxN?