The context:
Hi, I need to perform reliability analysis for a set of components using Power-NHPP (Non-Homogeneous Poisson Process following Power Law) model like it is performed in SAS using proc reliability; my input data consists in a Pandas DataFrame with an "ID" column and another column with the times for each system identified by its ID, where each system has 1 to N repair times, and for those with N>1 times, also the retirement time (which of course is the greatest among each group of subjects grouped by ID);
The problem:
I want to use Maximum Likelihood Estimation to estimate the parameters of the curve that fits the data points, and not Least Squares Estimation, which gives results that are not what we want (since this approach is not the best way to perform this procedure, as statedin the paper "Piecewise NHPP Models with Maximum Likelihood Estimation for Repairable Systems", by Huairui G. et al.
What I have tried:
I tried using the reliability library, which already helped me with Weibull analysis on the same set of data; unfortunately, it uses Least Squares Estimation (method curve_fit by SciPy) to fit the curve and estimate its parameters (this is the method I used); I also tried following examples like this one trying to set an appropriate likelihood function to consider a Poisson distribution instead of a Normal one; this time the curve parameters were completely wrong;
What I get:
Results using reliability Python library
What I want:
Results using proc reliability
Important notes:
The values of the Mean Cumulative Function seem to be exactly the same between the SAS and the Python implementations, the one and only problem is in the way the curve is fitted on these points, which is LSE in Python and MLE in SAS; I can use parts of the code from the reliability library in order to get these values, but then I don't know where or how to feed them into some procedure that performs MLE.