Увольнение сотрудников

Основные подходы обнаружения предпосылок к увольнению у сотрудников. Теоретический обзор моделей и методов Data Mining. Подробное описание системы сбора данных учета рабочего времени. Апробация составленной прикладной модели с выбранными признаками.

Рубрика Менеджмент и трудовые отношения
Вид дипломная работа
Язык русский
Дата добавления 14.08.2016
Размер файла 691,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Приведём основные плюсы нечеткой логики, которые наиболее хорошо проявляются на примере примере общей задачи нечеткого управления. Если говорить кратко, то нечеткая логика позволяет удачно представить мышление человека. Очевидно, что в повседневной деятельности человек никогда не пользуется формальным моделированием на основе математических выражений, не ищет одного универсального закона, описывающего все окружающее. Он использует нечеткий естественный язык. В тот момент, когда человек принимает решение, он может легко овладеть ситуацией, разделить ее на события, а для отдельных событий принять соответствующие решение проблемы, руководствуюсь собственным опытом, а иногда используя весьма противоречивую логику. Таким образом, перед человеком возникает ряд локальных моделей, описывающих свойства фрагментов объектов в определенных условиях. Крайне важным является то, что все модели обладают некой общностью и очень просты для понимания на качественном уровне. Ярким примером каркаса подобной словесной модели является конструкция "если., то.".

Теперь определим три основные особенности нечеткой логики:

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

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

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

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

В общем случае можно предложить следующую схему реализации процесса управления: распознавание > предсказание > идентификация > принятие решения > управление.

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

Генетические алгоритмы

К числу универсальных методов оптимизации можно отнести генетические алгоритмы (ГА). Они позволяют решать задачи различных типов, такие как комбинаторные, общие задачи с ограничениями или без них.

В последнее время количество работ, описывающих развитие теории ГА, значительно возросло. Большая часть работ представлена зарубежным учеными, и они посвящены практическому использованию ГА. Часть этих исследование демонстрируют, что ГА имеет большие перспективы к широкому распространению при условии, что они будут интегрированы с другими технологиями и методами. Существуют исследования, демонстрирующие эффективность симбиоза ГА и методов теории нечеткости, а также с нейронными сетями и системами.

Несмотря на известные общие подходы к такой интеграции ГА и нечеткой логики, по-прежнему актуальна задача определения наиболее значимых параметров операционного базиса ГА с целью их адаптации в процессе работы ГА за счет использования нечеткого продукционного алгоритма (НПА). Стоит отметить что интеграция ГА и других алгоритмов имеет некоторый коммерческий успех.

Перечисленные далее причины коммерческого успеха инструментальных средств в области искусственного интеллекта могут рассматриваться как общие требования к разработке систем анализа данных, используемых ГА:

· Интегрированность. Разработка информационной системы (ИС) должна легко интегрироваться с другими технологиями и информационными средствами.

· Открытость и переносимость. Готовая ИС должна поддерживать кроссплатформенность и соответствовать стандартам. Это позволит исполнять функции ИС в разных программно-аппаратном окружение и обеспечит удобную переносимость на разные платформы без перепрограммирования.

· Использование языков традиционного программирования. ИС должны быть написана на языках традиционного программирования, например, C/C++. Это упростит интегрированность, улучшит возможности переносимости и снизит требования к аппаратному обеспечению, тем самым повысив быстродействие.

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

Интеграция ГА и нейронных сетей позволяет решать проблемы поиска оптимальных значений весов входов нейронов, а интеграция ГА и нечеткой логики позволяет оптимизировать систему продукционных правил, которые могут быть использованы для управления операторами ГА (двунаправленная интеграция).

Одним из наиболее востребованных приложений ГА в области Data Mining является поиск наиболее оптимальной модели (поиск алгоритма, соответствующего специфике конкретной области).

Нейронные сети

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

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

В результате мы получили нейронную сеть, выражающую закономерности, отраженные в исходных данных. В данном подходе результат является функциональным эквивалентом определенной модели зависимости между различными переменными. Этот подход схож с традиционным моделированием. Но в отличие от традиционных моделей, нейронные сети полученные зависимости не могут быть использованы в явном виде. Часто с помощью нейронных сетей можно получить весьма высокого качества результат, но этот результат - типичный пример нетеоретического подхода к исследованию. Иногда такой подход называются подходом "черного ящика". В данном подходе больше всего интересует практический результат, точность прогноза и их прикладная ценность. На втором плане остается суть механики, составляющая основу явления.

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

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

Некоторые авторы отмечают тот факт, что нейронные сети используют или, точнее, предполагают использование вычислительных систем с массовым параллелизмом. Например, Haykin в 1994 г. определил нейронную сеть следующим образом.

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

1. Сеть приобретает знания в результате процесса обучения.

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

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

Подробное описание системы сбора данных учета рабочего времени

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

Сама база данных состоит из 6 таблиц:

· Расписания пользователей.

· Расписания временных интервалов.

· Часы работы.

· Пользователи.

· Переносы рабочего времени.

· Отпуска и отгулы.

Таблица пользователей. Содержит основную информацию о сотрудниках. Какую-либо ценность могут представлять следующие поля:

· Уникальный идентификатор сотрудника.

· Департамент, в котором работает сотрудник.

· Булево поле - считать ли выходы через турникет в середине дня. Работа некоторых сотрудников заключается в различных поездках по городу, так что система не учитывает их многочисленные проходы в течение дня.

· Булево поле - уволился ли сотрудник или продолжает работать.

· Дата рождения без года.

· Возможность менять расписания для сотрудника

· Дата увольнения сотрудника. Не для всех заполнено.

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

· Уникальный идентификатор расписания.

· Сотрудник, имеющий отношение к данному расписанию.

· Время входа расписания в силу.

· Количество недель в данном расписании.

Расписания временных интервалов. Таблица временных интервалов расписания. Расширяет информацию из таблицы расписаний выше. Содержит информацию о времени начала рабочего дня и времени конца рабочего дня по дням недели. Состоит из следующий полей:

· Уникальный идентификатор.

· Идентификатор расписания.

· День недели.

· Номер недели.

· Время начала рабочего дня.

· Время конца рабочего дня.

Переносы рабочего времени. Содержит информацию о переносах рабочего времени и состоит из следующих полей:

· Уникальный идентификатор переноса.

· Пользователь имеющий отношение к данному переносу.

· Причина изменения расписания.

· Дата переноса.

· Время начала переноса.

· Время конца переноса.

· День отработки.

· Время начала отработки.

· Время конца отработки.

· Принят перенос руководителем или нет.

· Дата вступления в силу переноса.

Отпуска и отгулы. Содержит информацию о отпусках и отгулах сотрудников и состоит из следующих полей:

· Уникальные идентификатор отклонения.

· Идентификатор сотрудника.

· Время начала отпуска или отгула расписания.

· Время конца отпуска или отгула расписания

· Метка - отпуска или отгул.

Часы работы. Таблица, содержащая информацию о входах и выходах всех сотрудников через турникеты. Состоит из следующий полей:

· Уникальный идентификатор.

· Идентификатор сотрудника.

· Время захода.

· Время выхода.

Выбор модели и метода. Обоснование выбора

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

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

В качестве логической модели будем использовать алгоритм С4.5.

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

В качестве вероятностной модели будем использовать наивный байесовский классификатор.

Наивный байесовский классификатор - простой вероятностный классификатор, основанный на применении Теоремы Байеса со строгими (наивными) предположениями о независимости [22].

Вывод по теоретическому обзору

В данной теоретическом обзоре был сначала была описана база данных о рабочем времени сотрудников. Далее приведена классификация методов Data Mining. Были рассмотрены основные задачи, решаемые методами Data Mining, основные модели и основные методы. На основании классификации и изначальной базы данных были выбраны различные модели для решения задачи.

Формирование прикладной модели обнаружения предпосылок к увольнению у сотрудников

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

Методы и модели Data Mining, рассмотренные во второй главе данной магистерской работе, предполагают анализ данных для выявление каких-либо закономерностей на основе заранее определенной гипотезы. В нашем случае гипотеза имеет следующую формулировку:

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

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

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

Дополнительно будет сформирована тестовая выборка для проверки полученных результатов.

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

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

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

· Количество переноса графика рабочего времени. Предположение: чем чаще сотрудник начинает переносить рабочее время, тем вероятнее его ближайшее увольнение.

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

· Количество командировок. Предположение: сотрудник начинает чаще брать командировочные, вероятность уйти с работу повышается.

· Сезонность отпусков. Предположение: сотрудники, склоняющиеся к увольнению, берут отпуска в определенное время года.

· Количество выходов и входов из корпуса в течении рабочего дня. Предположение: сотрудники учащающие свое хождение за пределы офиса больше склоны к увольнению.

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

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

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

Формирование обучающей выборки

Обучающая выборка необходима для моделей Data Mining предполагающих использование учителя (например - C4.5). В процессе формирования обучающей выборки из первоначальной базы данных извлекаются неподготовленные данные, подготавливаются и только затем заносятся в алгоритм C4.5 или используются в наивном Байесовском классификаторе как первоначальный источник представителей классов.

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

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

В исследуемой базе данных имеется:

· 4 045 - всего сотрудников (независимо о статусе уволен или нет).

· 12 248 - расписаний для сотрудников (как было указано ранее - сотрудник мог их изменять и ходить на работу по новому расписанию).

· 1 038 784 - отклонений в расписании. Достаточно большое количество отклонений, которые нужно учитывать при немаленьком количестве расписаний.

· 4 363 934 - общее количество входов и выходов для сотрудников. Для каждого необходимо вычислить текущее расписание по дням недели с учетом возможного отклонения.

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

Для использования в реальных условиях рекомендуется обязательно включить в список данные метрики. Для их извлечения можно воспользоваться следующим T-SQL кодом (Листинг 1):

declare some_cursor cursor

for

SELECT [user_id]

, [working_day]

FROM [wt]. [dbo]. [working_days]

WHERE [time_in] IS NULL AND [time_out] IS NULL AND [working_day] IS NOT NULL

open some_cursor

declare @user_id int, @working_day date

fetch next from some_cursor INTO @user_id, @working_day

while @@FETCH_STATUS = 0

begin

INSERT INTO [wt]. [dbo]. [working_day_temporary] (time_in, time_out)

SELECT

CONVERT (TIME (0), [date_in]) as time_in

,CONVERT (TIME (0), [date_out]) as time_out

FROM [wt]. [dbo]. [t_workhours] WHERE [user_id] = @user_id AND

CONVERT (DATE, [date_in]) = CONVERT (DATE, @working_day) AND

CONVERT (DATE, [date_out]) = CONVERT (DATE, @working_day)

UPDATE [wt]. [dbo]. [working_days]

SET

[time_in] = (SELECT MIN ([time_in]) AS [time_in] FROM [wt]. [dbo]. [working_day_temporary])

, [time_out] = (SELECT MAX ([time_out]) AS [time_out] FROM [wt]. [dbo]. [working_day_temporary])

, [count_enter] = (SELECT COUNT (DISTINCT [time_in]) as count_enter FROM [wt]. [dbo]. [working_day_temporary])

WHERE [wt]. [dbo]. [working_days]. [working_day] = @working_day

AND [wt]. [dbo]. [working_days]. [user_id] = @user_id

DELETE FROM [wt]. [dbo]. [working_day_temporary]

fetch next from some_cursor INTO @user_id, @working_day

end

close some_cursor

deallocate some_cursor

Листинг 1. Извлечение метрик

Еще один вариант работы со сложными метриками - записывать в базу данных сразу готовые метрики, для того что бы снизить нагрузка на процесс вычисления их.

Стоить заметить, что у компании наблюдались массовые увольнения и необходимо их также рассмотреть. Проанализировав даты увольнений был получен следующий график (см. рис. 1):

Рисунок 1. График количества увольнений по датам

На рис. 1 представлен график количества увольнений по датам. Максимальное количество увольнений за день не превышает 124 человек. Судя по всему, в систему заносились данные об увольнении не сразу после подписания о расторжении трудового договора, а после определенных событий, предпосылки которых автору данной магистерской не известны. Стоит отметить что 124 человека за день - это максимальное количество увольнений за день, следующее по величине увольнений - всего 34 человека. Это еще раз свидетельствует, о том, что данные об увольнении заносились не сразу после непосредственного ухода сотрудника, а позже.

Следует ли очищать данные всплески из выборки и по-особому обрабатывать? Ответ скорее не следует, чем следует:

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

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

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

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

Важное замечание - часть сотрудников (каждый 200 из базы данных) не входит в первоначальную выборку. Это связанно с тем, что необходима тестовая выборка для проверки моделей Data Mining. Благодаря данной тестовой выборке появляется возможность проверить составленный прототип и сделать выводы об эффективности применения методов Data Mining в данной области.

Апробация составленной прикладной модели с выбранными признаками

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

Прототип реализован на языке программирования C#, ввиду его гибкости и простоты использования.

C# - объектно-ориентированный язык программирования, относится к группе языков с С-подобным синтаксисом. Для реализации прототипа он полностью подходит.

Среда программирования для разработки - Microsoft Visual Studio Community 2015. Данная среда является интегрированной средой разработки на языке C#, она предлагает отлаженную, простую для обучения и для серьезной разработки среду программирования.

Данное средство является бесплатной интегрированной средой и полностью отвечает заданным требованиям к разработке.

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

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

В общих чертах прикладная модель работает следующим образом:

1. Анализируем исходную базу данных.

2. Составляем гипотезу, в которой выделяем список метрик.

3. Извлекаем метрики. Часть данных оставляем под тестирование.

4. Анализируем через алгоритмы Data Mining. Проверяем работу алгоритма по тестовой выборке.

5. 5. Интерпретируем результат. Если результат неудовлетворителен, то возвращаемся к пункту 1 и делаем с учетом предыдущего опыта.

6. Реализуем уже автоматическую систему сигнализирования на основе составленной выше модели с удовлетворительными результатами.

Для запуска программ необходимо развернуть резервную копию исходной базы данных "wt. bak”. Данный файл необходимо импортировать в СУБД. В Данной магистерской диссертации автор использовал "Microsoft SQL Server Management Studio”. Успешно импортированная база данных будет выглядеть как на рис. 2.

Рис. 2. Успешно импортированная исходная база данных

После импорта базы данных необходимо будет запустить программу под названием recreatedDB. Программа проделает необходимые преобразования с базой данной перед использованием алгоритмов Data Mining. Программа не имеет графического интерфейса. Так как это прототип то, необходимо будет перед использованием программы также заменить строку подключения к импортированной ранее базе данных. За строку подключения в коде отвечает переменная "connectionString”, расположенная в файле Program. cs. После изменения значения переменной, программу необходимо будет заново скомпилировать и запустить.

После завершения работы вспомогательной программы, необходимо запустить алгоритм C4.5 и наивного байесовского классификатор. За это отвечает программа под названием C4.5_Bayes. В данной программе также необходимо изменить строку подключения, как и у предыдущей вспомогательной программы. У автора магистерской диссертации строка имела вид - @"Data Source = DESKTOP-KQI2HJ0; Initial Catalog=wt; " + "Integrated Security=SSPI; Pooling=False";

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

Интерпретация результатов апробации составленной прикладной модели

Запускаем прототип с определёнными метриками (как это сделать было описано ранее). Результат работы прототипа представлен на ниже (см. рис. 3).

Рисунок 3. Результат работы прототипа

Данный скриншот показывает, как сначала открывается потом с СУБД и считываются данные о пользователях, извлекаются метрики. После закрытия потока с СУБД все данные хранятся уже в оперативной памяти компьютера и уже начинает работать алгоритм C4.5, который строит дерево решений. После вывода дерева решений, алгоритм запускает проверку тестовой выборки (см. рис. 4).

Рисунок 4. Проверка С. 4.5

В тестовой выборке содержится 405 сотрудников и изменения изменились у 44 сотрудников, то есть у 10.86% процентов алгоритм не смог угадать - уволится сотрудник или нет. Вполне возможно, что данные сотрудники уже, как раз уволились и алгоритм сделал все верно (наша база данных не синхронизируется с настоящей).

Далее запускается алгоритм наивного байесовского классификатор, который сразу после выявления вероятностей запускает проверку тестовой выборки (см. рис. 5).

Рисунок 5. Проверка наивного байесовского классификатора

У тех, кто собирается уволиться процент ошибки составляет 40%.

У тех, кто собирается остается процент ошибки составляет 33%.

Если посмотреть общий процент отклонения, то он составляет 34,23%. Достаточно высокий процент ошибки по сравнению с алгоритм С4.5 Но стоит отметить что это вероятностная модель и она показывает вероятность того, что сотрудник уволиться. Вполне возможно, что поведение сотрудника соответствует стереотипу человека с желанием уволиться, но он просто не решается этого делать. Так же стоит и здесь отметить, что наша база не является актуальной.

Вывод по сформированной прикладной модели и ее апробации

В последней, проектной части данной магистерской диссертации были определены метрики для анализа методами Data Mining и было приведено обоснование выбора. Далее была произведена попытка извлечения метрик. Была произведения не большая модификация исходной базы данных для удобства извлечения метрик. Часть метрик не удалось извлечь ввиду большого количества данных и относительно не большой вычислительной мощи.

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

Заключение

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

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

Во второй части магистерской диссертации был представлен теоретический обзор методов и моделей Data Mining. Также в ней было приведено описание исходной базы данных для анализа. В качестве модель исследования были выбраны алгоритмы C4.5 (логическая модель) и наивный байесовский классификатор (вероятностная модель).

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

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

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

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

Словарь терминов и сокращений

БД - база данных

IT - information technology. Информационные технологии

Data Mining - в общем понимании это совокупность методов и моделей анализа данных

ИС - информационная система

ГА - генетический алгоритм

ЭВМ - электронно-вычислительная машина

ЦМОРКК - шесть основных социальных технологий в системе управления, где "Ц" - целеполагание, "М" - система мотивации и стимулирования, "О" - организационная культура, "Р" - стиль руководства, "К" - система коммуникации, и последняя "К" - кадровая политика.

T-SQL (Transact-SQL) - процедурное расширение языка SQL

SQL (structured query language) - язык структурированных запросов для работы с базами данных

СУБД - система управления базами данных

Библиографический список

1. Российская Федерация. Законы. Трудовой кодекс Российской Федерации [Текст]: [федер. закон: принят Гос. Думой 21 дек. 2001 г.: по состоянию на 30 дек. 2001 г.].

2. Труфанова, Т.А. Критерии оценки работы управленческого персонала [Текст] / Т.А. Труфанова // Социально-экономические явления и процессы. - 2012. - №12. - С.316-325.

3. Бобова, О.В. Современные методы и функции управления персоналом [Текст] / О.В. Бобова // Социосфера. - 2012. - №1. - С.98-103.

4. Чугреев, В.Л. Организационные аспекты управления знаниями в IT-компании [Текст] / В.Л. Чугреева // Вопросы Территориального развития. - 2013. - №2. С.1-8.

5. Неблагоприятный психологический климат в коллективе - веская причина для увольнения // Исследовательский центр рекрутингового портала SuperJob.ru. - 2012. - (http://www.superjob.ru/community/kollektiv/41084/).

6. Деккушева, А.Д. Факторы конфликта и их характеристика [Текст] / А.Д. Деккушева // Научные проблемы гуманитарных исследований. - 2012. - №3. - С.2-5.

7. Магура, М.И. Управление предприятием в условиях кризиса [Текси] / М.И. Магура // Директор. - 2012. - №10. С.10-15.

8. Дульзон, А.А. Инструмент для оценки системы управления коллективом работников умственного труда [Текст] / А.А. Дульзон // Проблемы управления в социальных системах. - 2012. - №1. С.30-43.

9. Соловейчик А.В. Лояльность персонала и факторы, характеризующие организацию [Текст] / А.В. Соловейчик // Известия Российского государственного педагогического университета им.А.И. Герцена. - 2012. - №125. С.93-97.

10. Куприянова З.А. Меняем место работы? Трудовая мобильность в РФ [Текст] / З.А. Куприянова // Мониторинг общественного мнения: экономические и социальные перемены. - 1998. - №4. С.15-20.

11. Кузнецов С.А. Инструмент для оценки системы управления коллективом работников умственного труда [Текст] / Кузнецов С.А. // Современные проблемы науки и образования. - 2011. - №6. С.1-7.

12. Киндялов А. С.90 дней спустя / Киндялов А.С. // Интернет-портал Rabota.ru - (http://m. rabota.ru/index. pda. php? c=2&area=article&path=content. soiskateljam. na_rabochem_meste.90_dnej_spustja).

13. Кузнецова С.А. Недостатки системы мотивации в России как следствие несовершенной систему управления персоналом [Текст] / С.А. Кузнецова // Современные проблемы науки и образования. - 2011. - №6. C.1-8.

14. Полосухина М.В. Формирование модели управления лояльностью персонала современной организации [Текст] / М.В. Полосухина // Управление экономическими системами: электронный научный журнал. - 2011. - №12.

15. Социальное пространство // Материал из Википедии - свободной энциклопедии - 2012г. (https: // ru. wikipedia.org/wiki/%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE).

16. Шадрина Л.Ю. Социологический мониторинг как средство информационного сопровождения оценки эффективности социальных технологий [Текст] / Л.Ю. Шадрина // Известия Российского государственного педагогического университета им.А.И. Герцена. - 2010г. - №126. - С.319-325.

17. Отчет о работе VI кадрового форума. Риски управления персоналом при реализации проекта: классификация, оценка, минимизация [Текст] // Вестник Омского университета. Серия "Экономика". - 2009г. - №2. - С.31-50.

18. Мещерякова Л.Я. Роль корпоративной культуры в управлении коллективом [Текст] / Л. Я Мещерякова // Научный вестник Московского государственного технического университета гражданской авиации. - 2010г. - №155. - С.91-95.

19. Павлова А.П. Организационная культура и лидерство [Текст] / А.П. Павлова // Вестник Астраханского государственного университета. - 2012г. - №4. - С.101-106.

20. Анализ данных и процессов [Текст]: учеб. пособие / А.А. Барсегян [и др.] - 3-е изд., перераб. и доп. - СПб.: БХВ-Петербург, учебная литература для вузов, 2009. - 512с.

21. Воронцов К.В. Математические методы обучение по прецедентам (теория обучения машин) [Текст]: курс лекций / К.В. Воронцов - электронный вики-ресурс 2016 г. (www.machinelearning.ru) - C.141.

22. Наивный байесовский классификатор / Баженов Д. // Интернет-портал Bazhenov. me - (http://bazhenov. me/blog/2012/06/11/naive-bayes.html).

23. Обзор методов Data Mining / Лепшова К. // Интернет портал - Интеллектуальный анализ данных (http://intellect-tver.ru/? p=165).

Приложение А. Листинг прототипа без реализации (файл Program. cs)

static void Main (string [] args)

{

Console. SetWindowSize (Console. WindowWidth, 58);

Console. SetBufferSize (150, 450);

List<Person_from_db> list_from_bd = new List<Person_from_db> ();

bool flag = false;

using (SqlConnection cn = new SqlConnection ())

{

cn. ConnectionString = @"Data Source = DESKTOP-KQI2HJ0; Initial Catalog=wt; " + "Integrated Security=SSPI; Pooling=False";

cn. Open ();

Console. WriteLine ("Открыли поток с СУБД");

list_from_bd = getListIdFromDB (cn);

Console. WriteLine ("Считали пользователей с базы данных по ID");

list_from_bd = getListWorkChangeFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество раз переноса расписания для каждого пользователя");

list_from_bd = getListNotAcceptedFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество отклоненных прошений для каждого пользователя");

list_from_bd = getListQuantityTripFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество командировок для каждого пользователя");

list_from_bd = getListDurationTripFromDB (cn, list_from_bd);

Console. WriteLine ("Получили суммарную продолжительность командировок для каждого user");

list_from_bd = getListVocationSummerFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество летних отпусков для каждого пользователя");

list_from_bd = getListVocationAutumnFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество осенних отпусков для каждого пользователя");

list_from_bd = getListVocationWinterFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество зимних отпусков для каждого пользователя");

list_from_bd = getListVocationSpringFromDB (cn, list_from_bd);

Console. WriteLine ("Получили количество весенних отпусков для каждого пользователя");

list_from_bd = getListDischargeResultFromDB (cn, list_from_bd);

Console. WriteLine ("Получили результат состояния уволен/работает для каждого user");

cn. Close ();

Console. WriteLine ("Закрыли поток с СУБД");

}

/*считаем среднюю продолжительность командировок для каждого пользователя*/

for (int i = 0; i < list_from_bd. Count; i++)

{…}

Console. WriteLine ("Сосчитали среднюю продолжительность командировок для каждого user");

/*создаем новый лист для С45*/

List<Person_to_c45> list_for_c45 = new List<Person_to_c45> ();

/*копируем id пользователя в новый лист*/

for (int i = 0; i < list_from_bd. Count; i++) {

list_for_c45. Add (new Person_to_c45 ());

list_for_c45 [i]. id = list_from_bd [i]. person_id;

}

/* вычисляем признак количества переноса расписания для каждого пользователя*/

for (int i = 0; i < list_from_bd. Count; i++) {…}

Console. WriteLine ("Рассчитали признак количества переноса расписания для каждого user");

/* вычисляем признак количества отклоненных прошений для каждого пользователя*/

for (int i = 0; i < list_from_bd. Count; i++) {…}

Console. WriteLine ("Расcчитали признак количества отклоненных прошений для каждого user");

/* вычисляем признак количества командировок для каждого пользователя */

for (int i = 0; i < list_from_bd. Count; i++) {…}

Console. WriteLine ("Рассчитали признак количества командировок для каждого пользователя");

/* признак средней продолжительности командировок*/

for (int i = 0; i < list_from_bd. Count; i++) {…}

Console. WriteLine ("Рассчитали среднюю продолжительность командировок для каждого user");

/*признак средней сезонности отпуска*/

for (int i = 0; i < list_from_bd. Count; i++) {…}

Console. WriteLine ("Рассчитали признак сезонности отпуска для каждого пользователя");

Console. WriteLine ();

for (int i = 0; i < list_from_bd. Count; i++) {

list_for_c45 [i]. resultOfDischarge = list_from_bd [i]. result;

}

int menu = 0;

do

{

Console. WriteLine ("----------- // --------------- // -------------");

Console. WriteLine ("1. Метод построения дерева решений С45");

Console. WriteLine ("2. Метод наивного Байеса");

Console. WriteLine ("3. Выход");

menu = Int32. Parse (Console. ReadLine ());

switch (menu)

{

case 1:

DataTable result = new DataTable ("samples");

DataColumn column = result. Columns. Add ("Перенос");

column. DataType = typeof (string);

column = result. Columns. Add ("Отклоненные");

column. DataType = typeof (string);

column = result. Columns. Add ("Количество_командировок");

column. DataType = typeof (string);

column = result. Columns. Add ("Средняя_продолжительность_командировок");

column. DataType = typeof (string);

column = result. Columns. Add ("Сезонность_отпуска");

column. DataType = typeof (string);

column = result. Columns. Add ("Результат");

column. DataType = typeof (string);

string [] mas2 = new string [6];

List<Person_to_c45> lstAnalys = new List<Person_to_c45> ();

for (int i = 0; i < list_for_c45. Count; i++) {…}

/* Настройка атрибутов */

for (int i = 0; i < Attr. Count; i++) {…}

DecisionTreeC45 c45 = new DecisionTreeC45 ();

Treenode root = c45. mountTree (result, "Результат", attributes);

printNode (root, "");

foreach (var elem in lstAnalys) {…} // Работа алгоритма

for (int i = 0; i < lstAnalys. Count; i++) {…} // Проверка алгоритма

Console. WriteLine ("Всего сотрудников тестовой выборки: " + lstAnalys. Count);

Console. WriteLine ("Изменилось значение у " + num. ToString () + " сотрудников");

Console. WriteLine ("Поле \"Увольнение\" изменилось у " + (num * 100/lstAnalys. Count). ToString () + "% сотрудников из тестовой выборки");

break;

// Байесовский классификатор

case 2:

List<Person_to_c45> list_for_bies = new List<Person_to_c45> ();

list_for_bies = list_for_c45;

List<List<int>> listNumTimeChange = new List<List<int>> ();

List<List<int>> listNumCanselled = new List<List<int>> ();

List<List<int>> listNumTrips = new List<List<int>> ();

List<List<int>> listNumAvrDur = new List<List<int>> ();

List<List<int>> listNumVoc = new List<List<int>> ();

listNumTimeChange = getCountNUmTimeChange (list_for_bies);

listNumCanselled = getCountNUmCanselled (list_for_bies);

listNumTrips = getCountNUmTrips (list_for_bies);

listNumAvrDur = getCountAvrDur (list_for_bies);

listNumVoc = getCountVoc (list_for_bies);

int _count_discharge = 0;

int _count_work = 0;

for (int i = 0; i < list_for_bies. Count; i++)

{

if (list_for_bies [i]. resultOfDischarge == "Работает")

_count_work++;

if (list_for_bies [i]. resultOfDischarge == "Уволен")

_count_discharge++;

}

double _count_discharge_per = Convert. ToDouble (_count_discharge / 4045.0);

double _count_work_per = Convert. ToDouble (_count_work / 4045.0);

List<List<double>> listNumTimeChange_percent = new List<List<double>> ();

List<List<double>> listNumCanselled_percent = new List<List<double>> ();

List<List<double>> listNumTrips_percent = new List<List<double>> ();

List<List<double>> listNumAvrDur_percent = new List<List<double>> ();

List<List<double>> listNumVoc_percent = new List<List<double>> ();

double dischargePer = 1;

double workPer = 1;

int _flag = 0;

workPer = getFromWorkChange_work (workPer, listNumTimeChange_percent, _timeChange);

workPer = getCanselled_work (workPer, listNumCanselled_percent, _numCansel);

workPer = getNumTrips_work (workPer, listNumTrips_percent, _numTrips);

workPer = getAvrDur_work (workPer, listNumAvrDur_percent, _avrDur);

workPer = getVoc_work (workPer, listNumVoc_percent, _Voc);

if (workPer == 1)

_flag++;

workPer *= _count_work_per;

dischargePer = getFromWorkChange_discharge (dischargePer, listNumTimeChange_percent, _timeChange);

dischargePer = getCanselled_discharge (dischargePer, listNumCanselled_percent, _numCansel);

dischargePer = getNumTrips_discharge (dischargePer, listNumTrips_percent, _numTrips);

if (workPer > dischargePer)

if (workPer - dischargePer > 20)

Console. WriteLine ("вероятность ухода низка и составляет: " + (dischargePer). ToString () + "%");

else

Console. WriteLine ("вероятность ухода возможна и составляет: " + (dischargePer). ToString () + "%");

if (workPer < dischargePer)

if (dischargePer - workPer > 20)

Console. WriteLine ("вероятность ухода высока и составляет: " + (dischargePer). ToString () + "%");

else

Console. WriteLine ("вероятность ухода возможна и составляет: " + (dischargePer). ToString () + "%");

break;

case 3:

Console. WriteLine ("Завершение работы");

break;

default:

break;

}

Приложение Б. Листинги извлечения метрик

/*вытаскиваем пользователей из бд по айдишникам*/

static List<Person_from_db> getListIdFromDB (SqlConnection cn)

{

List<Person_from_db> list_from_bd = new List<Person_from_db> ();

string strSQLNumPerson = "SELECT id FROM dbo. t_domain_user group by id";

SqlCommand firstCommand = new SqlCommand (strSQLNumPerson, cn);

SqlDataReader first_dr = firstCommand. ExecuteReader ();

while (first_dr. Read ())

{

Person_from_db new_ob = new Person_from_db ();

list_from_bd. Add (new_ob);

}

first_dr. Close ();

return list_from_bd;

}

/*заполняем поле "количество переноса раб. времени" для каждого пользователя*/

static List<Person_from_db> getListWorkChangeFromDB (SqlConnection cn, List<Person_from_db> list)

{

string strSQLWorkTimeChange = "SELECT [user_id], count (user_id) FROM [dbo]. [t_admittance] GROUP BY [user_id] ORDER BY user_id";

SqlCommand worktimeCommand = new SqlCommand (strSQLWorkTimeChange, cn);

SqlDataReader worktimeCommand_dr = worktimeCommand. ExecuteReader ();

while (worktimeCommand_dr. Read ())

{

for (int i = 0; i < list. Count; i++)

{

if (list [i]. person_id == Convert. ToInt32 (worktimeCommand_dr [0]. ToString ()))

{ list [i]. work_time_change = Convert. ToInt32 (worktimeCommand_dr [1]. ToString ()); break; }

}

}

worktimeCommand_dr. Close ();

return list;

}

/*заполняем поле "количество отказанных прошений" для каждого пользователя*/

static List<Person_from_db> getListNotAcceptedFromDB (SqlConnection cn, List<Person_from_db> list)

{

string strSQL = "SELECT [user_id], count (user_id) FROM (SELECT [user_id] FROM [dbo]. [t_admittance], [dbo]. [t_workhours] WHERE [accept] = 0 and [user_id] = [user] and cast ([date] as date) = cast ([date_in] as date) and [user_id] is not NULL) AS NET group by [user_id] order by user_id";

SqlCommand myCommand = new SqlCommand (strSQL, cn);

SqlDataReader dr = myCommand. ExecuteReader ();

while (dr. Read ())

{

for (int i = 0; i < list. Count; i++)

{

if (list [i]. person_id == Convert. ToInt32 (dr [0]. ToString ()))

{ list [i]. not_accepted_tasks = Convert. ToInt32 (dr [1]. ToString ()); break; }

}

}

dr. Close ();

return list;

}

/*количество командировок для каждого пользователя*/

static List<Person_from_db> getListQuantityTripFromDB (SqlConnection cn, List<Person_from_db> list)

{

string strSQL = "SELECT [user_id], count (user_id) FROM [dbo]. [t_marker] WHERE [type] ='к' group by user_id order by user_id";

SqlCommand myCommand = new SqlCommand (strSQL, cn);

SqlDataReader dr = myCommand. ExecuteReader ();

while (dr. Read ())

{

for (int i = 0; i < list. Count; i++)

{

if (list [i]. person_id == Convert. ToInt32 (dr [0]. ToString ()))

{ list [i]. quantity_trip = Convert. ToInt32 (dr [1]. ToString ()); break; }

}

}

dr. Close ();

return list;

}

/*суммарная продолжительность коммандировок для каждого пользователя*/

static List<Person_from_db> getListDurationTripFromDB (SqlConnection cn, List<Person_from_db> list)

{

string strSQL = "SELECT [user_id], sum (datediff (day, [date_begin], [date_end]) +1) as duration FROM [dbo]. [t_marker] WHERE [type] ='к' group by [user_id] order by [user_id] ";

...

Подобные документы

  • Классификация методов управления. Структура управления на предприятии. Состав сотрудников по возрасту. Анализ причин увольнения сотрудников. Мероприятия по совершенствованию экономических и социально-психологических методов управления и их эффективность.

    презентация [182,7 K], добавлен 13.02.2011

  • Основные нормы, ограничения при увольнении сотрудников в организации. Практические основы принятия решения об увольнении сотрудников в организации ЗАО "Тандер". Организационная структура аппарата управления магазинов. Методы управленческих решений.

    курсовая работа [51,6 K], добавлен 16.04.2014

  • Исторический обзор представлений о карьере. Влияние личности сотрудника на карьерное поведение. Личностные различия сотрудников как факторы карьеры. Восприятие карьеры самими сотрудниками и механизмы управления карьерой сотрудников организации.

    реферат [69,4 K], добавлен 29.06.2010

  • Сущность и основные задачи учета рабочего времени. Особенности планирования и распределения рабочего времени руководителя. Управление рабочим временем, его контроль. Контроль за использованием рабочего времени как основной способ управления персоналом.

    курсовая работа [41,0 K], добавлен 26.07.2010

  • Изучение порядка планирования численности и профессионального соответствия сотрудников предприятия. Анализ способов и видов поиска и методов отбора кандидатов на вакантные должности. Особенности организации подбора сотрудников на предприятии НГЧ-13.

    дипломная работа [1,3 M], добавлен 05.10.2012

  • Понятие и значение рабочего времени, его основные разновидности и отличительные признаки, методика нормирования. Сверхурочные работы и порядок их учета. Режимы рабочего времени на предприятии, их содержание и составные элементы, варианты гибкого графика.

    курсовая работа [39,1 K], добавлен 26.05.2010

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

    реферат [15,7 K], добавлен 27.12.2013

  • Эффективность мотивации сотрудников на примере фирмы ООО "Персона". Обзор мотивационной деятельности руководства. Основные принципы и сравнение содержательных теорий мотивации А. Маслоу, К. Алдерфера, Д. МакКлелланда. Модель мотивации, типы мотивирования.

    курсовая работа [33,8 K], добавлен 24.08.2009

  • Сущность и виды высвобождения персонала. Общая характеристика и исследование нормативно-правовой базы Администрации Красногородского района по проблеме увольнения сотрудников. Существующие в данной области проблемы, пути и перспективы их разрешения.

    курсовая работа [548,7 K], добавлен 15.09.2014

  • Контроль эффективности использования трудовых ресурсов. Использование байесовского классификатора, теории нечетких множеств Заде и теории нейронных сетей. Структура системы нечеткого вывода. Основные методы моделирования интеллектуальной деятельности.

    реферат [102,5 K], добавлен 16.07.2016

  • Понятие, структура и значение рабочего времени. Принципы его эффективного использования, основные методы учета и измерения. Анализ использования рабочего времени в ОАО "Альфа Банк". Мероприятия, направленные на оптимизацию деятельности персонала.

    дипломная работа [323,8 K], добавлен 29.08.2013

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

    контрольная работа [31,8 K], добавлен 23.03.2013

  • Сущность и структура, методы и способы стимулирования трудовой деятельности сотрудников уголовно-исполнительной системы. Правовые основы процесса стимулирования служебного труда сотрудников учреждения УИС в Российской Федерации по Архангельской области.

    дипломная работа [322,4 K], добавлен 12.04.2014

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

    дипломная работа [83,3 K], добавлен 20.05.2015

  • Рассмотрение основных моделей менеджмента. Разработка организационной структуры, кадрового состава и системы стимулирования в организации. Определение должностных обязанностей и прав сотрудников организации. Разработка системы мотивации работников.

    курсовая работа [247,9 K], добавлен 24.11.2014

  • Теоретические проблемы "качества жизни" и особенности профессиональной деятельности сотрудников уголовно-исполнительной системы. Объективная и субъективная стороны качества жизни, его зависимость от мотивационной сферы сотрудников отдела охраны.

    курсовая работа [77,2 K], добавлен 06.10.2011

  • Организация системы обучения сотрудников в банковской сфере. Анализ организационной структуры управления АКБ "Абсолют Банк", состав и структура персонала. Описание основных систем обучения сотрудников, используемых банком. Оценка причин текучести кадров.

    дипломная работа [533,2 K], добавлен 19.12.2012

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

    курсовая работа [38,0 K], добавлен 20.09.2013

  • Общая характеристика организации ООО "Чай". Применение моделей теории активных систем при реализации методов внутрифирменного управления. Определения оптимального количества сотрудников отдела закупок и продаж. Направленный вычислительный эксперимент.

    дипломная работа [687,0 K], добавлен 01.06.2015

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

    курсовая работа [404,2 K], добавлен 13.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.