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

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

В.С. Гиоргашвили, М.А. Бакаев

Аннотация — Проблема неполноты данных весьма характерна при проведении социологических, экономических и статистических исследований с использованием онлайн-данных. Возможными причинами неполноты данных могут быть: ошибки и изменения на площадках-источниках данных, сбои и ошибки в работе инструментов, осуществляющих сбор данных и т.п. Поскольку для прогнозирования ситуации на рынке труда наличие пропусков в данных обычно нежелательно, то предпочтительное решение - заполнить недостающие значения с применением подходящего метода, не приводящего к искажению результатов. В данной статье представлен обзор методов устранения неполноты данных и описано применение метода k-средних для заполнения пропусков в собранных нами онлайн-данных. Для сбора данных по рынкам труда ряда регионов Сибирского ФО использовалась специализированная веб-майнинговая программная система, которая с 2011 г. и по настоящий момент извлекла и сохранила для анализа более 2 млн. уникальных наборов данных (вакансий и резюме). Эффективность использованного метода проверяется посредством сравнения полученных результатов (восстановленных средних заработных плат и количества вакансий) с данными, которые были позднее собраны с использованием механизмов API онлайн-площадок Также мы применяем интегрированную модель авторегрессии скользящего среднего (ARIMA) для прогнозирования спроса на рынке труда относительно ИТ-специалистов. Сравнение предсказанных и дополнительно собранных в 2018 г. данных позволяет сделать вывод о применимости предложенной модели для мониторинга и управления на рынке труда.

Ключевые слова— качество данных, пропуски в данных, веб-майнинг, рынок труда, k-среднее, прогнозирование рынка труда

I. Введение

В настоящее время активно разрабатываются и применяются программные системы, предназначенные для сбора и обработки онлайн-данных [1]. Среди систем с открытым исходным кодом можно, например, отметить платформы Nutch and Solr, основанные на проекте Apache Lucene. Nutch извлекает, анализирует и индексирует для каждого URL-адреса все связанные ресурсы в соответствии с рядом ограничений, таких как глубина ссылки с корневой страницы, которая должна

Статья получена 22.10.2018.

Работа выполнена при финансовой поддержке РФФИ/РГНФ в рамках научного проекта № 17-32-01087 ОГН а2.

Гиоргашвили Виктория Сергеевна, Новосибирский государственный технический университет, магистр, (e-mail: vikagiorgashvili@mail.ru). Бакаев Максим Александрович, Новосибирский государственный технический университет, доцент, канд. техн. наук, с.н.с. (e-mail: maxis81@gmail.com).

сканироваться, и максимальное количество страниц, которые будут извлекаться. Solr используется для поиска любых типов данных и для поиска веб-страниц. К основным функциям этой платформы относятся полнотекстовый поиск, фасетный поиск, динамическая кластеризация, интеграция с базами данных и расширенная обработка документов. Широко также применяются специализированные (как правило, коммерческие) программные инструменты для анализа настроений, сбора отзывов из социальных сетей и т.д. В ходе использования таких систем при проведении разнообразных социологических, экономических и статистических исследований типична ситуация, когда необходимо обработать пропуски в массивах данных. Так, при работе с данными по рынку труда, собранными из онлайн-источников, нами была отмечена неполнота данных о значении средней заработной платы для отдельных сфер деятельности и регионов. То есть система сбора данных в отдельные периоды не собирала информацию с онлайн-площадок и, следовательно, база данных системы не пополнялась. Это, как правило, связано с изменением структуры программного кода веб-страниц площадок или, в некоторых случаях, со сбоем в работе самой системы.

Используя информацию, представленную в семантически организованном виде, т.е. собранную с помощью API источников, неизбежны некоторые недостатки данного способа сбора данных. К ним относится ограничение на количество одновременных запросов и на количество обращений, которые приложение может делать в единицу времени. Кроме того, необходимо постоянно отслеживать изменения в API и обновлять приложение по сбору данных, причем некоторые площадки предоставляют важные данные не в полном объеме или на платной основе.

Сбор данных с веб-страниц, который изначально был реализован в разработанной нами программной системе, вполне оправдывает себя на практике, но имеет собственные недостатки. Так, при обработке данных система исключает все ненужные поля веб-страниц (шапка и подвал сайта, новостные и рекламные баннеры и пр.), оставляя только контент. Проблемы извлечения информации в данном случае могут быть связанны с изменением структуры веб-станиц в контентной части сайта. В БД системы каждому полю веб-страницы соответствует свой маркер (обычно идентификатор тега div), но изменение структуры сайта может приводить к тому, что поля перестают соответствовать заголовкам, что может приводить к сбою в сборе данных. Во избежание этого необходимо периодически отслеживать корректность осуществления сбора (проверять БД

вручную или реализовать скрипт мониторинга с соответствующей логикой) и производить реконфигурации полей, либо вносить элементы искусственного интеллекта, чтобы система автоматически подстраивалась под относительно мелкие изменения веб-страниц.

Разработанная нами программная система (работает с 2011 г., изначально создавалась для нужд Комитета по труду мэрии г. Новосибирска) предназначена для поддержки принятия решений при управлении рынком труда. Система может автоматически собирать данные из указанных источников в интернете, которые открыто и массово публикуют вакансии, связанные с объявлениями о работе. Архитектура системы включает в себя три основных уровня:

1. Модуль сбора данных, отвечающий за доступ к исходным веб-сайтам и извлечение данных с вебстраниц.

2. Модуль обработки, отвечающий за структурирование данных. В настоящее время он извлекает информацию, связанную с вакансиями и резюме, и их конкретные свойства, а также классифицирует рабочие места по отраслям.

3. Модуль анализа, напрямую отвечающий за поддержку принятия решений и предоставление возможности для составления отчетов, фильтрации, уведомлений и т.д. [2, с. 26].

Рассматриваемая система для сбора, структурирования и анализа онлайн-данных (применяемая для мониторинга рынка труда в нескольких сибирских регионах, см. [3, с. 18]) не имеет встроенных механизмов для коррекции пропусков в данных, в связи с чем возникла необходимость подбора метода для устранения неполноты данных. В данной статье мы приводим краткий обзор методов, существующих в этой области, применяем метод ^средних для заполнения «пробелов» в данных по рынку труда и оцениваем качество полученных результатов, сравнивая их с дополнительно собранными системой данными.

II. Обзор методов устранения неполноты данных

На сегодняшний день существует множество методов, позволяющих устранить неполноту данных, каждый из которых имеет свои преимущества и недостатки:

1. Исключение из таблицы строк с пропусками. Метод применяется в случае с таблицей большой размерности и при незначительном количестве пропусков. В противном случае такой метод приводит к смещению оценок, потому как строки с пропущенными значениями содержат информацию, необходимую для анализа. Главным недостатком данного метода является потеря информации при изъятии неполных данных.

2. Заполнение пропусков средними по столбцу значениями. Применение данного метода целесообразно только в том случае, когда пропуски в данных по переменным случайны и сам механизм пропусков несущественен. Недостатками такого метода являются вносимые изменения в распределение данных и уменьшение дисперсии.

3. Метод ближайших соседей. Суть метода состоит в поиске строк таблицы, которые являются ближайшими

по определенному критерию к строке с пропуском. Для его заполнения значения переменной (в установленном столбце) в соседних строках усредняются с конкретными весовыми коэффициентами, которые обратно пропорциональны расстоянию к строке, в которой есть пропуск. Такой метод точнее предыдущего, но он практически неприменим в случае большого количества пропусков, т.к. опирается на существование связей между строками в таблице.

4. Метод регрессии. По имеющимся данным осуществляется построение уравнения множественной линейной регрессии и вычисляются пропущенные значения переменных. Метод нельзя применить в случае, когда количество пропусков в строке больше одного, поскольку это приводит к множеству решений, и вместе с тем его точность является невысокой, поскольку в реальных задачах зависимости могут быть нелинейными [4, с. 52].

5. Алгоритм ZET. Основная идея алгоритма состоит в подборе «компетентной матрицы». Оперируя данными из этой матрицы, находят параметры зависимости, применяемой для прогнозирования пропущенного значения. Недостаток алгоритма заключается в его локальности, потому как для вычисления пропущенного значения используется лишь некоторая часть данных таблицы, а не все. По данным компонентной матрицы строится функциональная зависимость прогнозируемого значения от соответствующего значения в компетентной матрице, на основе которой затем прогнозируется значение пропуска [5, с. 264].

6. Resampling метод. Данный метод является итерационным и имеет две модификации, основанные на построении регрессионных моделей с последующим усреднением полученных оценок для пропущенных значений. Преимущество такого метода - повторное использование исходных данных, т.к. увеличение числа подвыборок позволяет наиболее точно использовать исходную информацию. Недостаток данного метода заключается в том, что объем новой информации уменьшается для каждой новой подвыборки, поскольку увеличивается вероятность того, что данные элементы выборки уже были выбраны раньше [4, с. 56].

7. Метод k-средних. При использовании данного метода, так же как в случае ближайших соседей, предполагается, что близкие по одним признакам строки должны быть близки и по другим признакам. Однако отличие метода состоит в том, что здесь осуществляется поиск не ближайших соседей для каждой строки с пропущенными значениями, а используется информация о центре кластера, куда попала конкретная строка с пропуском. Для разбиения на кластеры необходима начальная инициализация пропущенных значений [6, с. 282]. При использовании этого метода выполняется инициализация пропущенных значений с помощью замены средним значением по признаку, кластеризация производится методом k-средних. Пропущенные значения заменяются на соответствующие им значения центра кластера, в который попала каждая строка с пропуском. Этот алгоритм выполняется в течение нескольких итераций до сходимости или по достижению максимального

заданного числа итераций.

Для устранения неполноты имеющихся данных по рынку труда наиболее подходящим методом был признан метод k-средних, поскольку основным достоинством данного алгоритма является высокая скорость выполнения и эффективность в сравнении с другими методами, особенно в случае, когда речь идет о работе с крупными наборами данных.

III. Применение метода k-средних для заполнения

ПРОПУСКОВ В ОНЛАЙН-ДАННЫХ ПО РЫНКУ ТРУДА Основной причиной неполноты данных при применении системы онлайн-мониторинга рынка труда (подробное описание системы см. в [3, с. 17]) являлась изменчивость источников данных - площадок, служащих для размещения объявлений о вакансиях и резюме. При использовании метода k-средних объекты объединяются в кластеры так, что в один кластер

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

Неполные данные о значениях средней заработной платы по вакансиям и резюме и их количестве рассчитывались на основе имеющихся данных (использовался пакет Statistica). Для расчета были взяты данные по Новосибирской области за 2 полугодие 2016 года, представленные в таблице 1 (сбор за 2016 год). Для этого региона отсутствовали значения для таких сфер деятельности как «Страхование», «Торговля оптовая», «Недвижимость», «Телекоммуникация и связь», «Работа для студентов», «ТЭК, энергетика, добыча сырья», «Работа дома», «Туризм, гостиничное дело» и «Сельское хозяйство».

Таб. 1. Данные о вакансиях по Новосибирской области за 2 полугодие 2016 года

Сфера деятельности Сбор за 2016 год Сбор за 2017 год

Вакансий в среднем за неделю Средняя зарплата, руб./мес. Вакансий в среднем за неделю Средняя зарплата, руб./мес.

Страхование 0 0 0,08 19250

Спорт, красота, здоровье 1,04 29806 1,22 28833

Рабочие профессии 0,96 25449 1,85 29201

Прочее 9,63 34894 11,81 29846

Государственная служба 0,27 29000 0,50 35955

Торговля розничная 6,15 35253 6,96 32432

Торговля оптовая 0 0 0,26 37000

Рестораны, кафе, общепит 4,85 23278 4,85 23278

Транспорт 4,41 34541 5,93 32077

Промышленность непищевая 0,04 40000 0,04 40000

Высший менеджмент 0,08 60000 0,19 63375

Логистика, склад, закупки 7,44 28391 8,22 27743

Строительство, архитектура 3,67 34152 4,63 35707

Бухгалтерия, финансы, банки 3,81 31801 5,65 30654

ИТ и Интернет 10,56 38343 11,67 37399

Маркетинг, реклама, PR 2,00 31908 2,41 26594

Сфера услуг 1,38 31625 1,96 25844

Охрана и безопасность 2,22 20533 2,89 20248

Медицина и формация 1,93 27569 2,96 24542

Персонал офиса, АХО 4,15 24531 4,50 24029

Недвижимость 0 0 0 0

Юриспруденция 0,81 24577 0,96 25390

Образование, наука, языки 2,74 19212 3,63 19486

Продажа услуг 11,52 30805 12,19 31007

Работа для студентов 0 0 0,19 28750

Персонал для дома 1,04 27386 1,19 26060

Промышленность пищевая 13,41 32112 14,74 31656

Телекоммуникация и связь 0 0 0,15 24667

Полиграфия, издательства, СМИ 0,15 30000 0,42 33125

ТЭК, энергетика, добыча сырья 0 0 0,04 40000

Работа дома 0 0 0 0

Туризм, гостиничное дело 0,19 0 0,38 18600

Временная работа 0,12 34250 0,12 34250

Кадровые службы, НЯ 0,85 29850 1,00 27547

Сельское хозяйство 0 0 0,08 27500

Дизайн, творческие профессии 1,50 25170 1,79 26353

Всего за неделю/средняя ЗП: 96,92 31299 115,46 30128

Сначала восстанавливались данные по вакансиям. С помощью функции «Иерархическая классификация» было определено количество кластеров. Объектами в данном случае были выбраны наблюдения (строки) -сферы деятельности. В качестве меры близости использовалось Евклидово расстояние - геометрическое расстояние между переменными в многомерном пространстве, которое вычисляется по исходным, а не

по стандартизованным данным. Это обычный способ его вычисления, обладающий определенными преимуществами (например, расстояние между двумя объектами не изменяется при введении в анализ нового объекта, который может оказаться выбросом).

Исходя из визуального представления результатов, было выявлено, что сферы образуют 3 естественных кластера. Согласно методу к-средних, вычисления

начинались с к случайно выбранных наблюдений (к=3), которые становятся центрами групп, после чего объектный состав кластеров меняется с целью минимизации изменчивости внутри кластеров и максимизации изменчивости между кластерами. После изменения состава кластера вычисляется новый центр тяжести, чаще всего как вектор средних значений по каждому параметру. Алгоритм продолжается до тех пор, пока состав кластеров не перестанет меняться [7, с. 185]. В результате данные по вакансиям разбились по кластерам (Рис. 1-3).

Элементы кластера номер 1 и расстояния до центра кластера. Кластер содержит 9 набл.

объедин.

Страхование 5616.801

Торговля оптовая 431S.87

Высший менеджмент 6546,02

Строительство, архитектура 2593,74

Бухгалтерия, финансы, банки 4319,47

ИТ и Интернет 7384,76

Недвижимость 4786,33

Продажа услуг 3935,21

Телекоммуникация и связь 4782,60

Рис. 1. Первый кластер, содержит 9 наблюдений

Элементы кластера номер 2

и расстояния до центра кластера. Кластер содержит 15 набл.

объедин.

Спорт, красота, здоровье 510.461

Рабочие профессии 358,56

Прочее 1793,92

Транспорт, авто бизнес 275,24

Промышленность непищевая 1612,12

Логистика, склад закупки 839,35 В

Маркетинг, реклама, РИ 2591,31 1

Медицина и формация 2357,47

Юриспруденция 207,90

Промышленность пищевая 1024,56

Полиграфия, издательства, СМИ 1837,97

ТЭК. энергетика, добыча сырья 3433,97

Кадровые служ&ы НР: 1377,02

Сельское хозяйство 566,47

Дизайн, творческие профессии 949,09

Рис. 2. Второй кластер, содержит 15 наблюдений

Элементы кластера номер 3 и расстояния до центра кластера. Кластер содержит 11 набл.

объедин.

ГосударстЕенная служба 179.40

Торговля розничная 1701 05

Рестораны, кафе, о&целнт 1291,97

Сфера услуг 1S1.08

Охрана и безопасность 1168,53

Образование, наука, языки 1046,05

Работа для студентов 144,67

Персонал для дома 37,62

Работа дома 1643,34

Туризм, гостиничное дело 1521,55

Временная работа 2931,74

Рис. 3. Третий кластер, содержит 11 наблюдений

Для того чтобы заполнить отсутствующие значения в соответствующих строках, было использовано среднее значение по каждому кластеру, в которые попали сферы с отсутствующими значениями параметров. Таким образом, можно предположить, что в среднем за неделю публиковалось 3,3 вакансий в сферах «Страхование», «Торговля оптовая» и «Недвижимость», а средняя заработная плата по этим сферам составила 21678 руб./месяц (рис. 4).

перемен. Описат.статистики для кластера 1 Кластер содержит В набп.

Среднее Стандарт отклон. Дисперс.

Вакансии в среднем за неделю 3,231 3,64 19,40

Сдедняя з/п, руЬ/мес 21577,91 19269,25 440824581,00

Рис.4. Среднее количество вакансий и средняя заработная плата для первого кластера

Аналогичным образом заполнялись отсутствующие данные для остальных сфер деятельности, которые попали во 2 и 3 кластеры. Таким образом, в ходе вычислений были получены следующие результаты:

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

2. В сферах «Работа для студентов», «Работа дома», «Телекоммуникация и связь» количество опубликованных в среднем за неделю вакансий составило 1,7, а значение средней заработной платы -20049 руб./месяц

3. В сфере «Туризм, гостиничное дело» отсутствовало значение средней заработной платы, в ходе вычислений этот показатель составил 21678 руб./месяц.

В сентябре 2017 года в работу системы были внесены некоторые изменения для запуска сбора данных на основе API онлайн-площадок. Таким образом, в конце 2017 года удалось восстановить некоторые пропуски в данных за предыдущие периоды. Но вместе с тем, как можно заметить из таблицы 1 (сбор за 2017 год), произошли изменения и в некоторых значениях по остальным сферам деятельности. Если сравнивать значения показателей, рассчитанные методом k-средних и данные собранные системой новым способом, то можно заметить что есть расхождения в значениях (таблица 2).

Сфера деятельности Данные, собранные на конец 2017 года Данные собранные методом k-средних Отклонение

Вакансий в среднем за неделю Средняя зарплата, руб./мес. Вакансий в среднем за неделю Средняя зарплата, руб./мес. Вакансии Зарплата

Страхование 0,08 19250 3,3 21678 -97,6% -11,2%

Торг.оптовая 0,26 37000 3,3 21678 -92,1% +70,7%

Недвижимость 0 0 3,3 21678

Работа для студентов 0,19 28750 1,7 20049 -88,8% +43,4%

Телекоммуникация и связь 0,15 24667 3,3 21678 -95,5% +13,8%

ТЭК, энергетика, добыча сырья 0,04 40000 5,7 25170 -99,3% +58,9%

Работа дома 0 0 1,7 20049

Туризм, гостиничное дело 0,38 18600 0,19 20049 +100% -7,2%

Сельское хозяйство 0,08 27500 5,7 25170 -98,6% +9,3%

Таб. 2. Сравнение значений показателей, полученных разными способами

В данных, собранных в 2017 году, среднее количество публикуемых за неделю вакансий во всех областях не превысило 1, в отличие от рассчитанных нами данных методом к-средних. Но значения заработной платы незначительно отличаются в таких областях как «Страхование», «Телекоммуникация и связь», «Туризм, гостиничное дело», «Сельское хозяйство». Для профессий в сферах «Недвижимость» и «Работа дома» в значениях показателей снова присутствуют пропуски. Если эти значения также вычислить методом к-средних, то получим, что среднее количество вакансий собранных новым способом в сфере «Недвижимость» -3,86, в сфере «Работа дома» - 2, а средняя заработная плата - 31006 руб./месяц и 24082 руб./месяц соответственно. Таким образом, учитывая эти расчеты, можно заметить, что значения по среднему количеству публикуемых вакансий близки со значениями, рассчитанными ранее, чего нельзя сказать о значениях средней заработной платы.

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

1. В среднем за неделю в сфере «Сельское хозяйство» публиковалось 3,37 вакансий, а средняя заработная плата составила 27369,71 руб./месяц.

2. В сфере «ТЭК, энергетика, добыча сырья» количество опубликованных в среднем за неделю вакансий составило 2,45, а значение средней заработной платы - 25044,19 руб./месяц.

3. В сферах «Торговля оптовая», «Недвижимость» и «Телекоммуникация и связь» в среднем за неделю было опубликовано 3,06 вакансий, а средняя заработная плата составила 12521,19 руб./месяц.

4. В сфере «Страхование» среднее количество опубликованных в неделю вакансий - 3,6, значение средней заработной платы - 33123,81 руб./месяц.

5. В сферах «Работа для студентов», «Работа дома» и «Туризм, гостиничное дело» количество опубликованных в среднем за неделю вакансий составило 1,93, а значение средней заработной платы -20422,38 руб./месяц.

6. В сфере «Туризм, гостиничное дело» значение средней заработной платы составило 20422,38 руб./месяц.

IV. Анализ полученных результатов

ВОССТАНОВЛЕНИЯ И РАЗВИТИЕ МЕХАНИЗМА СБОРА ДАННЫ1Х

В целом можно сделать вывод, что применение метода к-средних в данном случае не привело к эффективному устранению пропусков в данных. Вероятно, это связанно с тем, что метод подразумевает случайный

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

В рамках борьбы за полноту данных был реализован их сбор через механизмы API, предоставляемые площадками. API используется для извлечения данных с сайта и записи их в базы данных (т.е. является интерфейсом между сайтом поиска работы и системой сбора вакансий-резюме). Система взаимодействует по различным API с разными сайтами поиска работы, такими как HH.ru, Zarplata.ru, Trudvsem.ru.

Для всех трех площадок работа с API осуществляется по протоколу HTTPS. Для HH.ru и Zarplata.ru авторизация осуществляется по протоколу OAuth2. Для сайта HH.ru API поддерживает технологию CORS для запроса данных из браузера с произвольного домена. Для отладки запросов с использованием CORS доступен специальный URL в API: /cors, который поддерживает методы HEAD, GET, POST, PUT, DELETE [8]. Для площадки Trudvsem.ru все вызовы API реализуются HTTP-методом GET, предназначенным для получения информации от сервера. Количество записей, включаемых в ответ на запрос, не превышает 10 000 шт. [9]. В случае с сайтом Zarplata.ru вызовы реализуются HTTP-методом POST [10]. Ответы на запрос в API во всех трех случаях формируется только в формате JSON. Даты форматируются в соответствии с ISO 8601: YYYY-MM-DD. Метод GET используется для запроса содержимого указанного ресурса. Согласно стандарту HTTP, запросы типа GET считаются идемпотентными, т.е. то есть многократное повторение одних и тех же запросов будет возвращать один и тот же результат. Метод HEAD аналогичен методу GET. Запрос HEAD обычно применяется для извлечения метаданных, проверки наличия ресурса (валидация URL) и чтобы узнать, не изменился ли он с момента последнего обращения. В отличие от метода GET, метод POST не считается идемпотентным, то есть многократное повторение одних и тех же запросов POST может возвращать разные результаты. PUT применяется для загрузки содержимого запроса на указанный в запросе URI. DELETE удаляет указанный ресурс.

V. Прогнозирование рынка труда на основе

ПОЛУЧЕННЫХ ДАННЫХ В СФЕРЕ ИТ

С помощью собранных с сайтов поиска работы данных структурирования этих данных, возникает массив чисел, отражающий динамику спроса и предложения на рынке труда ИТ-специалистов. Для прогнозирования рынка труда использовался пакет Statistica. Одним из способов обработки полученных зависимостей является аппарат временных рядов, который позволяет выявить возможные сезонности в колебаниях спроса/ предложения на рынке труда и построить прогноз на определенный интервал времени в будущем. Временной ряд отличается от простой выборки данных, поскольку при анализе учитывается не только статистическое разнообразие и статистические характеристики выборки, но и взаимосвязь измерений со временем [11].

Прогнозная модель строится для данных собранных

системой по Новосибирской области для сферы «ИТ и интернет» на год вперед. Имеется набор данных с мая 2013 года по май 2018 (таблица 3). В таблице отражены среднее значение предлагаемой на рынке заработной платы и количество публикуемых ежемесячно вакансий в рассматриваемой сфере. В ходе анализа было выявлено что временные ряды переменных «Средняя з/п» и «Количество публикуемых вакансий» являются стационарными и имеют сезонности (рис. 5-6). Значения этих переменных возрастают каждые полгода.

ноя-2016 34941 268

дек-2016 31383 236

янв-2017 30828 244

фев-2017 30328 217

мар-2017 37349 359

апр-2017 36671 267

май-2017 35988 249

июн-2017 33863 233

июл-2017 31478 218

авг-2017 29241 204

сен-2017 33956 338

окт-2017 31222 298

ноя-2017 30514 286

дек-2017 30479 275

янв-2018 29929 267

фев-2018 28952 216

мар-2018 32648 348

апр-2018 31993 245

май-2018 30112 157

Для прогнозирования средней заработной платы и количества, публикуемых в месяц вакансий использовалась АРПСС модель скользящего среднего с параметром 1. Ошибка прогнозирования при этом составила 14,4% для значения средней заработной платы, и 12,5% для количества публикуемых вакансий.

На рисунках 7 и 8 представлены график прогноза значений средней зарплаты и график прогноза количества публикуемых вакансий соответственно. На графиках синим цветом выделен наблюдаемый (исходный) ряд, красным - спрогнозированное значение на год вперед, зеленым - верхние и нижние границы прогноза.

Прогнозирование на основе построенной модели предполагает, что сохраняются ранее существовавшие сезонности переменных и на период прогноза. На данный момент в системе сбора данных по рынку труда сформировались реальные значения показателей за июнь и июль 2018 года. За июнь значение средней заработной платы составляет 29142 рублей, а количество вакансий - 271, относительное отклонение от значений прогноза при этом для заработной платы -2%, а для количества вакансий - 10%. За июль значение средней заработной платы составляет 30794 рубля, а количество вакансий - 237, относительное отклонение от значений прогноза при этом для заработной платы -10%, а для количества вакансий - 5%. Таким образом, можно сделать вывод о том, что построенная прогнозная модель эффективна.

С каждым годом в сфере информационных технологий появляются новые направления, поэтому спрос на квалифицированных ИТ-специалистов будет только расти. Предложенный метод требует небольшое количество входных данных и дает более точный результат при краткосрочном прогнозировании спроса на рынке труда, тенденции развития которого в области ИТ являются индикатором состояния рынка современных технологий.

Таб. 3. Количество вакансий и значение заработной платы в

сфере «ИТ и интернет» в период с 2013 по 2018 год

Месяц-год Средняя заработная плата, ру6. Количество вакансий, шт.

май-2013 33681 254

июн-2013 33154 243

июл-2013 32873 235

авг-2013 31991 214

сен-2013 36474 333

окт-2013 35942 294

ноя-2013 35682 288

дек-2013 35214 287

янв-2014 34965 226

фев-2014 34719 208

мар-2014 36671 371

апр-2014 35444 297

май-2014 34395 251

июн-2014 34368 235

июл-2014 33161 214

авг-2014 30976 207

сен-2014 36924 368

окт-2014 35789 286

ноя-2014 35712 277

дек-2014 34659 249

янв-2015 33580 231

фев-2015 31778 204

мар-2015 35587 335

апр-2015 34739 289

май-2015 33916 258

июн-2015 33865 221

июл-2015 32484 232

авг-2015 30343 221

сен-2015 35838 349

окт-2015 34744 294

ноя-2015 33875 289

дек-2015 29364 257

янв-2016 27627 255

фев-2016 27135 247

мар-2016 38690 338

апр-2016 37560 292

май-2016 36530 273

июн-2016 35240 275

июл-2016 33961 269

авг-2016 33827 259

сен-2016 37710 323

окт-2016 35360 262

Рис. 5. График переменной «Средняя заработная плата»

Рис. 6. График переменной «Количество вакансий»

Прогнозы; Модель:(0,1,0)(0,1,1) Сезонный лаг: 6 Исход.:Средняя з/п (тыс. руб.) Начало исходных: 1 Конец исходн.: 61

— Наблюд. — Прогноз — ± 90,0000%

Рис. 7. График исследуемого и прогнозируемого ряда для средней заработной платы в ИТ-сфере на год вперед

Рис. 8. График исследуемого и прогнозируемого ряда для количества публикуемых вакансий в ИТ-сфере на год вперед

4GG

25G

15G 1GG

Прогнозы; Модель:(0,0,0)(0,1,1) Сезонный лаг: 6 Исход.:Кол-во вакансий Начало исходных: 1 Конец исходн.: 61

СО со ю Ю Ю CD

CD О О О О О О О

<4 Oi Oi Oi Oi Oi Oi <4

CK CL zc CÛ Ц >S

2 о с Ф Ш Q Ä CO

S I <C О e 5

4GG

25G

15G 1GG

Наблюд. Прогноз i 9G,GGGG%

45G

45G

35G

35G

3GG

3GG

2GG

2GG

VI. Выводы

В данной статье был представлен обзор наиболее распространенных методов восстановления пропусков в данных и осуществлено прогнозирование поведения рынка труда. Выбор метода устранения неполноты данных может зависеть от типов признаков, в которых имеются пропуски, от количества объектов, которые имеют пропущенные значения, а также от причины их возникновения. Применение эффективных методов позволило бы, с одной стороны, полностью устранить проблему отсутствия данных, а с другой - повысить точность прогнозируемых значений показателя. Основная идея при поиске решений заключалась в предположении о возможности спрогнозировать недостающую информацию, имея частичные данные в заданном периоде. В каждом случае необходим индивидуальный подбор метода обработки пропущенных значений. В рамках данной статьи для восстановления пропусков был использован на практике метод k-средних, реализуемый в пакете Statistica. В результате кластеризации удалось рассчитать значения для отсутствующих данных и заполнить все строки исходной таблицы по рынку труда для Новосибирской области. Но в ходе сравнения с новыми собранными данными удалось определить, что данный метод не является эффективным для заполнения пропусков. Для того чтобы получать наиболее точные данные, был предложен вариант сбора данных из API.

Построение прогнозов значений средней заработной платы и количества вакансий в сфере информационных технологий по Новосибирской области на 12 месяцев показал, что значимых изменений в направлении динамики данных показателей не предвидится. Сравнение прогнозируемых значений с уже полученными реальными данными за первые 2 месяца прогнозного периода показало, что с небольшой погрешностью модель оказалась эффективной. Прогноз дал основание полагать, что данные показатели будут возрастать с той же сезонностью, что и в предыдущих периодах.

Прогнозирование регионального спроса на рабочую силу и предлагаемую заработную плату позволяет получить интервальные оценки наиболее вероятных прогнозных значений этих показателей. Предложенный в статье метод краткосрочного прогнозирования дает теоретическое обоснование результатов прогнозирования при помощи моделей АРПСС. Как показал результат, объединение моделей авторегрессии и скользящего среднего в одной модели позволяет прогнозировать с удовлетворительной степенью точности.

Библиография

[1] Barcaroli G. Nurra A. Salamone S. Internet as Data Source in the Istat Survey on ICT in Enterprises // Austrian Journal of Statistics. 2015. Vol. 44. P. 31-43.

[2] Bakaev M., Avdeenko T. Data Extraction for Decision-Support Systems: Application in Labour Market Monitoring and Analysis // International Journal of e-Education, e-Business, e-Management and e-Learning. 2014. Vol. 4, № 1. P. 23-27.

[3] Bakaev M., Avdeenko T. Prospects and challenges in online data mining: experiences of three-year labour market monitoring project // Lecture Notes in Computer Science. 2016. Vol. 9714: Data Mining and Big Data. P. 15-23.

[4] Злоба Е., Яцкив И. Статистические методы восстановления пропущенных данных // Computer Modelling & New Technologies, 2002. Vol. 6, № 1. P. 51-61.

[5] Снитюк В.Е. Эволюционный метод восстановления пропусков в данных // VI МК "Интеллектуальный анализ информации". Сб. труд. - Киев, 2006. C. 262-271.

[6] MacQueen J. Some methods for classification and analysis of multivariate observations // Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. 1967. Vol. 1. P. 281-297.

[7] Боровиков В.П. Популярное введение в современный анализ данных в системе STATISTICA / Горячая линия-Телеком. М., 2013. — 288 с.

[8] Zarplata.ru API. URL: http://api.zp.ru/v1/ (дата обращения: 15.02.2018).

[9] HeadHunter API. URL: https://github.com/hhru/api/blob/master/docs/general.md (дата обращения: 15.02.2018).

[10] Открытые данные, API // Работа в России. Общероссийская база вакансий. URL: https://trudvsem.ru/opendata/apidesc (дата обращения: 15.02.2018).

[11] StatSoft. Электронный учебник по статистике. URL: http://statsoft.ru/home/textbook/default.htm (дата обращения: 27.04.2018).

Analysis and Forecasting for Labor Markets

Based on Online Data

Victoria S. Giorgashvili, Maxim A. Bakaev

Abstract — The problem of incomplete data is quite typical in sociological, economics or statistical studies that employ online data. The possible reasons for the incompleteness are: errors and changes at the data source websites, failures and errors in the instruments for collecting data, etc. Since missing data is generally undesirable in labor market forecasting, the preferred solution is filling-in the gaps through the use of an appropriate method that wouldn't bias the results. In our paper we present a brief review of methods for eliminating incompleteness of data and describe the application of the k-means method to fill the gaps in the labor market online data that we previously collected with a dedicated software system. We evaluate the effectiveness of the method by comparing the produced results (average wages and number of ads posted by the companies) with the data additionally collected by the system through the enhanced API-based mechanism. Further, we use autoregressive integrated moving average (ARIMA) model to provide forecasts for the labor market demand in IT specialists. Validation with the data subsequently collected for the last months of 2018 suggest reasonable accuracy of the model, which can be useful in labor market monitoring and management.

Keywords — data quality, missing data, web scraping, labor market, k-mean, prediction models

References

[1 ] Barcaroli G. Nurra A. Salamone S. Internet as Data Source in the Istat Survey on ICT in Enterprises // Austrian Journal of Statistics. 2015. Vol. 44. P. 31-43.

[2] Bakaev M., Avdeenko T. Data Extraction for Decision-Support Systems: Application in Labour Market Monitoring and Analysis // International Journal of e-Education, e-Business, e-Management and e-Learning. 2014. Vol. 4, # 1. P. 23-27.

[3] Bakaev M., Avdeenko T. Prospects and challenges in online data mining: experiences of three-year labour market monitoring project // Lecture Notes in Computer Science. 2016. Vol. 9714: Data Mining and Big Data. P. 15-23.

[4] Zloba E., Jackiv I. Statisticheskie metody vosstanovlenija propushhennyh dannyh // Computer Modelling & New Technologies, 2002. Vol. 6, # 1. P. 51-61.

[5] Snitjuk V.E. Jevoljucionnyj metod vosstanovlenija propuskov v dannyh // VI MK "Intellektual'nyj analiz informacii". Sb. trud. - Kiev, 2006. C. 262-271.

[6] MacQueen J. Some methods for classification and analysis of multivariate observations // Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. 1967. Vol. 1. P. 281-297.

[7] Borovikov V.P. Populjarnoe vvedenie v sovremennyj analiz dannyh v sisteme STATISTICA / Gorjachaja linija-Telekom. M., 2013. — 288 s.

[8] Zarplata.ru API. URL: http://api.zp.ru/v1/ (data obrashhenija: 15.02.2018).

[9] HeadHunter API. URL: https://github.com/hhru/api/blob/master/docs/general.md (data obrashhenija: 15.02.2018).

[10] Otkrytye dannye, API // Rabota v Rossii. Obshherossijskaja baza vakansij. URL: https://trudvsem.ru/opendata/apidesc (data obrashhenija: 15.02.2018).

[11] StatSoft. Jelektronnyj uchebnik po statistike. URL: http://statsoft.ru/home/textbook/default.htm (data obrashhenija: 27.04.2018).