0

There's already an excellent post on standardizing values used for regression here. In this post, I am using Cox Regression (Cox Proportional Hazard model) with the lifelines Python library. Now, one way to measure the model's performance is with concordance.

I noticed that if I use the data as it is, I get a concordance score of 0.75. But if I use MinMaxScaler, then my concordance score is boosted up to 0.88. Although the magnitude of the coefficients in both data sets are different, the directions (positive or negative coefficients) are still the same.

Any ideas why re-scaling values to [0, 1] would improve "performance" so much? Please note that my covariates are in the range [0, d], where d is a possibly unbounded amount (not +infinity, of course).

Jane Wayne
  • 1,268
  • 2
  • 14
  • 24
  • Do both models give the same partial likelihood? Probably not. One possibility is that the second one converges to a better solution. This can be happen for many reasons. Scaling/standardizing values may help convergence. Furthermore, stopping criteria of optimization methods may also be sensitive to the magnitude of the predictors. – George Jul 12 '17 at 23:11
  • I'm not sure if I have access to that information with the library. I did a search for "partial" and "likelihood" on its Sphinx docs and the Github repository; I couldn't find any good matches in the Sphinx docs; there is an interesting attribute CoxPHFitter._log_likelihood but I'm wondering if that's the same thing. – Jane Wayne Jul 12 '17 at 23:20
  • `_log_likelihood` is the partial log likelihood (I should change the name to reflect that). Fitting and prediction is sensitive to outliers/extreme values (because there are exponentials in the mode), so scaling makes a lot of sense to help control this. Plus I really should make the search more appealing! – Cam.Davidson.Pilon Jul 13 '17 at 00:34

0 Answers0