Головна

Уилкоксона-Манна-Уїтні

  1. Рангове-сумарний критерій Уилкоксона-Манна-Уїтні

v1

v2

Завдання точності (критерію розрізнення значень) і величини, на яку будуть відрізнятися від початку рівні елементи:

tochnost: = 0.00000001 delta: = 0.0000001

Визначення величини вибірок:

Ранжування вибірок:

З'ясовуємо число унікальних значень:

unz1: = et 1

efor i I 0 .. (n1-1)

e ? predzn v1_sorti if i = 0

e ? otherwise

e ? ? tekzn v1_sorti

e ? ? razn ?tekzn - predzn ?

e ? ? if razn> tochnost

e ? ? ?t (t + 1)

e ? ? ?predzn tekzn

e ?t

unz1 = 44

unz2: = et 1

efor i I 0 .. (n2-1)

e ? predzn v2_sorti if i = 0

e ? otherwise

e ? ? tekzn v2_sorti

e ? ? razn ?tekzn - predzn ?

e ? ? if razn> tochnost

e ? ? ?t (t + 1)

e ? ? ?predzn tekzn

e ?t

unz2 = 15

Створюємо нові матриці - перший стовпець - унікальне значення, другий - число повторень, третій - номер вибірки:

Matr1unz1-1,2: = 0 Matr2unz2-1,2: = 0

Matr1: = ? k 0

? povtor 1

? for i I 1 .. (n1-1)

? ? predzn v1_sort(I-1)

? ? tekzn v1_sorti

? ? razn ?tekzn - predzn ?

? ? if razn> tochnost

? ? ? k (k + 1)

? ? ? Tablk-1,0 predzn

? ? ? Tablk-1,1 povtor

? ? ? Tablk-1,2 1

? ? ? if i = (n1 - 1)

? ? ? ? Tablk, 0 tekzn

? ? ? ? Tablk, 1 1

? ? ? ? Tablk, 2 1

? ? ? povtor 1

? ?otherwise

? ? ? povtor povtor + 1

? ? ? if i = (n1 - 1)

? ? ? ? Tablk, 0 tekzn

? ? ? ? Tablk, 1 povtor

? ? ? ? Tablk, 2 1

?Tabl

Matr2: = ? k 0

? povtor 1

? for i I 1 .. (n2-1)

? ? predzn v2_sort(I-1)

? ? tekzn v2_sorti

? ? razn ?tekzn - predzn ?

? ? if razn> tochnost

? ? ? k (k + 1)

? ? ? Tablk-1,0 predzn

? ? ? Tablk-1,1 povtor

? ? ? Tablk-1,2 2

? ? ? if i = (n2 - 1)

? ? ? ? Tablk, 0 tekzn

? ? ? ? Tablk, 1 1

? ? ? ? Tablk, 2 2

? ? ? povtor 1

? ?otherwise

? ? ? povtor povtor + 1

? ? ? if i = (n2 - 1)

? ? ? ? Tablk, 0 tekzn

? ? ? ? Tablk, 1 povtor

? ? ? ? Tablk, 2 2

?Tabl

З'єднання обох матриць:

Matr: = stack (Matr1, Matr2)

Сортування отриманої матриці по зростанню значень:

M: = csort (Matr, 0)

Визначення кількості рядів в матриці:

nm: = rows (M) nm = 59

Визначення числа унікальних значень:

unzm: = ?t 1

?for i I 0 .. (nm-1)

? ? predzn Mi, 0 if i = 0

? ? otherwise

? ? ? tekzn Mi, 0

? ? ? razn ?tekzn - predzn ?

? ? ? if razn> tochnost

? ? ? ? t (t + 1)

? ? ? ? predzn tekzn

?t

unzm = 47

Оскільки значення в обох вибірках можуть повторюватися, створюємо нову матрицю, в якій записуємо число повторів для обох вибірок (воно може бути і нульовим). Створення об'єднаної матриці U: перший стовпець - унікальне значення, другий - число його повторів в першій вибірці, третій - число його повторів у другій вибірці.

U unzm-1,2 : = 0

U: = ? zapsled "false"

? k 0

? for i I 0 .. (nm-2)

? ? if zapsled = "false"

? ? ? teknvib Mi, 2

? ? ? slednvib Mi + 1,2

? ? ? if slednvib = teknvib

? ? ? ? Tablk, 0 Mi, 0

? ? ? ? if teknvib = 1

? ? ? ? ? Tablk, 1 Mi, 1

? ? ? ? ? Tablk, 2 0

? ? ? ? if teknvib = 2

? ? ? ? ? Tablk, 1 0

? ? ? ? ? Tablk, 2 Mi, 1

? ? ? ? k k + 1

? ? ? if slednvib ? teknvib

? ? ? ? tekzn Mi, 0

? ? ? ? sledzn Mi + 1,0

? ? ? ? razn ?tekzn - sledzn?

? ? ? ? if razn> tochnost

? ? ? ? ?Tablk, 0 Mi, 0

? ? ? ? ?if teknvib = 1

? ? ? ? ? ? Tablk, 1 Mi, 1

? ? ? ? ? ? Tablk, 2 0

? ? ? ? ?if teknvib = 2

? ? ? ? ? ? Tablk, 1 0

? ? ? ? ? ? Tablk, 2 Mi, 1

? ? ? ? ?k k + 1

? ? ? ? if razn ? tochnost

? ? ? ? ?Tablk, 0 Mi, 0

? ? ? ? ?if teknvib = 1

? ? ? ? ? ? Tablk, 1 Mi, 1

? ? ? ? ? ? Tablk, 2 Mi + 1,1

? ? ? ? ?if teknvib = 2

? ? ? ? ? ? Tablk, 1 Mi + 1,1

? ? ? ? ? ? Tablk, 2 Mi, 1

? ? ? ? ?k k + 1

? ? ? ? ?zapsled "true"

? ? zapsled "false" otherwise

?poslnvib Mnm-1,2

?predposlnvib Mnm-2,2

?if poslnvib = predposlnvib

? ? Tablk, 0 Mnm-1,0

? ? if poslnvib = 1

? ? ? Tablk, 1 Mnm-1,1

? ? ? Tablk, 2 0

? ? if poslnvib = 2

? ? ? Tablk, 1 0

? ? ? Tablk, 2 Mnm-1,1

?if poslnvib ? predposlnvib

? ? poslzn Mnm-1,0

? ? predposlzn Mnm-2,0

? ? razn ?poslzn-predposlzn?

? ? if razn> tochnost

? ? ? Tablk, 0 Mnm-1,0

? ? ? if poslnvib = 1

? ? ? ? Tablk, 1 Mnm-1,1

? ? ? ? Tablk, 2 0

? ? ? if poslnvib = 2

? ? ? ? Tablk, 1 0

? ? ? ? Tablk, 2 Mnm-1,1

?Tabl

Перевірка числа рядів матриці (унікальних значень):

nu: = rows (U) nu = 47

"Унікалізація" повторюваних значень.

Створення матриці Unik: перший стовпець - унікальне значення, другий - номер вибірки.

nobsh: = n1 + n2 nobsh = 136 Uniknobsh, 1: = 0

Unik: = ?k 0

?for i I 0 .. (nu-1)

? ? tekzn Ui, 0

? ? tekn1 Ui, 1

? ? tekn2 Ui, 2

? ?if (tekn1 = 1) U (tekn2 = 0)

? ? ? Tablk, 0 tekzn

? ? ? Tablk, 1 1

? ? ? k k + 1

? ? if (tekn1 = 0) U (tekn2 = 1)

? ? ? Tablk, 0 tekzn

? ? ? Tablk, 1 2

? ? ? k k + 1

? ?for j I 0 .. (tekn1-1) if (tekn1> 1) U (tekn2 = 0)

? ? ? povtzn tekzn + (delta ? j)

? ? ? Tablk, 0 povtzn

? ? ? Tablk, 1 1

? ? ? k k + 1

? ?for j I 0 .. (tekn2-1) if (tekn1 = 0) U (tekn2> 1)

? ? ? povtzn tekzn + (delta ? j)

? ? Tablk, 0 povtzn

? ? Tablk, 1 2

? ? k k + 1

? if (tekn1> 0) U (tekn2> 0)

? ? f12 tekn1 + tekn2

? ? f1 tekn1

? ? f2 tekn2

? ? povtnum 0

? ? while (f1> 0) U (f2> 0)

? ? ? sluch rnd (1)

? ? ? povtzn tekzn + (delta ? povtnum)

? ? ? povtnum povtnum + 1

? ? ? if sluch ? 0.5

? ? ? ? f1 f1-1

? ? ? ? Tablk, 0 povtzn

? ? ? ? Tablk, 1 1

? ? ? ? k k + 1

? ? ? otherwise

? ? ? ? f2 f2-1

? ? ? ? Tablk, 0 povtzn

? ? ? ? Tablk, 1 2

? ? ? ? k k + 1

? ? for j I 0 .. (f2-1) if f1 = 0

? ? ? povtzn tekzn + (delta ? povtnum)

? ? ? povtnum povtnum + 1

? ? ? Tablk, 0 povtzn

? ? ? Tablk, 1 2

? ? ? k k + 1

? ? for j I 0 .. (f1-1) if f2 = 0

? ? ? povtzn tekzn + (delta ? povtnum)

? ? ? povtnum povtnum + 1

? ? ? Tablk, 0 povtzn

? ? ? Tablk, 1 1

? ? ? k k + 1

?Tabl

Перевірка кількості унікальних значень:

nUnik: = rows (Unik) nUnik = 136

«Розкидання» значень, що належать до різних вибірках, за різними векторами.

vector1n1-1: = 0 vector2n1-2: = 0

vector1: = ? k 0

?for i I 0 .. (nUnik-1)

? ? nvib Uniki, 1

? ? if nvib = 1

? ? ? vect1k Uniki, 0

? ? ? k k + 1

?vect1

vector2: = ? k 0

?for i I 0 .. (nUnik-1)

? ? nvib Uniki, 1

? ? if nvib = 2

? ? ? vect2k Uniki, 0

? ? ? k k + 1

?vect2

Визначення числа інверсій:

u1: = ?r 0

?for i I 0 .. (n1-1)

? ? tekx vector1i

? ? for j I 0 .. (n2-1)

? ? r r + 1 if tekx j

?r

u2: = ?r 0

?for i I 0 .. (n2-1)

? ? teky vector2i

? ? for j I 0 .. (n1-1)

? ? r r + 1 if teky j

?r

u1 = 1158 u2 = 1945 sumu: = u1 + u2 sumu = 3103 mn: = n1 ? n2 mn = 3103

Необхідна умова правильності розрахунків: сума інверсій повинна бути дорівнює добутку розмірів вибірок.

Визначення оцінки числа інверсій за меншим значенням:

u: = ?u1 if u1

?u2 otherwise

Визначення оцінок математичного очікування та дисперсії

U-статистики:

mu: = mn / 2 Du: = mn ? (n1 + n2 + 1) / 12

Виконання тесту:

завдання рівня значущості:

t: = qnorm [(1-a), 0,1]

lev_gran: = mu- (t ? sigma)

prav_gran: = mu + (t ? sigma)

lev_gran = 1241.9 u = 1158 prav_gran = 1861.1

test_answer: = ? "odnorod ne oproverg." if (lev_gran?u) ^ (prav_gran> u)

? "odnorod oproverg." otherwise

test_answer = "odnorod oproverg."

Критерій Уилкоксона-Манна-Уїтні є аналогом критерію Стьюдента для перевірки близькості оцінок математичних очікувань двох вибірок, закон розподілу хоча б однієї з яких відрізняється від нормального.




Параметри геосистем як випадкові величини | Закони розподілу випадкових величин | Перевірка вибірки на відповідність нормальному розподілу за допомогою експрес-методу | Побудова гістограми частотного розподілу | критерії згоди | критерій Колмогорова | Побудова суміщеної гістограми розподілів двох вибірок | критерій Стьюдента | критерієм Стьюдента | критерій Фішера |

© 2016-2022  um.co.ua - учбові матеріали та реферати