Exemple #1
0
def test_lognormal(rnd, s, loc=0, scale=1):
    #lognormal random variate generator
    lognormal_dist = RVGs.LogNormal(s, loc, scale)

    # obtain samples
    samples = get_samples(lognormal_dist, rnd)

    # report mean and variance
    print_test_results('LogNormal',
                       samples,
                       expectation=np.exp(0.5 * s**2) * scale + loc,
                       variance=(np.exp(s**2) - 1.0) * np.exp(s**2) * scale**2)
print("Fitting Geometric:", dictResults)

# 9 fitting a JohnsonSb distribution
dist = RVGs.JohnsonSb(a=10, b=3, loc=1, scale=2)
dat_JohnsonSb = np.array(get_samples(dist, np.random))  # generate data
dictResults = Fit.fit_johnsonSb(dat_JohnsonSb, 'Data', fixed_location=1)  # fit
print("Fitting johnsonSb:", dictResults)

# 10 fitting a JohnsonSu distribution
dist = RVGs.JohnsonSu(a=10, b=3, loc=1, scale=2)
dat_JohnsonSu = np.array(get_samples(dist, np.random))  # generate data
dictResults = Fit.fit_johnsonSu(dat_JohnsonSu, 'Data', fixed_location=1)  # fit
print("Fitting johnsonSu:", dictResults)

# 11 LogNormal
dist = RVGs.LogNormal(s=1, loc=1, scale=2)
dat_lognorm = np.array(get_samples(dist, np.random))  # mean, sigma
dictResults = Fit.fit_lognorm(dat_lognorm, 'Data',
                              fixed_location=1)  # fit (scale=exp(mean))
print("Fitting LogNormal:", dictResults)

# 12 NegativeBinomial
dist = RVGs.NegativeBinomial(3, 0.3, 1)
dat_neg_bin = np.array(get_samples(dist, np.random))  # mean, sigma
dictResults = Fit.fit_negative_binomial(dat_neg_bin, 'Data', fixed_location=1)
print("Fitting NegativeBinomial:", dictResults)

# 13 Normal
dist = RVGs.Normal(0, 1)
dat_norm = np.array(get_samples(dist, np.random))  # mean, sigma
dictResults = Fit.fit_normal(dat_norm, 'Data')  # fit