Visualisering och prediktion med Weibull-modellen

Överlevnadsanalys i Python

Shae Wang

Senior Data Scientist

.plot()

Returnerar ett diagram med koefficienter och deras intervall från 95%-konfidensintervallen.

aft.plot()
plt.show()

Exempeldiagram:

sample_covariate_plot

Överlevnadsanalys i Python

.plot_partial_effects_on_outcome()

Returnerar ett diagram som jämför den grundläggande överlevnadskurvan med vad som händer när kovariater varieras över olika värden.

aft.plot_partial_effects_on_outcome(covariates, values)
plt.show()

sample_partial_effects_plot

Överlevnadsanalys i Python

Hur ritar man partiella effekter?

.plot_partial_effects_on_outcome()

  • covariates (sträng eller lista): kovariate(r) i originaldatamängden som ska varieras.
  • values (1d- eller 2d-itererbar): de värden som kovariaten ska anta.

  • Grundläggande överlevnadskurva: predikterad överlevnadskurva vid alla genomsnittsvärden i originaldatamängden.

aft.plot_partial_effects_on_outcome(
  covariates='var', 
  values=[0, 3, 6, 9, 12, 15]
)
plt.show()

partial effects plot for weibull model

Överlevnadsanalys i Python

Hur ritar man partiella effekter?

  • Hårdkodade värden:
    aft.plot_partial_effects_on_outcome(
      covariates='a', 
      values=[0, 3, 6]
    )
    
  • Använd en intervallfunktion:
    aft.plot_partial_effects_on_outcome(
      covariates='a', 
      values=np.arange(10)
    )
    
  • Flera kovariater:
    aft.plot_partial_effects_on_outcome(
      covariates=['a','b'], 
      values=[[1,2],[1,3],[2,3]]
    )
    
  • Eget formeluttryck:
    • Nödvändiga transformationer (interaktioner, one-hot-kodning m.m.) utförs internt och automatiskt.
Överlevnadsanalys i Python

Bolåneexempel

DataFrame-exempel: mortgage_df

id house principal interest property_tax credit score duration paid_off
1 1 1275 0.035 0.019 780 25 0
2 0 756 0.028 0.020 695 17 1
3 0 968 0.029 0.017 810 5 0
... ... ... ... ... ... ... ...
1000 1 1505 0.041 0.023 750 30 1
Överlevnadsanalys i Python

Bolåneexempel

aft.plot_partial_effects_on_outcome(
    covariates='credit score',
    values=np.arange(700, 860, 30)
)
plt.show()

partial effects plot for mortgage_df

Överlevnadsanalys i Python

Prediktera överlevnadsfunktioner

  • Överlevnadskurvorna varierar beroende på kovariaternas värden. prediction flowchart
Överlevnadsanalys i Python

Prediktera överlevnadsfunktioner

Predikterar överlevnadsfunktioner för individer baserat på kovariatvärden.

.predict_survival_function()

Argument:

  • X (np-array eller DataFrame): kovariater. Om en DataFrame används kan kolumnerna stå i valfri ordning.

Predikterar medianöverlevnadstider för individer baserat på kovariatvärden.

.predict_median()

Argument:

  • df (np-array eller DataFrame): kovariater. Om en DataFrame används kan kolumnerna stå i valfri ordning.
Överlevnadsanalys i Python

Villkorligt efter aktuell varaktighet

Predikterar överlevnadsfunktion eller medianöverlevnadstid villkorligt efter aktuell varaktighet.

  • .predict_survival_function(X, conditional_after)
  • .predict_median(df, conditional_after)

Exempel:

aft.predict_median(new_subject)
4.0
aft.predict_median(new_subject, conditional_after=[2])
2.0
Överlevnadsanalys i Python

Nu kör vi en övning!

Överlevnadsanalys i Python

Preparing Video For Download...