Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import scipy.stats as st
- dist_list = [st.gamma, st.expon]
- dist_params_list = []
- for dist in dist_list:
- dist_params = dist.fit(df_test_1_1.values)
- dist_params_list.append(dist_params)
- chisqs, p_values = [], []
- hist_values, bounds = np.histogram(df_test_1_1.values, bins=100)
- for dist, dist_params in zip(dist_list, dist_params_list):
- dist_theor = dist(*dist_params)
- hist_values = hist_values / hist_values.sum()
- theor_hist_values = []
- for low_bound, upper_bound in zip(bounds[:-1], bounds[1:]):
- theor_hist_values.append((dist_theor.cdf(upper_bound) + dist_theor.cdf(low_bound)) / 2)
- theor_hist_values = np.array(theor_hist_values)
- theor_hist_values = theor_hist_values / theor_hist_values.sum()
- chisq, p_value = st.chisquare(hist_values, f_exp=theor_hist_values)
- chisqs.append(chisq)
- p_values.append(p_value)
- p_values
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement