I am fitting a parametric survival model with a Weibull distribution that has pretty good results when checking the 12 month predictions versus the actual results. The issue I'm seeing is when looking at the monthly PMF. As far as I know, the huge benefit of survival analysis versus something like logistic regression with no time component is the ability to generate PMF curves for the event for each time interval instead of just one cumulative value.
The goal of this model is related to credit risk but I think the question extends to all types of modeling. Here is the situation. At the beginning of the observation window where t=1, the lifetime PMF curve looks something like this.
This looks pretty reasonable and is in line with other lifetime PMF curves we've made in the past. So far so good. Now in the middle of the study we track certain performance metrics that could drastically shift the shape of the curve. For a loan this could be something like they become behind in their payment or some other model characteristics drastically change. Here is an example of such a curve in the middle of the study.
So the PMF curve has drastically shifted to the next few months and we very much expect the event to happen within 3-5 time intervals. The issue is with the highlighted part in red. If this is already in the middle of the study, the PMF shouldn't start from a low point but these curves always start from a relatively low point and increase up to the peak regardless of t=1 or t=10. This is becasue the parametric survival curve generates from t=now, not t=1. This means the curves is very off for t=i+1 and t=i+2 when i ne 1.
So my question is for a parametric survival model with an observational variable, is there a way to fix the PMF predictions to account for the fact that they are in the middle of the study? Put another way, the 1,2,3,etc. on the two graphs are not the same t values. The t=1 for the second graph might correspond to t=8 on the first graph.
I am using SAS and the procedure PROC LIFEREG if that helps. I believe an R equivalent function would be survreg().