comparison scripts/statistics/tests/run_test.m @ 3200:781c930425fd

[project @ 1998-10-29 05:23:08 by jwe]
author jwe
date Thu, 29 Oct 1998 05:23:09 +0000
parents
children 041ea33fbbf4
comparison
equal deleted inserted replaced
3199:9ceefd891930 3200:781c930425fd
1 ## Copyright (C) 1995, 1996, 1997 Friedrich Leisch
2 ##
3 ## This program is free software; you can redistribute it and/or modify
4 ## it under the terms of the GNU General Public License as published by
5 ## the Free Software Foundation; either version 2, or (at your option)
6 ## any later version.
7 ##
8 ## This program is distributed in the hope that it will be useful, but
9 ## WITHOUT ANY WARRANTY; without even the implied warranty of
10 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 ## General Public License for more details.
12 ##
13 ## You should have received a copy of the GNU General Public License
14 ## along with this file. If not, write to the Free Software Foundation,
15 ## 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16
17 ## usage: [pval, chisq] = run_test (x)
18 ##
19 ## Performs a chi-square test with 6 degrees of freedom based on the
20 ## upward runs in the columns of x. Can be used to test whether x
21 ## contains independent data.
22 ##
23 ## If no output argument is given, the pval is displayed.
24
25 ## Author: FL <Friedrich.Leisch@ci.tuwien.ac.at>
26 ## Description: Run test for independence
27
28 function [pval, chisq] = run_test (x)
29
30 if (nargin != 1)
31 usage ("run_test (x)");
32 endif
33
34 A = [ 4529.4 9044.9 13568 18091 22615 27892
35 9044.4 18097 27139 36187 45234 55789
36 13568 27139 40721 54281 67852 83685
37 18091 36187 54281 72414 90470 111580
38 22615 45234 67852 90470 113262 139476
39 27892 55789 83685 111580 139476 172860 ];
40
41 b = [1/6; 5/24; 11/120; 19/720; 29/5040; 1/840];
42
43 n = rows (x);
44 r = run_count (x, 6) - n * b * ones (1, columns(x));
45
46 chisq = diag (r' * A * r)' / n;
47 pval = chisquare_cdf (chisq, 6);
48
49 if (nargout == 0)
50 printf("pval: %g\n", pval);
51 endif
52
53 endfunction