
- •В.Ю. Третьяков, в.П. Кулеш автоматизированная обработка экологической информации
- •Введение
- •Типовые задачи геоэкологических исследований
- •Проверка данных на однородность Параметры геосистем как случайные величины
- •Законы распределения случайных величин
- •Проверка выборки на соответствие нормальному распределению при помощи экспресс-метода
- •Построение гистограммы частотного распределения
- •Критерии согласия
- •Проверка соответствия распределения выборки нормальному закону по критерию Крамера-Мизеса-Смирнова(nω2)
- •Критерий хи-квадрат (Пирсона)
- •Критерий Колмогорова
- •Проверка соответствия распределения выборки нормальному закону по критерию Колмогорова
- •Построение совмещенной гистограммы распределений двух выборок
- •Параметрические критерии
- •Критерий Стьюдента
- •Проверка однородности двух групп данных по критерию Стьюдента
- •Критерий Фишера
- •Проверка однородности двух групп данных по критерию Фишера
- •Непараметрические критерии
- •Рангово-сумарный критерий Уилкоксона-Манна-Уитни
- •Проверка однородности двух групп данных по критерию Уилкоксона-Манна-Уитни
- •Ранговый критерий рассеяния Зигеля-Тьюки
- •Проверка однородности двух групп данных по критерию Зигеля-Тьюки
- •Интерполяция и фильтрация данных
- •Линейная интерполяция
- •Сплайновые интерполяции
- •Фильтрация и сглаживание
- •Запись данных в файл
- •Зависимость между параметрами
- •Расчет коэффициента парной корреляции
- •Регрессия
- •Заключение
- •Рекомендованная литература
- •Содержание
- •Автоматизированная обработка экологической информации
- •199061, С.-Петербург, Средний пр., 41.
Рангово-сумарный критерий Уилкоксона-Манна-Уитни
Сравниваются две группы данных (выборки) из генеральных совокупностей X и Y длиной m и n (m n). Если значение xi меньше yj, то xi образует инверсию с yj. Подсчитывается суммарное число инверсий для всех X и Y – U1 и U2. За оценку числа инверсий U* принимается меньшее из значений U1 и U2. Распределение U-статистики является симметричным с МО mu и дисперсией Du:
mu = (mn)/2, Du = mn(m+n+1)/12.
При m8 и n 8 функция распределения нормированной величины статистики U может быть с достаточной точностью аппроксимирована стандартным нормальным распределением. Доверительный интервал для статистики U при уровне значимости 2 имеет вид:
mu – t1-u U < mu + t1-u,
где t1- - квантиль стандартного нормального распределения, т.е. значение x, вероятность непревышения которого равна 1-. U-критерий – один из наиболее строгих непараметрических критериев, так как статистика U – очень сложная функция от среднего значения, эксцесса и асимметрии. U-критерий наиболее чувствителен к различию выборок по характеристикам положения (например, моды или среднего арифметического, т.е. оценки математического ожидания), но весьма слабо реагирует на разницу дисперсий.
Однако критерий Уилкоксона-Манна-Уитни требует, чтобы все элементы обоих выборок имели уникальные значения, т.е. в обоих наборах данных не должно быть совпадающих значений. Но в реальности это часто встречающийся случай. Для возможности применения данного делаем все значения уникальными путем изменения равных значений на крайне малую величину. Если есть равные данному значению элементы в обеих выборках (группах данных), то изменение значений, т.е. фактически их ранжирование производится при помощи генератора случайных чисел. В приводимом ниже примере реализован именно такой способ. Разумеется, такой подход вносит небольшой элемент случайности. Можно пойти и другим путем: ставить принадлежащие разным выборкам элементы с равными значениями поочередно.
Проверка однородности двух групп данных по критерию Уилкоксона-Манна-Уитни
v1
v2
Задание точности (критерия различимости значений) и величины, на которую будут различаться исходно равные элементы:
tochnost:=0.00000001 delta:=0.0000001
Определение величины выборок:
Ранжирование выборок:
Выясняем число уникальных значений:
unz1: = t 1
for i 0..(n1-1)
predzn v1_sorti if i = 0
otherwise
tekzn v1_sorti
razn tekzn – predzn
if razn > tochnost
t (t + 1)
predzn tekzn
t
unz1=44
unz2: = t 1
for i 0..(n2-1)
predzn v2_sorti if i = 0
otherwise
tekzn v2_sorti
razn tekzn – predzn
if razn > tochnost
t (t + 1)
predzn tekzn
t
unz2=15
Создаем новые матрицы - первый столбец - уникальное значение, второй - число повторений, третий - номер выборки:
Matr1unz1-1,2:=0 Matr2unz2-1,2:=0
Matr1:= k 0
povtor 1
for 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 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 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 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 0..(nu-1)
tekzn Ui,0
tekn1 Ui,1
tekn2 Ui,2
if (tekn1=1) (tekn2=0)
Tablk,0 tekzn
Tablk,1 1
k k+1
if (tekn1=0) (tekn2=1)
Tablk,0 tekzn
Tablk,1 2
k k+1
for j 0..(tekn1-1) if (tekn1>1) (tekn2=0)
povtzn tekzn + (deltaj)
Tablk,0 povtzn
Tablk,1 1
k k+1
for j 0..(tekn2-1) if (tekn1=0) (tekn2>1)
povtzn tekzn + (deltaj)
Tablk,0 povtzn
Tablk,1 2
k k+1
if (tekn1>0) (tekn2>0)
f12 tekn1 + tekn2
f1 tekn1
f2 tekn2
povtnum 0
while (f1>0) (f2>0)
sluch rnd(1)
povtzn tekzn + (deltapovtnum)
povtnum povtnum + 1
if sluch0.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 0..(f2-1) if f1=0
povtzn tekzn + (deltapovtnum)
povtnum povtnum + 1
Tablk,0 povtzn
Tablk,1 2
k k+1
for j 0..(f1-1) if f2=0
povtzn tekzn + (deltapovtnum)
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 0..(nUnik-1)
nvib Uniki,1
if nvib=1
vect1k Uniki,0
k k+1
vect1
vector2:= k 0
for i 0..(nUnik-1)
nvib Uniki,1
if nvib=2
vect2k Uniki,0
k k+1
vect2
Определение числа инверсий:
u1:=r 0
for i 0..(n1-1)
tekx vector1i
for j 0..(n2-1)
r r + 1 if tekx< vector2j
r
u2:=r 0
for i 0..(n2-1)
teky vector2i
for j 0..(n1-1)
r r + 1 if teky< vector1j
r
u1=1158 u2=1945 sumu:=u1+u2 sumu=3103 mn:=n1n2 mn=3103
Необходимое условие правильности расчётов: сумма инверсий должна быть равна произведению размеров выборок.
Определение оценки числа инверсий по меньшему значению:
u:=u1 if u1<u2
u2 otherwise
Определение оценок математического ожидания и дисперсии
U-статистики:
mu:=mn/2 Du:=mn(n1+n2+1)/12
Выполнение теста:
задание уровня значимости:
t:=qnorm[(1- ),0,1]
lev_gran:= mu-(tsigma)
prav_gran:=mu+(tsigma)
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.”
Критерий Уилкоксона-Манна-Уитни является аналогом критерия Стьюдента для проверки близости оценок математических ожиданий двух выборок, закон распределения хотя бы одной из которых отличается от нормального.