I have a lifelines model which I fit using the following:
model = WeibullAFTFitter()
model.fit(train, 'duration', event_col='y', show_progress=True)
However, the time duration it predicts for my test set is extremely large (by using predicted_time = model.predict_expectation(test)
). In fact in the uncensored case the average error between test duration and predicted duration is 2289.3773 +/- 7584.9916.
The only issue is that the maximum possible duration is 1500 (Assume the machines are replaced every 5 years). So my questions are:
- Is there a way to set an upper limit on time?
- If I normalise the duration to have 0 mean and standard deviation of 1, would the duration estimates improve?