МОДЕЛИРОВАНИЕ ДАННЫХ ПРИ ПОМОЩИ КРИВЫХ
ДЛЯ ВОССТАНОВЛЕНИЯ ПРОБЕЛОВ В ТАБЛИЦАХ
Часть 1.
Пусть задана прямоугольная таблица . Каждая строка таблицы А представляет собой вектор данных. В каждом векторе могут
присутствовать пропуски, которые обозначим @.
Необходимо
решить следующие задачи:
1. Наиболее точно определить значения пропущенных данных.
2. При необходимости так изменить данные в таблице, чтобы
они наилучшим образом соответствовали моделям, используемым для восстановления
пропусков в таблице.
3. Построить алгоритм для обработки новых строк с
пропусками, при условии что новые данные соответствуют тем же зависимостям, что
и в таблице.
Для
решения этих задач предлагается использовать метод последовательного
приближения множества векторов данных прямыми вида , то есть необходимо
найти наилучшее отображение таблицы матрицей . Для этого используем
метод наименьших квадратов.
Процедура нахождения матрицы приближения.
1.
Необходимо
минимизировать функционал
(1)
2. При фиксированных векторах yj и bj
значения xi,
доставляющие минимум форме (1), определяются из равенств ¶F/¶xi=0
следующим образом:
.
(2)
Начальные значения:
y – нормированное на 1 случайное значение, т.е. ; (3)
bj – среднее
значение в столбце, т. е. , где . (4)
3. По фиксированному xi,
можно сразу по явным формулам посчитать значения yj и bj,
доставляющие минимум форме (1). Они определяются из двух равенств ¶F/¶yj=0 и ¶F/¶bj=0 следующим образом:
Для каждого j имеем
систему из двух уравнений относительно yj и bj:
, где , , k=0..1, l=0..1.
Выражая
из первого уравнения bj и подставляя полученное значение во второе, получим:
, . (5)
4.
Критерий
остановки – или для некоторых , где – полученное за итерацию
уменьшение значения F (текущего значения).
Алгоритм решения задачи.
1. Пусть - номер текущей
итерации. - начальная
матрица. По (3) и (4) инициализируем начальные значения и .
2.
По (2) и (5)
находим значения векторов ,и .
3. Рассчитываем матрицу - наилучшее
приближение для текущей матрицы .
4.
По (1) вычисляем
значение и .
5.
Если или , то останов.
6. Иначе вычисляем и переход на шаг 2,
при этом , и - начальные значения для следующей итерации.
В результате работы данного алгоритма происходит последовательное
исчерпание матрицы . После итераций будет построена
последовательность матриц , или , исчерпывающая исходную матрицу A с заданной точностью.
Таким образом, матрица является решением
поставленных задач.
1.
Значения пропущенных данных определяются из значений соответствующих элементов матрицы
.
2. Для исправления исходной
таблицы ее заменяют матрицей .
3.
Опишем операцию восстановления данных в поступающей на обработку строке aj с пробелами (некоторые ). Для каждой матрицы по заданной строке
определим число и вектор :
;
;
;
……………..
;
;
Тогда для -факторного восстановления данных:
, .
Если пробелы отсутствуют, то описанный метод приводит
к обычным главным компонентам исходной таблицы данных. В этом случае, начиная с , (). В общем случае это не так и
центрирование к данным с пробелами неприменимо.
Также следует учесть, что при отсутствии пробелов,
полученные прямые будут ортогональны, то есть получим ортогональную систему
факторов (прямых). Исходя из этого, при неполных данных возможен процесс
ортогонализации полученной системы факторов, который заключается в том, что
исходная таблица восстанавливается при помощи полученной системы, после чего
эта система пересчитывается заново, но уже на полных данных.
(Материал заимствован из статьи А.А.Россиева.)
|