Уважаемые посетители Портала Знаний, если Вы найдете ошибку в тексте, выделите, пожалуйста, ее мышью и нажмите Сtrl+Enter. Мы обязательно исправим текст!


Применение логистической регрессии: задача о программистах

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

Подобные инструменты доступны в пакете Углубленные методы анализа - модули Нелинейное оценивание и Обобщенные линейные/нелинейные модели. Все, что нужно сделать - это задать переменные и выбрать способ оценивания целевой функции.

Приведем пример такого анализа. Основная часть данных для данного примера взята из работы Neter, Wasserman, Kutner (1985). Однако отметим, что они использовали для подгонки линейную регрессионную модель.

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

Бинарная переменная отклика принимала значение 1, если программист справился с поставленной задачей, и 0, если нет.

Эти исходные данные выглядят следующим образом:

 

Шаг 1. Визуализация

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

Действие 1. Выделите переменную EXPERENCE и правым кликом вызовите контекстное меню. В этом меню выберете пункт Графики блоковых данных -> гистограммы: все столбцы.

Будет отображена гистограмма для переменной EXPERENCE. Она выглядит следующим образом:

Мы видим, что опыт работы для программистов распределен довольно равномерно. Представлены как опытные, так и неопытные кандидаты и их примерно одинаковое число.

Насколько эффективно программисты справлялись с заданием? Построим диаграмму рассеяния.

Действие 2. Выберете опцию Графика -> Диаграммы рассеяния. Будет отображена панель задания параметров диаграммы рассеяния.

Действие 3. Выберете переменные для построения диаграммы рассеяния. Для этого нажмите на кнопку Переменные и задайте EXPERENCE - как переменную по оси х и SUCCESS - как переменную оси y.

Оставьте остальные параметры по умолчанию. Нажмите на кнопку ОК - будет отображена диаграмма рассеяния. Для данного случая диаграмма примет такой вид:

На диаграмме рассеяния выделяются два облака точек. Одно - вблизи программистов с небольшим опытом и проваливших задание, второе - вблизи программистов с обширным опытом и выполнивших задание. Гипотеза подтверждается прямо на графике!

Шаг 2. Задание модели.

Теперь строго подтвердим наши догадки. Построим логистическую регрессию.

Действие 1. Выберете пункт меню Анализ -> Углубленные методы анализа -> Нелинейное оценивание. В появившемся окне выберете Логит регрессия. Стартовая панель модуля выглядит следующим образом:

Действие 2. Выберем переменную SUCCESS как зависимую и EXPERNCE как независимую. Для этого нажмите на кнопку Переменные.

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

Шаг 3. Задание метода оценивания.

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

Действие 1. На вкладке Дополнительно выберете Метод оценивания - Квази- Ньютоновский. Установите опцию Асимптотические стандартные ошибки на Вкл.

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

Действие 3. На вкладке Дополнительно попробуйте изменить метод оценивания или же Начальные значения. Методов оценки много и скорее всего итерационный процесс сойдется.

Когда процесс сошелся, можно переходить к Шагу 4.

Шаг 4. Просмотр результатов.

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

Действие 1. На панели диалога отображения результатов содержится р-уровень гипотезы. Если этот р-уровень менее 5%, то модель значима.

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

Шаг 5. Интерпретация результатов

Действие 1. Выберем опцию Параметры и стандартные ошибки. Рассмотрим таблицу, в которой содержатся данные об оценках регрессионных коэффициентов. В таблице результатов ниже оба параметра имеют уровень значимости p<.05.

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

Однако, оцениваемые параметры относятся к предсказанию логит-преобразования (вычисляемого как log[p/(1-p)]), а не самой вероятности (p), определяющей возможность успеха или неудачи. Логит преобразование принимает значения от минус до плюс бесконечности, когда значения вероятности p пробегают отрезок от 0 до 1.

Действие 2. На вкладке Быстрый выберите опцию Наблюдаемые, предсказанные и значения остатков. Напомним, что регрессионная модель логит гарантирует, что предсказанные значения всегда будут находиться внутри отрезка [0,1]. Поэтому вы можете рассматривать полученные значения как вероятности. Например, предсказанная вероятность успеха для второго программиста (Henry) равна (.84).

Шаг 6. Оценка качества модели

Действие 1. На вкладке Дополнительно нажмите на кнопку Классификация. Будет отображена таблица с результатами классификации.

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

Все наблюдения с предсказанными значениями (вероятностью) меньше или равными .5 классифицируются как неудача - Failure, остальные, с предсказываемыми значениями больше .5, классифицируются как успех - Success. Отношение несогласия вычисляется как отношение произведения чисел правильно расклассифицированных наблюдений к произведению чисел неправильно расклассифицированных. Отношение несогласия больше 1 показывает, что построенная классификация лучше, чем, если бы мы просто провели классификацию наугад.

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

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


Связанные определения:
Логистическая регрессия

В начало

Содержание портала