Mercurial > octave
view 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 |
line wrap: on
line source
## Copyright (C) 1995, 1996, 1997 Friedrich Leisch ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this file. If not, write to the Free Software Foundation, ## 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ## usage: [pval, chisq] = run_test (x) ## ## Performs a chi-square test with 6 degrees of freedom based on the ## upward runs in the columns of x. Can be used to test whether x ## contains independent data. ## ## If no output argument is given, the pval is displayed. ## Author: FL <Friedrich.Leisch@ci.tuwien.ac.at> ## Description: Run test for independence function [pval, chisq] = run_test (x) if (nargin != 1) usage ("run_test (x)"); endif A = [ 4529.4 9044.9 13568 18091 22615 27892 9044.4 18097 27139 36187 45234 55789 13568 27139 40721 54281 67852 83685 18091 36187 54281 72414 90470 111580 22615 45234 67852 90470 113262 139476 27892 55789 83685 111580 139476 172860 ]; b = [1/6; 5/24; 11/120; 19/720; 29/5040; 1/840]; n = rows (x); r = run_count (x, 6) - n * b * ones (1, columns(x)); chisq = diag (r' * A * r)' / n; pval = chisquare_cdf (chisq, 6); if (nargout == 0) printf("pval: %g\n", pval); endif endfunction