Skip to content

Instantly share code, notes, and snippets.

@sXakil
Created October 26, 2020 13:20
Show Gist options
  • Save sXakil/f1cbc00824c28deb270c6fb576a57be9 to your computer and use it in GitHub Desktop.
Save sXakil/f1cbc00824c28deb270c6fb576a57be9 to your computer and use it in GitHub Desktop.
Chi-square Simulation
from random import randint
from math import ceil
N=100
lim=100 #int(input("enter total random number :"))
intrv = 10
random_number = [randint(1, lim) for i in range(0, N)]
lo = 0
hi = intrv
print('CLASS'.rjust(10) + 'Oi'.rjust(7) + 'Ei'.rjust(7) + 'Oi-Ei'.rjust(7) + '(Oi-Ei)^2'.rjust(11) + '(Oi-Ei)^2/Ei'.rjust(14))
print('-'*56)
res = 0
Ei = intrv
while hi - intrv < N:
cname = str(lo)+'<r<='+str(hi)
Oi = len([1 for i in random_number if lo < i <= hi])
OiEi = abs(Oi - Ei)
OiEi2 = OiEi ** 2
x = 0 if not Ei else round(OiEi2 / Ei, 3)
res += x
print(cname.rjust(10) + str(Oi).rjust(7) + str(Ei).rjust(7) + str(OiEi).rjust(7) + str(OiEi2).rjust(11) + str(x).rjust(14))
lo = hi
hi += intrv
print('-'*56)
print(f'Total: {round(res, 3)}'.rjust(56))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment