blob: 896d60187cdf07be5424764dcf0a713fdee87c7a [file] [log] [blame]
/* -----------------------------------------------------------------------------
* Test Wilcoxon signed-rank test.
*
* Example taken from:
* http://www-stat.stanford.edu/~susan/courses/s141/hononpara.pdf
* -------------------------------------------------------------------------- */
m4_include(`SQLCommon.m4')
m4_changequote(<!,!>)
m4_ifdef(<!__HAS_ORDERED_AGGREGATES__!>,<!
CREATE TABLE test_wsr (
x DOUBLE PRECISION,
y DOUBLE PRECISION
);
INSERT INTO test_wsr VALUES (0.32,0.39);
INSERT INTO test_wsr VALUES (0.4,0.47);
INSERT INTO test_wsr VALUES (0.11,0.11);
INSERT INTO test_wsr VALUES (0.47,0.43);
INSERT INTO test_wsr VALUES (0.32,0.42);
INSERT INTO test_wsr VALUES (0.35,0.3);
INSERT INTO test_wsr VALUES (0.32,0.43);
INSERT INTO test_wsr VALUES (0.63,0.98);
INSERT INTO test_wsr VALUES (0.5,0.86);
INSERT INTO test_wsr VALUES (0.6,0.79);
INSERT INTO test_wsr VALUES (0.38,0.33);
INSERT INTO test_wsr VALUES (0.46,0.45);
INSERT INTO test_wsr VALUES (0.2,0.22);
INSERT INTO test_wsr VALUES (0.31,0.3);
INSERT INTO test_wsr VALUES (0.62,0.6);
INSERT INTO test_wsr VALUES (0.52,0.53);
INSERT INTO test_wsr VALUES (0.77,0.85);
INSERT INTO test_wsr VALUES (0.23,0.21);
INSERT INTO test_wsr VALUES (0.3,0.33);
INSERT INTO test_wsr VALUES (0.7,0.57);
INSERT INTO test_wsr VALUES (0.41,0.43);
INSERT INTO test_wsr VALUES (0.53,0.49);
INSERT INTO test_wsr VALUES (0.19,0.2);
INSERT INTO test_wsr VALUES (0.31,0.35);
INSERT INTO test_wsr VALUES (0.48,0.4);
CREATE TABLE wsr_test AS
SELECT (wsr_test(
x - y,
2 * 2^(-52) * greatest(x,y)
ORDER BY abs(x - y)
)).*
FROM test_wsr;
SELECT * FROM wsr_test;
SELECT assert(
statistic = 105.5 AND
rank_sum_pos = 105.5 AND
rank_sum_neg = 194.5 AND
num = 24 AND
relative_error(z_statistic, -1.272) < 0.001,
'Wilcoxon signed-rank: Wrong results'
) FROM wsr_test;
!>)
m4_changequote(<!`!>,<!'!>)