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