Example #1
0
def test_Fit_Normal_2P():
    dist = Normal_Distribution(mu=50, sigma=8)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    MLE = Fit_Normal_2P(failures=data.failures,
                        right_censored=data.right_censored,
                        method='MLE',
                        show_probability_plot=False,
                        print_results=False)
    assert_allclose(MLE.mu, 49.01641649924297, rtol=rtol, atol=atol)
    assert_allclose(MLE.sigma, 6.653242350482225, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 91.15205546551952, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 92.43763765968633, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -43.223086556289175, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 63.64069171746617, rtol=rtol, atol=atol)
    assert_allclose(MLE.Cov_mu_sigma, 1.0395705891908218, rtol=rtol, atol=atol)

    LS = Fit_Normal_2P(failures=data.failures,
                       right_censored=data.right_censored,
                       method='LS',
                       show_probability_plot=False,
                       print_results=False)
    assert_allclose(LS.mu, 48.90984235374872, rtol=rtol, atol=atol)
    assert_allclose(LS.sigma, 6.990098677785364, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 91.21601631804141, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 92.50159851220822, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -43.25506698255012, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 63.657853523044515, rtol=rtol, atol=atol)
    assert_allclose(LS.Cov_mu_sigma, 1.0973540350799618, rtol=rtol, atol=atol)
Example #2
0
def test_Fit_Exponential_1P():
    dist = Exponential_Distribution(Lambda=5)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Exponential_1P(failures=data.failures,
                             right_censored=data.right_censored,
                             method='MLE',
                             show_probability_plot=False,
                             print_results=False)
    assert_allclose(MLE.Lambda, 6.101198944227536, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, -22.032339191099148, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, -21.25882913976738, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, 12.127280706660684, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 29.59913306667145, rtol=rtol, atol=atol)

    LS = Fit_Exponential_1P(failures=data.failures,
                            right_censored=data.right_censored,
                            method='LS',
                            show_probability_plot=False,
                            print_results=False)
    assert_allclose(LS.Lambda, 5.776959885774546, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, -21.988412212242917, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, -21.214902160911148, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, 12.10531721723257, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 29.52124203457833, rtol=rtol, atol=atol)
Example #3
0
def test_Fit_Gumbel_2P():
    dist = Gumbel_Distribution(mu=50, sigma=8)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Gumbel_2P(failures=data.failures,
                        right_censored=data.right_censored,
                        method='MLE',
                        show_probability_plot=False,
                        print_results=False)
    assert_allclose(MLE.mu, 47.97813932110471, rtol=rtol, atol=atol)
    assert_allclose(MLE.sigma, 5.487155810067562, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 83.17550426530995, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 84.46108645947676, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -39.23481095618439, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 76.43706903015115, rtol=rtol, atol=atol)
    assert_allclose(MLE.Cov_mu_sigma, 1.8549915988421086, rtol=rtol, atol=atol)

    LS = Fit_Gumbel_2P(failures=data.failures,
                       right_censored=data.right_censored,
                       method='LS',
                       show_probability_plot=False,
                       print_results=False)
    assert_allclose(LS.mu, 46.43212585298994, rtol=rtol, atol=atol)
    assert_allclose(LS.sigma, 4.827795060868229, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 83.88382894786476, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 85.16941114203156, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -39.58897329746179, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 76.44737853267988, rtol=rtol, atol=atol)
    assert_allclose(LS.Cov_mu_sigma, 0.32622575178078633, rtol=rtol, atol=atol)
Example #4
0
def test_Fit_Exponential_2P():
    dist = Exponential_Distribution(Lambda=5, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Exponential_2P(failures=data.failures,
                             right_censored=data.right_censored,
                             method='MLE',
                             show_probability_plot=False,
                             print_results=False)
    assert_allclose(MLE.Lambda, 7.062867654421206, rtol=rtol, atol=atol)
    assert_allclose(MLE.gamma, 500.016737532126, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, -23.939665128347745, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, -22.65408293418094, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, 14.322773740644461, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 29.413655089419287, rtol=rtol, atol=atol)

    LS = Fit_Exponential_2P(failures=data.failures,
                            right_censored=data.right_censored,
                            method='LS',
                            show_probability_plot=False,
                            print_results=False)
    assert_allclose(LS.Lambda, 6.4445633542175, rtol=rtol, atol=atol)
    assert_allclose(LS.gamma, 500.01368943066706, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, -23.031777273560103, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, -21.7461950793933, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, 13.86882981325064, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 29.33840933641424, rtol=rtol, atol=atol)
Example #5
0
def test_Fit_Beta_2P():
    dist = Beta_Distribution(alpha=5, beta=4)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Beta_2P(failures=data.failures,
                      right_censored=data.right_censored,
                      method='MLE',
                      show_probability_plot=False,
                      print_results=False)
    assert_allclose(MLE.alpha, 7.429048118107467, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta, 6.519338516778177, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 4.947836247236739, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 6.233418441403544, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -0.12097694714778129, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 63.64510718930826, rtol=rtol, atol=atol)
    assert_allclose(MLE.Cov_alpha_beta,
                    9.993273704064205,
                    rtol=rtol,
                    atol=atol)

    LS = Fit_Beta_2P(failures=data.failures,
                     right_censored=data.right_censored,
                     method='LS',
                     show_probability_plot=False,
                     print_results=False)
    assert_allclose(LS.alpha, 6.699688942917093, rtol=rtol, atol=atol)
    assert_allclose(LS.beta, 5.9477941734033575, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 5.02116420233583, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 6.306746396502635, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -0.1576409246973265, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 63.661784208694066, rtol=rtol, atol=atol)
    assert_allclose(LS.Cov_alpha_beta, 8.194012965628652, rtol=rtol, atol=atol)
Example #6
0
def test_Fit_Everything():
    dist = Beta_Distribution(alpha=5, beta=4)
    rawdata = dist.random_samples(200, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Everything(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False,show_histogram_plot=False,show_PP_plot=False,print_results=False)
    assert_allclose(fit.best_distribution.alpha, 0.5796887217806559,rtol=rtol,atol=atol)
    assert_allclose(fit.best_distribution.beta, 4.205258772699503,rtol=rtol,atol=atol)
    assert_allclose(fit.Beta_2P_BIC, 30.739845510058352,rtol=rtol,atol=atol)
Example #7
0
def test_Fit_Exponential_2P():
    dist = Exponential_Distribution(Lambda=5, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Exponential_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.Lambda, 7.00351280734533,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 500.015837532126,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, -23.686473231109936,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, 14.196177792025557,rtol=rtol,atol=atol)
Example #8
0
def test_Fit_Exponential_1P():
    dist = Exponential_Distribution(Lambda=5)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Exponential_1P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.Lambda, 6.101199434421275,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 0,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, -22.032339191099254,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, 12.127280706660738,rtol=rtol,atol=atol)
Example #9
0
def test_make_right_censored_data():
    results = make_right_censored_data(data=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                                       fraction_censored=0.5,
                                       seed=1)
    assert_allclose(results.failures, [4, 2, 8, 9, 6], rtol=rtol, atol=atol)
    assert_allclose(
        results.right_censored,
        [1.16373222, 6.69746037, 6.5487735, 4.23155458, 0.31327352],
        rtol=rtol,
        atol=atol)
Example #10
0
def test_Fit_Gumbel_2P():
    dist = Gumbel_Distribution(mu=50,sigma=8)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Gumbel_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.mu, 47.978167597211396,rtol=rtol,atol=atol)
    assert_allclose(fit.sigma, 5.487173373377182,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 83.17550426511939,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_mu_sigma, 1.8550359215645946,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -39.234810956089106,rtol=rtol,atol=atol)
Example #11
0
def test_Fit_Beta_2P():
    dist = Beta_Distribution(alpha=5, beta=4)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Beta_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 7.429034112498652,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 6.519320902041194,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 4.947836247294108,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 9.9955246167663,rtol=0.0005,atol=0.005) # I don't know why travis-CI gives slightly different results for this one. Maybe it uses an older version of scipy
    assert_allclose(fit.loglik, -0.1209769471764659,rtol=rtol,atol=atol)
def test_make_right_censored_data():
    results = make_right_censored_data(data=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                                       fraction_censored=0.5,
                                       seed=1)
    assert_allclose(results.failures, [3, 5, 1, 4, 2], rtol=rtol, atol=atol)
    assert_allclose(
        results.right_censored,
        [6.02771433, 2.06619492, 3.74089736, 2.5841914, 0.46400404],
        rtol=rtol,
        atol=atol)
Example #13
0
def test_Fit_Normal_2P():
    dist = Normal_Distribution(mu=50,sigma=8)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Normal_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.mu, 49.01641765388186,rtol=rtol,atol=atol)
    assert_allclose(fit.sigma, 6.653242153943476,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 91.15205546551915,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_mu_sigma, 1.0395713921235965,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -43.22308655628899,rtol=rtol,atol=atol)
Example #14
0
def test_Fit_Lognormal_3P():
    dist = Lognormal_Distribution(mu=1,sigma=0.5, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Lognormal_3P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.mu, 6.2074393111799395,rtol=rtol,atol=atol)
    assert_allclose(fit.sigma, 0.0018428336205591194,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 6.216971087828216,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 54.382774526710904,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_mu_sigma, 4.689716427080205e-08,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -23.441387263355452,rtol=rtol,atol=atol)
Example #15
0
def test_Fit_Lognormal_2P():
    dist = Lognormal_Distribution(mu=1,sigma=0.5)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Lognormal_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.mu, 0.9494189618970151,rtol=rtol,atol=atol)
    assert_allclose(fit.sigma, 0.4267323807168996,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 0,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 49.69392320890684,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_mu_sigma, 0.0025054526707355687,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -22.494020427982832,rtol=rtol,atol=atol)
Example #16
0
def test_Fit_Loglogistic_2P():
    dist = Loglogistic_Distribution(alpha=50, beta=8)
    rawdata = dist.random_samples(200, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Loglogistic_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 50.25178196536296,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 7.869850445508078,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 0,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 941.946173470838,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 0.14731251998744946,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -468.9426298826271,rtol=rtol,atol=atol)
    assert_allclose(fit.initial_guess[1], 7.304622930677989,rtol=rtol,atol=atol)
Example #17
0
def test_Fit_Loglogistic_3P():
    dist = Loglogistic_Distribution(alpha=50, beta=8, gamma=500)
    rawdata = dist.random_samples(200, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Loglogistic_3P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 64.54473158929677,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 10.513230464353654,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 485.6731344659153,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 943.8101901715909,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 0.18812547180218483,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -468.84387059599953,rtol=rtol,atol=atol)
    assert_allclose(fit.initial_guess[1], 4.981027237709373,rtol=rtol,atol=atol)
Example #18
0
def test_Fit_Weibull_Mixture():
    group_1 = Weibull_Distribution(alpha=10, beta=3).random_samples(40, seed=2)
    group_2 = Weibull_Distribution(alpha=40, beta=4).random_samples(60, seed=2)
    raw_data = np.hstack([group_1, group_2])
    data = make_right_censored_data(data=raw_data, threshold=40)
    fit = Fit_Weibull_Mixture(failures=data.failures, right_censored=data.right_censored, print_results=False, show_probability_plot=False)
    assert_allclose(fit.alpha_1, 8.711417800323375,rtol=rtol,atol=atol)
    assert_allclose(fit.alpha_2, 36.96927163816745, rtol=rtol, atol=atol)
    assert_allclose(fit.beta_1, 3.8780149153215278, rtol=rtol, atol=atol)
    assert_allclose(fit.beta_2, 4.901762153365169, rtol=rtol, atol=atol)
    assert_allclose(fit.AICc, 678.8135631521253, rtol=rtol, atol=atol)
    assert_allclose(fit.loglik, -334.08763263989243, rtol=rtol, atol=atol)
Example #19
0
def test_Fit_Weibull_3P():
    dist = Weibull_Distribution(alpha=50, beta=2, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Weibull_3P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 41.38429989624438,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 0.6941872050001636,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 514.5074549826453,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 114.68964821342475,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 1.3076497743444904,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -53.59482410671237,rtol=rtol,atol=atol)
    assert_allclose(fit.initial_guess[1], 1.2001459605994476,rtol=rtol,atol=atol)
Example #20
0
def test_Fit_Gamma_2P():
    dist = Gamma_Distribution(alpha=50, beta=2)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Gamma_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 30.895318057143644,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 2.5300452644724367,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 0,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 154.33194705093553,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 11.610666775358292,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -74.81303234899717,rtol=rtol,atol=atol)
    assert_allclose(fit.initial_guess[1], 4.878548406768285,rtol=rtol,atol=atol)
Example #21
0
def test_Fit_Gamma_3P():
    dist = Gamma_Distribution(alpha=50, beta=2, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Gamma_3P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 161.86588917785375,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 0.5429156736189351,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 515.4451173341464,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 150.01356065455715,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 11.303022319282686,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -71.25678032727858,rtol=rtol,atol=atol)
    assert_allclose(fit.initial_guess[1], 0.5957708701483985,rtol=rtol,atol=atol)
Example #22
0
def test_Fit_Weibull_2P():
    dist = Weibull_Distribution(alpha=50, beta=2)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)
    fit = Fit_Weibull_2P(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(fit.alpha, 45.099010886086354,rtol=rtol,atol=atol)
    assert_allclose(fit.beta, 2.7827531773597975,rtol=rtol,atol=atol)
    assert_allclose(fit.gamma, 0,rtol=rtol,atol=atol)
    assert_allclose(fit.AICc, 115.66971887883678,rtol=rtol,atol=atol)
    assert_allclose(fit.Cov_alpha_beta, 0.9178064889295382,rtol=rtol,atol=atol)
    assert_allclose(fit.loglik, -55.4819182629478,rtol=rtol,atol=atol)
    assert_allclose(fit.initial_guess[1], 2.96571536864614,rtol=rtol,atol=atol)
Example #23
0
def test_Fit_Weibull_CR():
    d1 = Weibull_Distribution(alpha=50, beta=2)
    d2 = Weibull_Distribution(alpha=40, beta=10)
    CR_model = Competing_Risks_Model(distributions=[d1, d2])
    raw_data = CR_model.random_samples(100, seed=2)
    data = make_right_censored_data(data=raw_data, threshold=40)
    fit = Fit_Weibull_CR(failures=data.failures, right_censored=data.right_censored, print_results=False, show_probability_plot=False)
    assert_allclose(fit.alpha_1, 53.046588163359885,rtol=rtol,atol=atol)
    assert_allclose(fit.alpha_2, 38.029009901631845, rtol=rtol, atol=atol)
    assert_allclose(fit.beta_1, 1.9386519084349318, rtol=rtol, atol=atol)
    assert_allclose(fit.beta_2, 9.036248817085612, rtol=rtol, atol=atol)
    assert_allclose(fit.AICc, 665.5312987516257, rtol=rtol, atol=atol)
    assert_allclose(fit.loglik, -328.5551230600234, rtol=rtol, atol=atol)
Example #24
0
def melhor_distribuicao(Falhas):
    raw_data = list(Falhas)
    data = make_right_censored_data(raw_data,
                                    threshold=1500)  # right censor the data
    results = Fit_Everything(failures=data.failures,
                             right_censored=data.right_censored,
                             show_probability_plot=False,
                             show_histogram_plot=False,
                             show_PP_plot=False,
                             print_results=False,
                             exclude=[
                                 'Exponential_2P', 'Gamma_3P', 'Gamma_2P',
                                 'Lognormal_3P', 'Loglogistic_3P', 'Gumbel_2P'
                             ])
    return results.best_distribution_name, results.best_distribution.parameters
Example #25
0
def test_Fit_Weibull_CR():
    d1 = Weibull_Distribution(alpha=50, beta=2)
    d2 = Weibull_Distribution(alpha=40, beta=10)
    CR_model = Competing_Risks_Model(distributions=[d1, d2])
    raw_data = CR_model.random_samples(100, seed=2)
    data = make_right_censored_data(data=raw_data, threshold=40)
    MLE = Fit_Weibull_CR(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(MLE.alpha_1, 53.05674752263902, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta_1, 1.9411091317375062, rtol=rtol, atol=atol)
    assert_allclose(MLE.alpha_2, 38.026383998212154, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta_2, 9.033349805988692, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 665.5311523940719, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 675.5307805064454, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -328.5550498812465, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 34.0918038201449, rtol=rtol, atol=atol)
Example #26
0
def test_Fit_Weibull_Mixture():
    d1 = Weibull_Distribution(alpha=10, beta=3)
    d2 = Weibull_Distribution(alpha=40, beta=4)
    dist = Mixture_Model(distributions=[d1, d2], proportions=[0.2, 0.8])
    raw_data = dist.random_samples(100, seed=2)
    data = make_right_censored_data(data=raw_data, threshold=dist.mean)

    MLE = Fit_Weibull_Mixture(failures=data.failures, right_censored=data.right_censored, show_probability_plot=False, print_results=False)
    assert_allclose(MLE.alpha_1, 11.06604639424718, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta_1, 2.735078296796997, rtol=rtol, atol=atol)
    assert_allclose(MLE.alpha_2, 34.325433665495346, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta_2, 7.60238532821206, rtol=rtol, atol=atol)
    assert_allclose(MLE.proportion_1, 0.23640116719132157, rtol=rtol, atol=atol)
    assert_allclose(MLE.proportion_2, 0.7635988328086785, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 471.97390405380236, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 484.3614571114024, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -230.66780309073096, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 320.1963544647712, rtol=rtol, atol=atol)
Example #27
0
def test_Fit_Gamma_3P():
    dist = Gamma_Distribution(alpha=50, beta=2, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Gamma_3P(failures=data.failures,
                       right_censored=data.right_censored,
                       method='MLE',
                       show_probability_plot=False,
                       print_results=False)
    assert_allclose(MLE.alpha, 161.8637212853173, rtol=1e-6,
                    atol=1e-4)  # needs bigger tolerance for Python 3.8 and 3.9
    assert_allclose(MLE.beta, 0.5429184966902371, rtol=1e-6,
                    atol=1e-6)  # needs bigger tolerance for Python 3.8 and 3.9
    assert_allclose(MLE.gamma, 515.4451173341464, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 150.0135606540687, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 151.50075747473068, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -71.25678032703435, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 38.63647775048046, rtol=rtol, atol=atol)
    assert_allclose(
        MLE.Cov_alpha_beta, 11.302538880460721, rtol=1e-4,
        atol=0.0002)  # needs bigger tolerance for Python 3.8 and 3.9

    LS = Fit_Gamma_3P(failures=data.failures,
                      right_censored=data.right_censored,
                      method='LS',
                      show_probability_plot=False,
                      print_results=False)
    assert_allclose(LS.alpha, 67.82751726558604, rtol=1e-6,
                    atol=1e-4)  # needs bigger tolerance for Python 3.8 and 3.9
    assert_allclose(LS.beta, 31.29226170989501, rtol=1e-6,
                    atol=1e-6)  # needs bigger tolerance for Python 3.8 and 3.9
    assert_allclose(LS.gamma, 505.13533298746347, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 2727.0287032370256, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 2728.5159000576878, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -1359.7643516185128, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 574.8571449781781, rtol=rtol, atol=atol)
    assert_allclose(
        LS.Cov_alpha_beta, 2.4557691690459174, rtol=1e-4,
        atol=0.0002)  # needs bigger tolerance for Python 3.8 and 3.9
Example #28
0
def test_Fit_Weibull_3P():
    dist = Weibull_Distribution(alpha=50, beta=2, gamma=500)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Weibull_3P(failures=data.failures,
                         right_censored=data.right_censored,
                         method='MLE',
                         show_probability_plot=False,
                         print_results=False)
    assert_allclose(MLE.alpha, 33.012333115455654, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta, 1.3273429690012193, rtol=rtol, atol=atol)
    assert_allclose(MLE.gamma, 513.7219668227023, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 116.53275812088592, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 118.0199549415479, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -54.51637906044296, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 55.6067996515715, rtol=rtol, atol=atol)
    assert_allclose(MLE.Cov_alpha_beta,
                    -0.7687692976797089,
                    rtol=rtol,
                    atol=atol)

    LS = Fit_Weibull_3P(failures=data.failures,
                        right_censored=data.right_censored,
                        method='LS',
                        show_probability_plot=False,
                        print_results=False)
    assert_allclose(LS.alpha, 32.639290779819824, rtol=rtol, atol=atol)
    assert_allclose(LS.beta, 1.2701961119432184, rtol=rtol, atol=atol)
    assert_allclose(LS.gamma, 514.5065549826453, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 119.47369772704523, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 120.96089454770721, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -55.98684886352262, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 55.70853682331155, rtol=rtol, atol=atol)
    assert_allclose(LS.Cov_alpha_beta,
                    -0.8435523816679948,
                    rtol=rtol,
                    atol=atol)
Example #29
0
def test_Fit_Gamma_2P():
    dist = Gamma_Distribution(alpha=50, beta=2)
    rawdata = dist.random_samples(20, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Gamma_2P(failures=data.failures,
                       right_censored=data.right_censored,
                       method='MLE',
                       show_probability_plot=False,
                       print_results=False)
    assert_allclose(MLE.alpha, 30.895317427895733, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta, 2.5300452519936405, rtol=rtol, atol=atol)
    assert_allclose(MLE.gamma, 0, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 154.33194705093553, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 155.61752924510233, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -74.81303234899717, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 38.004356262808585, rtol=rtol, atol=atol)
    assert_allclose(MLE.Cov_alpha_beta,
                    -11.610946543514364,
                    rtol=rtol,
                    atol=atol)

    LS = Fit_Gamma_2P(failures=data.failures,
                      right_censored=data.right_censored,
                      method='LS',
                      show_probability_plot=False,
                      print_results=False)
    assert_allclose(LS.alpha, 25.803340662553182, rtol=rtol, atol=atol)
    assert_allclose(LS.beta, 2.8344248030280284, rtol=rtol, atol=atol)
    assert_allclose(LS.gamma, 0, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 154.55898223226797, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 155.84456442643477, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -74.92654993966339, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 38.01670664187149, rtol=rtol, atol=atol)
    assert_allclose(LS.Cov_alpha_beta,
                    -5.761109354575602,
                    rtol=rtol,
                    atol=atol)
Example #30
0
def test_Fit_Loglogistic_3P():
    dist = Loglogistic_Distribution(alpha=50, beta=8, gamma=500)
    rawdata = dist.random_samples(200, seed=5)
    data = make_right_censored_data(data=rawdata, threshold=dist.mean)

    MLE = Fit_Loglogistic_3P(failures=data.failures,
                             right_censored=data.right_censored,
                             method='MLE',
                             show_probability_plot=False,
                             print_results=False)
    assert_allclose(MLE.alpha, 62.33031514341089, rtol=rtol, atol=atol)
    assert_allclose(MLE.beta, 10.105811228561391, rtol=rtol, atol=atol)
    assert_allclose(MLE.gamma, 487.8907948039738, rtol=rtol, atol=atol)
    assert_allclose(MLE.AICc, 943.8128239547301, rtol=rtol, atol=atol)
    assert_allclose(MLE.BIC, 953.5853270747824, rtol=rtol, atol=atol)
    assert_allclose(MLE.loglik, -468.84518748756915, rtol=rtol, atol=atol)
    assert_allclose(MLE.AD, 582.5424432519599, rtol=rtol, atol=atol)
    assert_allclose(MLE.Cov_alpha_beta,
                    -0.18172584774539235,
                    rtol=rtol,
                    atol=atol)

    LS = Fit_Loglogistic_3P(failures=data.failures,
                            right_censored=data.right_censored,
                            method='LS',
                            show_probability_plot=False,
                            print_results=False)
    assert_allclose(LS.alpha, 62.356306952705054, rtol=rtol, atol=atol)
    assert_allclose(LS.beta, 10.033505691693987, rtol=rtol, atol=atol)
    assert_allclose(LS.gamma, 487.9071761434245, rtol=rtol, atol=atol)
    assert_allclose(LS.AICc, 943.8204940620113, rtol=rtol, atol=atol)
    assert_allclose(LS.BIC, 953.5929971820636, rtol=rtol, atol=atol)
    assert_allclose(LS.loglik, -468.84902254120976, rtol=rtol, atol=atol)
    assert_allclose(LS.AD, 582.5422083314535, rtol=rtol, atol=atol)
    assert_allclose(LS.Cov_alpha_beta,
                    -0.1864715435778476,
                    rtol=rtol,
                    atol=atol)