| |
ОДА: Обобщенный Дискриминантный Анализ в STATISTICA
Дискриминантный анализ – эффективный способ построения классификации с помощью обучающей выборки; широко используется в бизнесе, маркетинге, финансовой аналитике, медицине для классификации больных.
Часто в практических задачах необходимо провести классификацию данных, в которых имеются как непрерывные, так и категориальные переменные.
В этих случаях классический анализ неприменим и следует использовать обобщенный дискриминантный анализ - ОДА.
Покажем как провести ОДА в STATISTICA.
В отличие от классического дискриминантного анализа Фишера в ОДА независимые переменные могут быть как категориальными, так и непрерывными, кроме того, можно учитывать взаимодействия между предикторами.
Качество модели оценивается с помощью процедуры кросс-проверки (cross-validation).
Анализ будем проводить на реальных данных.
Структура данных
Анализируемые данные расположены в таблице, имеющей 71 наблюдение и 9 переменных (предикторов), содержащих информацию о подержанных машинах, присутствующих на рынке.

Рис. 1. Таблица исходных данных
Для каждой машины определена переменная “экспертная оценка”, которая отражает мнение эксперта о соответствии цены состоянию автомобиля.
Данная оценка имеет 3 уровня: good (хороший), satisfied (средний), bad (плохой).
Перечислим остальные характеристики: Марка автомобиля, Модель автомобиля, Год выпуска, Пробег, Предлагаемая цена, Мощность, Вид КПП, Битость.
Используя эти данные, покажем, как можно построить классификатор c помощью дискриминантного анализа, реализованного в пакете STATISTICA.
Наша цель – построить автоматическую классификацию и в дальнейшем использовать ее вместо того чтобы прибегать к оценкам эксперта.
В данной задаче классический дискриминантный анализ неприменим, так как имеются категориальные предикторы.
Шаг 1. Запуск анализа
Запустим дискриминантный анализ из меню анализ STATISTICA.
Вначале выберем Анализ , Многомерный разведочный анализ, Общие модели дискриминантного анализа.

Рис. 2. Запуск общего дискриминантного анализа
Далее выберем Общий дискриминантный анализ и диалоговый способ задания параметров анализа.

Рис. 3. Выбор вида анализа
Шаг 2. Задание параметров анализа
Теперь зададим параметры анализа.

Рис. 4. Вкладка Быстрый
Нажав кнопку Переменные, зададим переменные анализа.
Экспертная оценка – зависимая переменная;
Вид КПП, Битость – категориальные предикторы;
Год выпуска, Пробег, Предлагаемая цена, Мощность – непрерывные предикторы.

Рис. 5. Выбор переменных
Нажав кнопку Эффекты, зададим план анализа.

Рис. 6. Изменение плана анализа
Выберем опцию Использовать пользовательские эффекты в плане. Выделим все категориальные и непрерывные предикторы и нажмём кнопку Полный факторный (т.е. в анализ всключены главные эффекты и эффекты взаимодействий).
Перейдём во вкладку Дополнительно и включим процедуру кросс-проверки (переменная Cross принимает значение 0 для наблюдений, принадлежащих анализируемой выборке, и 1 для наблюдений из кросс-проверочной выборки).
В модель включаем все переменные, оставив опции построения модели в исходном состоянии.

Рис. 7. Вкладка Дополнительно
Нажав на кнопку Кросс-проверка, включим процедуру кросс-проверки.

Рис. 8. Кросс-проверка
Теперь можно запустить анализ, нажав кнопку ОК в окне задания анализа (рис. 15).
Шаг 3. Анализ вклада переменных в дискриминацию между классами
Чтобы увидеть, как переменные разделяют две совокупности, вычисляется дискриминантная функция. Посмотрим на коэффициенты дискриминантной функции, нажав на кнопку Стандартизованные коэффициенты из вкладки Функции окна результатов.

Рис. 9. Стандартизованные коэффициенты
Делаем вывод, что первая дискриминантная функция взвешивается наиболее тяжело переменной битость и взаимодействием предикторов Битость и Год выпуска.
Вывести можно не только стандартизованные коэффициенты, но и исходные, нажав кнопку исходные коэффициенты во вкладке функции. Получим таблицу исходных коэффициентов.

Рис. 10. Исходные коэффициенты
Дискриминантная функция представляет собой линейную комбинацию эффектов с такими коэффициентами.
Чтобы увидеть, как переменные разделяют две совокупности, вычисляются дискриминантные функция. Определим, является ли построенные дискриминантные функции статистически значимыми. Для этого нажмём на кнопку Хи-квадрат критерии для удалённых корней из окна результатов.

Рис. 11. Проверка стат. значимости дискриминантной функции
В этом примере дискриминантные функции статистически значимы.
Шаг 4. Проведение классификации
Коэффициенты построенных функций классификации можно вывести на экран, нажав кнопку коэффициенты функции классификации во вкладке функции.

Рис. 12. Коэффициенты функции классификации
Каждая функция классификации представляет собой линейную комбинацию эффектов с такими коэффициентами. Заметим, что число функций классификации равно количеству уровней зависимой переменной. Т.е., в данном случае их три.
Каждая функция классификации имеет следующий вид: 
где fi - i -ая функция классификации,
xj - j -ый эффект плана,
aij - коэффициент i -ой функции классификации при j -ом эффекте плана,
a0 - свободный член.
Если учитывать только главные эффекты (пренебречь взаимодействиями), то функция классификации для уровня good зависимой переменной в нашем случае примет вид (коэффициенты взяты из таблицы на рис. 12):
fgood = - 58951568 + 1657609 * Вид КПП + 103210377 * Битость + 58144 * Год Выпуска + 79 * Пробег + 1917 * Мощность + 202 * Предлагаемая цена
Аналогично записываются функции классификации для остальных уровней. Затем для каждого конкретного наблюдения, которое должно быть классифицировано, вычисляются все функции классификации. Наблюдение будет отнесено к тому классу, для которого функция классификации примет наибольшее значение.
Посмотрим на матрицу классификации, нажав на кнопку Матрица классификации для выборки из вкладки Наблюдения окна результатов.

Рис. 13. Окно результатов_вкладка Наблюдения

Рис. 14. Матрица классификации
Построенная модель правильно определяет экспертную оценку с точностью 94%. При этом лучше всего она определяет оценку для плохих машин (100%), хуже– для хороших (97%). Это удовлетворительный результат, но он завышен, т.к. классифицировались те же наблюдения, которые использовались для построения модели.
Проведём более точную проверку точности классификации, воспользовавшись процедурой кросс-проверки. Для этого выведем матрицу классификации для кросс-проверочной выборки.

Рис. 15. Классификация кросс-проверочной выборки
Точность общей классификации равна 56%, для хороших машин 67%, для плохих 50%.
Как и ожидалось, точность классификации для кросс-проверочной выборки оказалась меньше, чем для выборки, по которой строилась модель, но эти результаты имеют небольшую точность, т.к. объём кросс-проверочной выборки был мал (18 наблюдений).
Литература.
В.П.Боровиков Искусство анализа данных, 2-е издание, ПИТЕР, 2005
Вы можете заказать курсы по интересующей Вас тематике в Академии Анализа Данных StatSoft.
Позвоните нам, и мы подберем для Вас программу курсов.
| |