Re: Chi-Squared Test (goodness of fit) confidence levels



Table for 5 classes, sizes=n

_n____Q____cum_____Q____cum_______

_20__9.00__0.949____9.50__0.961
____12.50__0.990___13.50__0.993
_25__8.80__0.939____9.20__0.954
____12.80__0.990___13.60__0.993
_30__9.00__0.946____9.33__0.954
____13.00__0.990___13.33__0.991
_35__9.14__0.948____9.43__0.955
____13.14__0.990___13.43__0.992
_40__9.00__0.943____9.25__0.952
____13.00__0.990___13.26__0.991
__________________________________

______licas (Luis A. Afonso)

REM "chi5"
CLS
DIM prob(15000), Lf(300)
PRINT " 5 classes CHI-SQUARED"
PRINT " FITTING an UNIFORM LAW"
5 INPUT " size [5, 300] "; n
IF n > 300 THEN GOTO 6
IF n < 5 THEN GOTO 6
IF INT(n) <> n THEN GOTO 6
GOTO 7
6 CLS : GOTO 5
7 e = n / 5
REM Lf(y) = logfactorial(y)
Lf(0) = 0: Lf(1) = 0
FOR x = 1 TO n - 1
Lf(x + 1) = Lf(x) + LOG(x + 1)
NEXT x
FOR i1 = 0 TO n: i(1) = i1
FOR i2 = 0 TO n: i(2) = i2: j2 = i1 + i2
IF j2 > n THEN GOTO 100
FOR i3 = 0 TO n: i(3) = i3: j3 = j2 + i3
IF j3 > n THEN GOTO 100
FOR i4 = 0 TO n: i(4) = i4: j4 = j3 + i4
IF j4 > n THEN GOTO 100
FOR i5 = 0 TO n: i(5) = i5
i = j4 + i5
LOCATE 3, 50
PRINT USING "### "; i1; i2; i3; i4; i5
IF i <> n THEN GOTO 100
chi = 0
FOR k = 1 TO 5
aa = i(k) - e
chi = chi + aa ^ 2 / e
NEXT k
REM probability
a0 = Lf(i1) + Lf(i2) + Lf(i3) + Lf(i4) + Lf(i5)
a1 = Lf(n) - a0
a11 = (1 / 5) ^ n: a11 = EXP(a1) * a11
g = INT(100 * chi + .5)
IF g > 15000 THEN g = 15000
prob(g) = prob(g) + a11
100 NEXT i5: NEXT i4:
NEXT i3: NEXT i2: NEXT i1
cum = 0
FOR g2 = 0 TO 15000
IF prob(g2) = 0 THEN GOTO 200
cum = cum + prob(g2)
IF cum > .9995 THEN GOTO 200
PRINT USING "###.## #.### ";
g2 / 100; cum;
200 NEXT g2: END
.



Relevant Pages