Skip to content

Commit

Permalink
Chi_square_check for discrete distribution fix (apache#13543)
Browse files Browse the repository at this point in the history
* check for bucket instead of index

* enumerate instead of range(len())

* count instead of sum to solve attribute error

* revert to sum

* seperate discrete and continuous

* Trigger CI
  • Loading branch information
ChaiBapchya authored and zhaoyao73 committed Dec 9, 2018
1 parent 2cc1267 commit 1dde993
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions python/mxnet/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -1911,12 +1911,15 @@ def chi_square_check(generator, buckets, probs, nsamples=1000000):
if continuous_dist:
sample_bucket_ids = np.searchsorted(buckets_npy, samples, side='right')
else:
sample_bucket_ids = samples
sample_bucket_ids = np.array(samples)
if continuous_dist:
sample_bucket_ids = sample_bucket_ids // 2
obs_freq = np.zeros(shape=len(buckets), dtype=np.int)
for i in range(len(buckets)):
obs_freq[i] = (sample_bucket_ids == i).sum()
for i, _ in enumerate(buckets):
if continuous_dist:
obs_freq[i] = (sample_bucket_ids == i).sum()
else:
obs_freq[i] = (sample_bucket_ids == buckets[i]).sum()
_, p = ss.chisquare(f_obs=obs_freq, f_exp=expected_freq)
return p, obs_freq, expected_freq

Expand Down

0 comments on commit 1dde993

Please sign in to comment.