Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Topic: Krukal-Wallis by Fisher´s random shuffling
Replies: 2   Last Post: Mar 28, 2013 2:06 AM

 Messages: [ Previous | Next ]
 Luis A. Afonso Posts: 4,743 From: LIsbon (Portugal) Registered: 2/16/05
Re: Krukal-Wallis by Fisher´s random shuffling
Posted: Mar 28, 2013 2:06 AM

One-way Anova: shuffling, CI and p-value

Via Table Items Permutations, without replication and exhaustive, we aim to obtain a Confidence Interval along to p-value for the test statistics H given by
_____H = c*sum (Ri(j)^2/n(j) - 3*(N+1)
where c = 12/(N*N+1), N the total number of Table items, Ri(j) the sum of ranks concerning the j sample, size n(j). (One-way Anova).
Data
The source-Table is
_________1___2___3___4___
________11___5___6___7___
________12___8___9__14___
________19__10__13__15___
________20__17__16__18___

H= 1.606

As it was said we intend to get a 5% significance CI, [u, v] that do contain H.
The Procedure is:
a) at random, without replication the N=20 items are disposed as a pseudo Table, the respective H(g) calculated,
b) A very large sample M of Hs is obtained, then
c) The 0.025, 0.975 quantiles do define the interval bounds u and v.
By the other hand the p-value is obtained by computing the proportion of pseudo Tables gives H(g)>H. A comparison with the Chi-squared Distribution is made.

Results

M=400´000, 2 attempts:
_________1) 0.234(.027)_8.463(.975)__p-value=0.684
_________2) 0.234(.027)_8.529(.975)_________0.679
The Chi-squared values leads to [0.216, 9.348], 0.342

Luis A. Afonso

REM "GALA-0"
REM
CLS : ns = 4
REM
DIM along(34), blong(34), clong(34)
DIM W(9001)
REM
N(1) = 5: N(2) = 5: N(3) = 5: N(4) = 5
DATA 1,11,12,19,20
FOR i = 1 TO N(1): READ R(i, 1): v = v + 1
along(v) = R(i, 1)
rt(1) = rt(1) + R(i, 1): NEXT i
REM
DATA 2,5,8,10,17
FOR i = 1 TO N(2): READ R(i, 2): v = v + 1
along(v) = R(i, 2)
rt(2) = rt(2) + R(i, 2): NEXT i
REM
DATA 3,6,9,13,16
FOR i = 1 TO N(3): READ R(i, 3): v = v + 1
along(v) = R(i, 3)
rt(3) = rt(3) + R(i, 3): NEXT i
REM
DATA 4,7,14,15,18
FOR i = 1 TO N(4): READ R(i, 4): v = v + 1
along(v) = R(i, 4)
rt(4) = rt(4) + R(i, 4): NEXT i
REM
FOR k = 1 TO ns: total = total + N(k): NEXT k

FOR k = 1 TO ns
Rin = Rin + rt(k) * rt(k) / N(k): NEXT k
REM
ct = 12 / (total * (total + 1))
REM
H = ct * Rin - 3 * (total + 1)
LOCATE 4, 20
PRINT USING "SOURCE H= ##.### "; H
FOR u = 1 TO total
PRINT USING "###"; along(u); : NEXT u
PRINT : PRINT
REM
REM
COLOR 14
REM
cc(1) = N(1): cc(2) = cc(1) + N(2)
cc(3) = cc(2) + N(3): cc(4) = cc(3) + N(4)
INPUT " How many K_Wallis "; alli
REM
FOR rpt = 1 TO alli: vi = 0
REM refresh
FOR j = 1 TO total
blong(j) = along(j)
NEXT j
REM
REM
LOCATE 14, 50
PRINT USING "############"; alli - rpt
RANDOMIZE TIMER
FOR y = 1 TO total
15 ju = INT(total * RND) + 1
IF blong(ju) = -1 THEN GOTO 15
clong(y) = along(ju)
REM
blong(ju) = -1
NEXT y
REM
REM
REM
SR(1) = 0: SR(2) = 0: SR(3) = 0: SR(4) = 0
FOR i1 = 1 TO cc(1)
SR(1) = SR(1) + clong(i1)
NEXT i1
FOR i2 = cc(1) + 1 TO cc(2)
SR(2) = SR(2) + clong(i2)
NEXT i2
FOR i3 = cc(2) + 1 TO cc(3)
SR(3) = SR(3) + clong(i3)
NEXT i3
FOR i4 = cc(3) + 1 TO cc(4)
SR(4) = SR(4) + clong(i4)
NEXT i4
si = 0
FOR ti = 1 TO ns
si = si + SR(ti) * SR(ti) / N(ti)
NEXT ti
HH = ct * si - 3 * (total + 1)
IF HH > 1.606 THEN outt = outt + 1 / alli
hh1 = INT(1000 * HH + .5)
IF hh1 > 9000 THEN hh1 = 9000
W(hh1) = W(hh1) + 1
REM
NEXT rpt
REM
cv(1) = .025: cv(2) = 1 - cv(1)
FOR tp = 1 TO 2
suum = 0
FOR i = 0 TO 9000
suum = suum + W(i) / alli
IF suum > cv(tp) THEN GOTO 45
NEXT i
45 PRINT USING "#.### #.### "; i / 1000; suum
NEXT tp: COLOR 13: PRINT
PRINT USING " p-value #.### "; outt
COLOR 7
END

Date Subject Author
3/18/13 Luis A. Afonso
3/18/13 Luis A. Afonso
3/28/13 Luis A. Afonso