Программа заполнения пропусков данных в двумерных массивах

Содержание

Слайд 2

Актуальность В реальности приходится сталкиваться с ситуацией, когда некоторые из свойств

Актуальность

В реальности приходится сталкиваться с ситуацией, когда некоторые из свойств одного

или нескольких объектов отсутствуют – возникает ситуация данных с пропусками, что значительно осложняет математическую обработку, так как смещение основных статистических характеристик, таких как выборочное среднее или стандартное отклонение, например, возрастает прямо пропорционально числу пропусков.
Слайд 3

Пути решения проблемы На сегодняшний день в математической статистике существует несколько

Пути решения проблемы

На сегодняшний день в математической статистике существует несколько путей

решения проблемы неполных данных :
1) исключение некомплектных объектов из исходной выборки;
2) метод взвешивания или метод максимального правдоподобия и ЕМ-алгоритм;
3)методы заполнения по среднему и по регрессии;
Мы будем развивать последний из указанных подходов в направлении, называемым нами методом самоподобия.
Слайд 4

Постановка задачи Пусть имеется большой двумерный массив однородных данных со случайными

Постановка задачи

Пусть имеется большой двумерный массив однородных данных со случайными пропускам

в произвольных местах. Предполагается, что эти данные имеют экономический смысл, например, это могут быть ряды наблюдений за ценами на номер в отеле в каком-то городе (см. след. слайд). Здесь цены измерены в долларах, период наблюдений- 600 дней, общее число отелей -200 .
Слайд 5

Ценовые данные с пропусками (фрагмент).

Ценовые данные с пропусками (фрагмент).

Слайд 6

Постановка задачи Пустые места в таблице образовались из-за того, что отели

Постановка задачи

Пустые места в таблице образовались из-за того, что отели не

всегда предоставляли информацию о ценах на свои номера.
Как видно из таблицы, можно выделить большие и малые пропуски в начале, в середине и в конце некоторых столбцов. Традиционное в таких случаях заполнение пропусков по среднему в данной ситуации, может сильно исказить реальную картину и не работает для пропусков в начале или в конце ряда наблюдений.
В этой связи актуальным является построение алгоритма, учитывающего динамику изменения цены в отелях со «сходной» ценовой политикой.
Слайд 7

Метод самоподобия При конструировании алгоритма восстановления данных мы будем руководствоваться «гипотезой

Метод самоподобия

При конструировании алгоритма восстановления данных мы будем руководствоваться «гипотезой избыточности

данных». Точнее говоря, мы отталкиваемся от того, что механизм формирования цены может повторяться от отеля к отелю и от одного временного отрезка к другому. Это позволит нам подобрать нужные столбцы и строки таблицы для заполнения пропусков по регрессии.
Метод самоподобия включает в себя 2 этапа:
1.Кластеризация рядов наблюдений (поиск и выделений групп отелей с близкой ценовой политикой).
2. Восстановление пропусков в столбцах данных с использованием динамики изменения цен в других столбцах, соответствующим отелям, принадлежащих одному и тому же кластеру.
Этап №1 можно провести с использованием пакетов прикладных программ для стандартизованных данных.
Слайд 8

Процедура заполнения пропусков. Перейдём к процедуре непосредственного заполнения пропусков. Будем предполагать,

Процедура заполнения пропусков.

Перейдём к процедуре непосредственного заполнения пропусков. Будем предполагать, что

разбиение отелей на кластеры по принципу близости ценовой политики уже произошло. Тогда динамика изменения цен на номера в отелях одного кластера будет схожей. Для выработки стратегии восстановления данных, рассмотрим несколько характерных случаев:
Слайд 9

Случай № 1: 1)Пропуск приходится на понедельник-четверг. Если пропуск приходится на

Случай № 1:

1)Пропуск приходится на понедельник-четверг. Если пропуск приходится на понедельник,

то мы берем значения цен в понедельник и делим их поочерёдно на значения цен во вторник для отелей данного кластера. Ищем среднее значение получившихся чисел. Для отеля с пропуском данных в понедельник (но известной цены на вторник) значение цен вторника умножаем на X̅.
Слайд 10

Пример: На рис. 1 ситуация с пропуском в понедельник. [B67]/[B68]=27.3/27.2=1.0036; [D67]/[D68]=44.4/44.1=1.0068;

Пример: На рис. 1 ситуация с пропуском в понедельник.
[B67]/[B68]=27.3/27.2=1.0036; [D67]/[D68]=44.4/44.1=1.0068;
Среднее

значение=1.0056; [C67]=1.0056*[C68]=1.0056*32.4=32.6;
Рис. 1. Пример с пропуском в понедельник.

Пример для случая № 1:

Слайд 11

2) Если пропуск приходится на пятницу-воскресенье. Если пропуск приходится на пятницу,

2) Если пропуск приходится на пятницу-воскресенье.
Если пропуск приходится на пятницу, то

мы берем значения цен в пятницу данного кластера, делим их поочерёдно на значения цен пятницы следующей недели данного кластера. Ищем среднее значение получившихся чисел. Для отеля с пропуском данных в пятницу значение цен следующей пятницы умножаем на X̅.

Случай № 2:

Слайд 12

Пример: На рис. 2 показана ситуация с пропуском в воскресенье. [C45]/[C52]=22.4/21.1=1.0616;

Пример: На рис. 2 показана ситуация с пропуском в воскресенье.
[C45]/[C52]=22.4/21.1=1.0616;

[D45]/[D52]=25.6/24.5=1.0448;
Ср. значение=1.0526; [B45]=1.0526*[B52]=1.0526*26=27.4
Рис. 2. Пример с пропуском в воскресенье

Пример для случая № 2:

Слайд 13

Случай № 3: 3) Если пропуски идут сплошной линией, начиная с

Случай № 3:

3) Если пропуски идут сплошной линией, начиная с самого

первого дня, то мы берем значения цен тех дней данного кластера, на которые приходится последний пропуск. Делим их поочерёдно на значения цен следующих дней данного кластера. Ищем среднее значение X̅ получившихся чисел. Для отеля с пропуском данных значение цен следующего дня умножаем на X̅. Аналогично заполняем пропуски которые идут сплошной линией, начиная с последнего дня.
Слайд 14

Пример: На рис. 3 показана ситуация с сплошной линией пропусков, начинающейся

Пример: На рис. 3 показана ситуация с сплошной линией пропусков, начинающейся

с самого первого дня.
[B46] / [B47]=37.0/37.0=1; [D46] / [D47]=31.1/31.1=1;
Среднее значение=1; [C46]=1*[C47]=1*46.6=46.6
Рис. 3. Пример со сплошной линией пропусков, начинающейся с самого первого дня.

Пример для случая № 3:

Слайд 15

Программа заполнения пропусков. Программный продукт предназначен для заполнения пропусков данных методом

Программа заполнения пропусков.

Программный продукт предназначен для заполнения пропусков данных методом самоподобия

с использованием персонального компьютера.
Для того чтобы воспользоваться программой необходимо открыть исполняемый файл «project_hotels.exe». Интерфейс программы выглядит следующим образом :
Слайд 16

Интерфейс программы.

Интерфейс программы.

Слайд 17

При нажатии кнопки «Запустить расчет» открывается заданный документ с исходными данными,

При нажатии кнопки «Запустить расчет» открывается заданный документ с исходными данными,

затем цикл проходит по всем первым строкам и по всем последним. В случае если найдена пустая ячейка, запускается функция определения значения методом 3 или 4 (в зависимости какая строка, первая или последняя). После этого запускается второй цикл, прохода всех ячеек, с первой до последней. В случае если обнаружена пустая ячейка, которая приходится на понедельник-четверг запускается функция определения значения методом 1, если (пятница-воскресенье) - методом 2.
Слайд 18

Используемые технические средства Программа написана на Embarcadero Delphi XE2. Для работы

Используемые технические средства

Программа написана на Embarcadero Delphi XE2. Для работы требуется

современный компьютер с установленным пакетом MS Office (обязательно с установленным табличным процессором Excel). Тестирование проходило на MS Excel 2003.
Слайд 19

Результат работы программы.

Результат работы программы.

Слайд 20

Вывод На основе описанного алгоритма проведена автоматизация восстановления пропусков данных в двумерных массивах.

Вывод

На основе описанного алгоритма проведена автоматизация восстановления пропусков данных в двумерных

массивах.
Слайд 21

Список литературы Поиск отелей [Электронный ресурс]: услуги бронирования номеров. – URLРежим

Список литературы

Поиск отелей [Электронный ресурс]: услуги бронирования номеров. – URLРежим доступа:

http://www.hotels.com/
Литтл, Р.Дж.А.  Статистический анализ данных с пропусками / Р.Дж.А. Литтл , Д.Б. Рубин.  Пер. с англ. – Москва: Финансы и статистика, 1990.- 336 с.
Загоруйко, Н.Г. Прикладные методы анализа данных и знаний/ Н.Г. Загоруйко. – Новосибирск: Изд-во Ин-та математики, 1999. – 270 с.
Богатов, Е.М. Кластеризация неполных данных в пакете STATISTICA/ Е.М. Богатов, В.П. Богатова // Материалы XI Всерос. научно-практической конф. с медународ. участием «Современные проблемы горно-металлургического комплекса. Наука и производство» (Старый Оскол, 3-5 декабря 2014 г.) – Старый Оскол, ОАО ОЭМК, 2014, Т.2. С. 374-378.