| Алгоритмы
семейства ВАНГА [1] предназначены для заполнения пробелов в таблицах с
разнотипными переменными
[2]. Начнем с описания алгоритмов для таблицы, все n
признаков в которой измерены в одной и той же шкале отношений.
Пусть А - таблица с пропущенным элементом а(ij). Все другие элементы таблицы известны. Для выбора компетентной подтаблицы размером в s строк и q столбцов воспользуемся следующей процедурой. Выберем элемент a(lk). На пересечениях i-й и l-й строк с j-м и k-м столбцами находятся четыре элемента таблицы: a(lk), a(lj), a(ik) и неизвестный элемент a(ij). Если признаки связаны сильной прямой зависимостью, то отношение двух элементов k-го столбца будет таким же или почти таким, как и отношение двух элементов j-го столбца. Тогда из предполагаемого равенства отношений a(lk):a(ik) = a(lj):a(ij) можно получить вариант a' оценки ("подсказки") заполняемого элемента: a'lk = a(lj)*a(ik):a(lk). Повторив эту процедуру для всех других элементов таблицы, мы получим (n-1)*(m-1) вариантов подсказок: a'11, a'12,..., a'lk,..., a'(n-1)(m-1). Выделим из них подсказки, полученные с участием элементов l-й строки, и найдем их дисперсию Dl. Величину Ll = 1:(Dl+1) примем в качестве меры компетентности l-й строки. Ll достигает максимального значения 1, если дисперсия Dl равна нулю, и убывает с ростом дисперсии, оставаясь положительной величиной. Аналогично по дисперсии Dk подсказок с участием всех элементов k-го столбца найдем его компетентность Lk = 1:(Dk+1). Сформируем компетентную подтаблицу A', включив в нее s самых компетентных строк и q самых компетентных столбцов. Процесс заполнения пробела алгоритмом ВАНГА-О состоит в следующем. Присоединяем к таблице A' элементы j-го столбца и i-й строки. Перебираем все четверки элементов, которые находятся на пересечении двух столбцов - j-го и k-го и двух строк - i-той и l-той. Неизвестный элемент a(ij), входящий в состав всех этих четверок, вычисляем по описанному выше способу и получаем s*q вариантов подсказок: a'11, a'21,..., a's1, a'12, a'22,..., a'lk,..., a'sq. Окончательное решение о значении пропущенного элемента получаем в виде средневзвешенной суммы подсказок: Если данные в таблице А замерены в шкале интервалов, то минимальным "подсказывающим" элементом в алгоритме ВАНГА-И будет подматрица, состоящая из шести элементов, стоящих на пересечениях двух столбцов (j и k) и трех строк (i-,l-, и t-й). Инвариантом шкалы интервалов является отношение разностей двух любых пар элементов одного и того же столбца. Основываясь на этом и на гипотезе о прямой связи между j-тым и k-тым столбцами, можно записать: Основываясь на таких оценках, выберем s наиболее компетентных строк. Аналогичным способом найдем и q наиболее компетентных столбцов, сформировав в итоге компетентную подматрицу s на q. Компетентность каждого элемента этой подматрицы L(lk) = Ll*Lk. Описанным выше методом найдем подсказки от элементов этой подматрицы и получим окончательный вариант заполнения пропущенного элемента, усреднив подсказки с их с весами L(lk). О доверии к этому результату можно судить по величине P = 1:(D+1), где D - дисперсия всех подсказок от компетентной подматрицы. Если все признаки в таблице A измерены в шкале порядка, то пробелы в ней заполняются алгоритмом ВАНГА-П. Преобразуем все столбцы, приведя их значения к шкале нормированных рангов [2]. Инвариантным к преобразованиям шкалы порядка являются суждения такого рода: если a(lk)>a(ik), то и a(lj)>a(ij). Отсюда получается один из трех возможных вариантов "подсказки": то в каждый накопитель с номером, большим v, добавим величину, равную 1:(m-v). Если же подсказка a'ij < v, то в ячейки от 1-й до (v-1)-й добавим величину равную 1:(v-1). В итоге в каждой ячейке накопится величина, отражающая "число голосов" за принадлежность предсказываемого значения к тому или иному рангу. После нормировки суммы всех "голосов" к единице неопределенность подсказок можно оценить по энтропии m H = -S pv*log pv , где pv - доля голосов за ранг v. v=1 Компетентность k-го столбца примем равной Lk = 1 : (H+1). При "единодушном" голосовании за один и тот же ранг положительная величина Lk достигает максимального значения, равного 1. Если в процессе работы со всеми столбцами накапливать подсказки, получавшиеся при участии элементов l-й строки, то описанным выше путем можно получить оценку ее компетентности Ll. Пользуясь этими оценками можно выбрать компетентную подтаблицу A', содержащую s строк и q столбцов. Компетентность каждого элемента a(lk) этой подтаблицы примем равной L(lk)=Li*Lk. Повторим определение подсказок с участием всех s*q элементов из A'. Теперь для получения общего результата в накопители будем добавлять соответствующие доли не от единицы, а от величины L(lk). Распределение набранных рангами голосов позволяет найти окончательное решение: пропущенному значению присваивается ранг, набравший наибольшее количество голосов. Энтропия полученного распределения голосов Н позволит нам оценить степень доверия P к этому результату: P = 1: (H+1). Собрав подсказки, полученные с участием всех элементов l-й строки, мы аналогичным способом найдем ее компетентность Ll. Таким путем выбирается компетентная подтаблица из s строк и q, имеющих наибольшие компетентности. Компетентность каждого элемента (lk) этой подтаблицы равна L(lk) = Ll*Lk. От каждого элемента подтаблицы получается своя подсказка, которая учитывается в счетчике голосов "за" и "против" с весом соответсвующей компетентности. Если величины wf для всех имен окажутся отрицательными, то делается вывод о том, что пропущенное имя не входит в состав d имеющихся имен. Среди имен, имеющих положительную величину wf, выбирается имя с wfmax и это имя вставляется в пустую клеточку таблицы. Мерой доверия к принятому решению может служить величина, найденная через энтропию распределения голосов, как это описано выше. Если в исходной таблице более, чем один пропуск, то предсказывать можно каждый пропущенный элемент независимо от других ("параллельная" стратегия) или поочередно с использованием всех элементов, как исходных, так и предсказанных на предыдущих шагах ("последовательная" стратегия). При последовательной стратегии нужно начинать с предсказания того элемента, для которого получаемая степень доверия максимальна. 1. Загоруйко Н.Г., Елкина В.Н., Лбов Г.С. Алгоритмы обнаружения эмпирических закономерностей. - Новосибирск: Наука, 1985. - 110 с. 2. Супес П., Зинес Дж. Основы теории измерений / /Психологические измерения.- М.: Мир, 1967.- С. 9-100. |