УДК 620.1 Дата подачи статьи: 09.09.16
Б01: 10.15827/0236-235Х.030.2.257-260 2017. Т. 30. № 2. С. 257-260
РЕКУРСИВНЫЙ АЛГОРИТМ ТОЧНОГО РАСЧЕТА РАНГОВЫХ КРИТЕРИЕВ ПРОВЕРКИ СТАТИСТИЧЕСКИХ ГИПОТЕЗ
Л.В. Агамиров, д.т.н.., профессор, mmk@mati.ru (Национальный исследовательский университет «МЭИ», ул. Красноказарменная, 14, г. Москва, 111250, Россия); В.А. Вестяк, к.ф.-м.н., доцент, v.a.vestyak@mail.ru (Московский авиационный институт (национальный исследовательский университет), Волоколамское шоссе, 4, г. Москва, 125993, Россия); В.Л. Агамиров, к.т.н.., аналитик, avl095@mail.ru
В статье рассматривается методика генерации точных распределений ранговых непараметрических критериев средствами компьютерной комбинаторики.
Актуальность работы обусловлена затруднениями в определении точных распределений критических значений ранговых критериев проверки статистических гипотез из-за того, что точные таблицы, рекуррентные формулы для многих критериев не существуют, а аппроксимации часто дают неудовлетворительный результат при ограниченных объемах наблюдений.
Задача расчета распределения ранговых критериев заключается в переборе всех возможных вариантов перестановок выборок и в расчете ранговых статистик, а также накопленных частот их появления.
Для ее решения разработана программа генерации перестановок элементов выборок ранговых непараметрических критериев, основанная на рекурсивном алгоритме прямого перебора вариантов перестановок вектора порядковых статистик со следующим ограничением числа вариантов: во всех вариантах перестановок элементы одной и той же выборки не могут меняться местами, что является универсальным условием для всех точных распределений ранговых критериев.
В работе приводится ссылка на интернет-ресурс, содержащий программный комплекс реализации алгоритма расчета ранговых критериев. В данном комплексе рассмотрены четыре непараметрических критерия: двухвыборочный критерий Уилкоксона, критерий Лемана-Розенблатта, критерий серий и критерий Краскела-Уоллиса, точные распределения статистик которых представляют наибольший интерес для технических задач. Рассматриваемый алгоритм может быть использован и для других ранговых критериев проверки статистических гипотез.
В работе представлена разработанная авторами реализация метода генерации точных распределений ранговых непараметрических критериев средствами компьютерной комбинаторики, основанная на рекурсивном прямом переборе вариантов перестановок вектора порядковых статистик с последующей фильтрацией результатов. Таким образом, решена задача определения критических значений ранговых непараметрических критериев для проверки статистических гипотез.
Ключевые слова: непараметрические ранговые критерии, проверка гипотез, точное распределение, комбинаторика, алгоритм, программа, JavaScript.
Задача проверки статистических гипотез во всех случаях сопряжена с необходимостью определения критических значений критериев. В то же время для большинства ранговых критериев определение точных распределений является весьма непростой задачей как с математической, так и с вычислительной точки зрения. Различного рода аппроксимации зачастую дают неудовлетворительный результат при ограниченных объемах наблюдений, свойственных анализу данных в технических задачах, связанных со значительным рассеянием свойств, вследствие структурной неоднородности конструкционных материалов и большой вариативности внешних факторов при проведении испытаний. Точные таблицы, рекуррентные формулы, производящие функции частот и моментов для многих критериев не существуют [1-4]. Кроме того, при современном развитии вычислительной техники более предпочтительным является точный компьютерный расчет. Подробнее эти вопросы обсуждаются в [5], в данной работе предлагается методика генерации точных распределений ранговых
непараметрических критериев средствами компьютерной комбинаторики.
С вычислительной точки зрения распределение ранговых критериев представляет собой перебор всех возможных вариантов перестановок элементов выборочных совокупностей при некоторых граничных условиях с последующим расчетом ранговых статистик и накопленных частот их появления. Предлагаемый далее алгоритм применим для большинства критериев, для которых вычисляются выборочные ранговые статистики. Для некоторых критериев существуют более эффективные методы [5, 6], однако с целью обобщения здесь рассматриваются различные критерии независимо от наличия иных методов расчета точных распределений. Авторы сознают, что предлагаемый алгоритм имеет недостаток - перебор большого числа лишних вариантов, что зачастую, особенно при более чем двух выборках, ведет к существенному увеличению машинного времени. Так что, данный алгоритм может рассматриваться как некоторый шаг в направлении применения методов рекурсивной
компьютерной комбинаторики в задачах статистического анализа. К тому же при постоянном увеличении производительности процессоров современных компьютеров проблема машинного времени постепенно отступает на второй план.
В рассматриваемой ниже программе, написанной на языке Javascript, используется метод генерации перестановок элементов выборок ранговых непараметрических критериев. Метод основан на рекурсивном прямом переборе вариантов перестановок вектора порядковых статистик объема n с последующей фильтрацией результатов с учетом универсального для всех точных распределений ранговых критериев условия: внутри данной выборки порядковые номера элементов должны сохраняться независимо от места их расположения. Естественно, что за пределами выборки порядковые номера элементов должны принимать все возможные варианты перестановок.
Для примера рассмотрим возможные варианты таких перестановок для трех выборок (k=3) объемами ni = 1, n2 = 1, n3 = 2.
k
При суммарном объеме выборок N = ^ и = 4
i= 1
безусловное число вариантов перестановок элементов равно N!, то есть 24. С учетом указанного выше условия число таких вариантов сокращается
N! 4! до 12: kk = —-=-= 12 .
П '
1Mb 2!
В таблице перечислены эти варианты, выборки обозначены символами X, Y, Z.
Варианты перестановок рангов трех выборок объемами «1=1, И2=1, П3=2
Permutations of ranks of 3 samples with a volume of «1=1, «2=1, «3=2
Номер варианта Перестановка Вектор a Вектор aindex
1 Xi Yi Zi Z2 i 2 3 4 i 2 3 3
2 Xi Zi Yi Z2 i 3 2 4 i 3 2 3
3 Xi Zi Z2 Yi i 3 4 2 i 3 3 2
4 Yi Xi Zi Z2 2 i 3 4 2 i 3 3
5 Yi Zi Xi Z2 2 3 i 4 2 3 i 3
6 Yi Zi Z2 Xi 2 3 4 i 2 3 3 i
7 Zi Xi Y2 Z2 3 i 2 4 3 i 2 3
8 Zi Xi Z2 Yi 3 i 4 2 3 i 3 2
9 Zi Yi Xi Z2 3 2 i 4 3 2 i 3
10 Zi Yi Z2 Xi 3 2 4 i 3 2 3 i
11 Zi Z2 Xi Yi 3 4 i 2 3 3 i 2
12 Zi Z2 Yi Xi 3 4 2 i 3 3 2 i
Отметим еще раз, что номера 3 и 4, обозначающие элементы третьей выборки объемом 2, во всех вариантах сохраняют порядок, что и является условием генерации точного распределения для любого рангового критерия, в то время как порядковые номера первой и второй выборок, имеющих единичные объемы, могут меняться местами.
Далее приведена программа генерации перестановок при наличии граничных условий.
1. <html>
2. <script>
3. var kk;
4. kk=0;
5. stat_crit();
6. function stat_crit() {
7. var kx; // количество выборок
8. var a=[]; // вектор порядковых номеров элементов выборок
9. var aindex=[]; //вспомогательный вектор индексов выборок
10. var m=[]; //вектор объемов выборок
11. var km;
12. var n; //суммарный объем выборок
13. kx=3;n=0;m[1]=1;m[2]=2;m[3]=2;
14. for (i=1;i<=kx;i++) n=n+m[i];
15. for (i=1;i<=n;i++) a[i]=i;
16. km=0;
17. for (i=1;i<=kx;i++) {
18. for (j=1;j<=m[i];j++) aindex[j+km]=i;
19. km=km+m[i];
20. }
21. omega(a,aindex,n,n);
22. }
23. function omega(a,aindex,n,mx) {
//рекурсивная функция генерации перестановок от 1 до n
24. var i,j,ss;
25. if (mx==1) {
// функция фильтрации и вывода на печать текущей перестановки элементов вектора a[1..n]
26. filter(true,n,a,aindex); }
27. else {
28. for (i=1;i<=mx;i++) {
29. ss=a[1];
30. for (j=1;j<=mx-1 ;j ++) a[j]=a[j+1];
31. a[mx]=ss;
32. omega(a,aindex,n,mx-1);
33. }
34. }
35. }
// функция фильтрации и печати текущей перестановки из kk=n !/(m[1]!*m[2]!*... *m[kx]!) вариантов
36. function filter(fltr,n,a,aindex) {
37. test=0;
38. if(fltr) {
39. if (test==0) {
40. for (i=1;i<=n;i++) {
41. for (j=i;j<=n;j++) {
//отмена вывода перестановки элементов при нарушении их порядковых номеров внутри выборки
42. if (aindex[a[i]]==aindex[a[j]] && a[i]>a[j]) {test=1;break;}
43. }
44. if (test==1) break;
45. }
46. } 47 }
48. if (test==0) {
49. kk++;
50. document.write(kk+". ");
// вывод на печать вектора a[1 ..n]
51. for (i=1;i<=n;i++) document.write(a[i]+" ");
52. document.write("<br>");
53 }
54 }««««««««««««««««««««„«
55. </script>
56. </html>
i =1
Программа содержит три основные функции. Первая функция - stat_crit (строки 6-20) формирует исходные данные рассмотренного выше примера и два вспомогательных вектора a и aindex размерности N, первый из которых представляет собой вектор порядковых номеров объединенной выборки, второй - вектор, содержащий номера выборок, как это показано в таблице.
Вторая функция - omega(a, aindex, n, n) (строки 23-35) является рекурсивной функцией генерации перестановок элементов от 1 до n, в строке 32 которой представлена процедура рекурсии с уменьшением на единицу объема объединенной выборки от n до 1. В этом случае (строка 26) реализуется фильтрация перестановок в соответствии с принятыми граничными условиями, для чего введена третья функция - filter(fltr, n, a, aindex) (строки 36-54). Отметим, что фильтрация производится при значении параметраfltr=true (строка 38), в противном случае выводятся все варианты перестановок. На выходе этой функции выводятся элементы вектора a с учетом граничных условий, как показано в таблице.
Все остальные действия, необходимые для расчета статистик ранговых критериев, являются достаточно тривиальной вычислительной задачей и в данной работе не обсуждаются.
Полная версия программы с открытым кодом размещена на Javascript по ссылке http://inteh.mpei. ru/programs/stat/Menu/stat_tree.html. В данном комплексе рассмотрены четыре непараметрических критерия: двухвыборочный критерий Уилкоксона [1-4], критерий серий [7], критерий Лемана-Розен-блатта [8] и критерий Краскела-Уоллиса [3, 4], точные распределения статистик которых, по мнению авторов, представляют наибольший интерес, по крайней мере, для технических задач. Очевидно, что представленный алгоритм может быть использован и для других ранговых критериев проверки статистических гипотез.
Для полноты картины рассмотрим указанные критерии, за исключением критерия серий, распределение статистики которого не требует вычисления рангов, а может быть подсчитано [7, 9] более простым способом, что и реализовано в полной версии программного комплекса.
Двухвыборочный критерий Уилкоксона предназначен для проверки гипотезы об отсутствии сдвига двух независимых выборок, то есть об отсутствии различия между медианами двух совокупностей при одинаковом, но произвольном распределении [1, 2]. Пусть x1, x2, ..., xm - случайная выборка из F(x-6x), yi, >"2, ..., yn - случайная выборка из F(y-Qy) (m < n). Функцию распределения F не предполагают симметричной, но форма распределения должна быть одинаковой для двух совокупностей. Для проверки нулевой гипотезы о том, что обе выборки извлечены из одной и той же совокупности H0: Д= 6y - 6x = 0 против альтернативы HA: Д ^ 0 строят вариационный ряд из к = m + n
наблюдений и присваивают им ранги, равные порядковому номеру наблюдения в общем вариационном ряду. Далее рассчитывают сумму рангов меньшей выборки в общем вариационном ряду:
т
V = Е ^.
г=1
Для проверки нулевой гипотезы Н0: Д = 0 при альтернативной гипотезе НА: Д < 0 должно выполняться неравенство Ж > Жаь При альтернативной гипотезе НА: Д > 0 должно выполняться неравенство Ж < Жаи. При двусторонней альтернативной гипотезе НА: Д ^ 0 должно выполняться неравенство Жа1 < Ж < Жаи с уровнем значимости 2а.
Критерий Лемана-Розенблатта проверяет гипотезу об однородности двух выборок. Проверяется нулевая гипотеза о том, что две выборки извлечены из одной и той же генеральной совокупности, то есть Н0: Е(х) = О(х) при любом х. Статистика критерия рассчитывается по формуле
1
n 1 m / \ 2
S (R - i )2 S ( - j )
j=i
где Я,, Sj - ранги первой выборки объемом п и второй объемом т в общем вариационном ряду. Нулевую гипотезу принимают, если ю2 < ю2 с уровнем
значимости а. В противном случае принимают альтернативную гипотезу.
Критерий Краскела-Уоллиса обобщает задачу о двух выборках на случай к выборок: X], I = 1, ..., к, ] = 1, ..., П], с функциями распределения ¥(х - 6]), где п - число наблюдений в ]-й выборке. Нулевая гипотеза утверждает, что к выборок из произвольных совокупностей можно рассматривать как одну (объединенную) выборку из общей совокупности, то есть подтверждается равенство параметров сдвига 6], когда не задано значение общего параметра масштаба Н0: 61 = 62 = ... = 6к против альтернативы НА: 61, ..., 6к не все равны. Для проверки нулевой гипотезы строят общий вариаци-к
онный ряд из п = ^ щ наблюдений и рассчитывают
статистику: 12
H = ■
£R
•S — - з • (n +1)
(п + 1) г=1 п
где Яг - сумма рангов 1-й выборки в общем вариационном ряду.
Нулевую гипотезу принимают, если Н < На с уровнем значимости а. В противном случае принимают альтернативную гипотезу.
Другим способом проверки выборочной гипотезы к является попарное сравнение выборок по критерию Уилкоксона с вычислением точных критических значений.
Таким образом, разработанный алгоритм, являющийся реализацией метода рекурсивной компью-
œ2 =
n • m
i=1
терной комбинаторики, может быть использован для решения задачи проверки статистических гипотез, связанной с определением критических значений критериев. Учитывая, что для большинства ранговых критериев определение точных распределений является сложной задачей с математической и вычислительной точек зрения, представленная в работе методика генерации точных распределений критериев средствами компьютерной комбинаторики является эффективным решением.
Литература
1. Кендалл М.Дж., Стьюарт А. Теория распределений. М.: Наука, 1966.
2. Кендалл М.Дж., Стьюарт А. Статистические выводы и связи. М.: Наука, 1973. 899 с.
3. Хеттманспергер Т. Статистические выводы, основанные на рангах. М.: Финансы и статистика, 1987. 334 с.
4. Холлендер М., Вулф Д. Непараметрические методы статистики. М.: Финансы и статистика, 1983. 518 с.
5. Агамиров Л.В., Агамиров В.Л., Вестяк В.А. Численные методы и алгоритмы расчета точных распределений непараметрических критериев проверки статистических гипотез // Вестн. МАИ. 2013. Т. 20. № 4. С. 212-218.
6. Агамиров Л.В. Методы статистического анализа механических испытаний. М.: Интермет Инжиниринг, 2004. 127 с.
7. Шуленин В.П. Математическая статистика. Ч. 2: Непараметрическая статистика. Томск: Изд-во НТЛ, 2012. 388 с.
8. Леман Э. Проверка статистических гипотез. М.: Наука, 1964. 498 с.
9. Липский В. Комбинаторика для программистов. М.: Мир, 1988. 200 с.
Software & Systems Received 09.09.16
DOI: 10.15827/0236-235X.030.2.257-260 2017, vol. 30, no. 2, pp. 257-260
RECURSIVE ALGORITHM FOR EXACT CALCULATION OF RANK TESTS FOR TESTING STATISTICAL HYPOTHESES
L. V. Agamirov ', Dr.Sc. (Engineering), Professor, mmk@mati.ru
V.A. Vestyak 2, Ph.D. (Physics and Mathematics), Associate Professor, v.a.vestyak@mail.ru V.L. Agamirov, Ph.D. (Engineering), analist, avl095@mail.ru
1 National Research University "MPEI", Krasnokazarmennaya St. 14, Moscow, 111250, Russian Federation
2 Moscow Aviation Institute (National Research University), Volokolamskoe Highway 4, Moscow, 125993, Russian Federation
Abstract. The paper considers the method of generating exact distributions of nonparametric rank tests by means of the computer combinatorial theory.
Relevance of the work consists in the fact that determination of exact distribution of critical values of rank tests for statistical hypotheses testing is complicated by the fact that the exact tables and recurrence formulas for many of the tests do not exist. In addition, approximations often give unsatisfactory results at limited volumes of observations.
The task of calculating the distribution for rank tests is a search of all possible sample permutations and calculations of rank statistics, as well as cumulative frequency of their occurrence.
The program of generating permutations of elements of samples for nonparametric rank criteria based on the recursive brute-force algorithm of direct enumeration of order statistics vector permutation is developed with the following limited number of options: in all permutation options the elements from the same sample cannot be swapped. It is a universal condition for all the rank criteria exact distributions.
The paper refers to the Internet resource that contains the software package implementation of the considered calculation algorithm for a rank test. This complex contains four nonparametric criteria: two-sample Wilcoxon test, Lehmann-Rosenblatt test, series test and Kruskal-Wallis test, whose accurate distribution statistics are of greatest interest for technical problems. The algorithm can be used for other rank tests of statistical hypotheses testing.
The paper presents an implementation of the generation method of nonparametric rank test exact distributions by computer combinatorial means. It is based on the developed by the authors recursive direct enumeration of options of order statistics vector permutation with following filtration of the results. Thus, the authors solve the problem of determining the critical values of nonparametric rank tests for testing statistical hypotheses.
Keywords: nonparametric rank tests, hypothesis testing, exact distribution, combinatorics, algorithm, program, JavaScript.
References
1. Kendall M.G., Stuart A. The Advanced Theory of Statistics. Vol. 1. Distribution Theory. Charles Griffin Publ., 4th ed., 1952 (Russ. ed.: Moscow, Nauka Publ., 1966).
2. Kendall M.G., Stuart A. The Advanced Theory of Statistics. Vol. 1. Inference and Relationship. Hafner Publ. Company, 3rd ed., 1961, 676 p. (Russ. ed.: Moscow, Nauka Publ., 1973, 899 p.).
3. Hettmansperger T.P. Statistical Inference Based on Ranks. NY, J. Wiley and Sons Publ., 1984 (Russ. ed.: Moscow, Finansy i statistika Publ., 1987, 334 p.).
4. Hollander M., Wolfe D. Nonparametric Statistical Methods. Wiley Publ., 1999 (Russ. ed.: Moscow, Finansy i statistika Publ., 1983, 518 p.).
5. Agamirov L.V., Agamirov V.L., Vestyak V.A. Numerical methods and algorithms of calculation of exact distributions of non-parametrical criteria statistical hypotheses. Vestnik MAI [Vestnik Moskovskogo Aviatsionnogo Instituta]. 2013, vol. 20, no. 4, pp. 212-218 (in Russ.).
6. Agamirov L.V. Metody statisticheskogo analiza mekhanicheskikh ispytany [The Methods of Mechanical Test Statistical Analysis]. Moscow, Intermet Inzhiniring Publ., 2004, 127 p.
7. Shulenin V.P. Matematicheskaya statistika [Mathematical Statistics]. Tomsk, NTL Publ., 2012, 388 p.
8. Lehman E.L. Testing Statistical Hypotheses. J. Wiley & Sons Publ., NY, 1959 (Russ. ed.: Moscow, Nauka Publ., 1964, 498 p.).
9. Lipsky B. Kombinatorika dlyaprogrammistov [Combinatorics for Programmers]. Moscow, Mir Publ., 1988, 200 p.