Асессор и анализ поведения людей

в 13:14, , рубрики: data mining, анализ информации, Разработка веб-сайтов, статистика

1. Вступление

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

2. Основные метрики работы асессора

2.1. Вариационный ряд оценок

Вариационный ряд оценок — множество измерений (в данном случае оценок асессора), ранжированное по возрастанию с указанием частоты каждого элемента. Например, исходное множество наблюдений {1, 1, 3} содержит единицу, которая составляет две трети от числа всех элементов, а также тройку, которая составляет только одну треть. Чтобы вычислить вероятность случайного выбора определённой величины необходимо разделить количество таких наблюдений на общее количество всех наблюдений. Следовательно, вероятность можно рассматривать как частоту повторяемого события, тогда вероятность выбора единицы будет составлять 2/3, а тройки только 1/3. Таким образом, две трети пространства элементарных событий составляют единицы, а всё остальное — тройки. Большое количество разных значений можно разбить на интервалы с указанием количества попаданий случайной величины в каждый интервал и отобразить в виде гистограммы, а при анализе категориальных и ранговых значений достаточно будет отобразить «barplot» таблицы частот.

Асессор и анализ поведения людей - 1

2.2. Рейтинг объекта

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

$operatorname{E}[A]=mu_A=sum_{i=1}^n A_i P(A_i)=frac{1}{n}sum_{i=1}^n A_i$

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

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

$sigma_A=sqrt{frac{1}{n} sum_{i=1}^n (A_i - mu_A)^2}=sqrt{operatorname E[A^2]-(operatorname E[A])^2}$

$S_A=sqrt{frac{1}{n - 1} sum_{i=1}^n (A_i - mu_A)^2} $

2.3. Степень похожести поведения

В большой генеральной совокупности наблюдений будут встречаться единомышленники (like-minded people). Если два или более единомышленников (условное название людей с похожими вкусами) будут выполнять оценку одних и тех же документов, то должна отмечаться закономерность линейной корреляции (если один поставил высокую оценку, то второй тоже должен высоко оценить наблюдение и наоборот). Такую взаимосвязь (линейную корреляцию) достаточно легко выявить по формуле Карла Пирсона:

$ r(A,B)=frac{sum_{i=1}^n (A_i - mu_A) (B_i - mu_B)}{ sqrt{sum_{i=1}^n (A_i - mu_A)^2 sum_{i=1}^n (B_i - mu_B)^2} } $

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

Асессор и анализ поведения людей - 6

В нашем случае оценки имеют малый вариационный размах (MAX — MIN) и достаточное количество наблюдений, следовательно, влияние помех (выбросов) не остро выражено. А вот в иных наборах данных явные выбросы очень сильно повлияют на сумму квадратов расстояния от точки до прямой, т.е. на линию регрессионного анализа, где коэффициенты вычисляются по формулам:

$beta_1=frac{sigma_B}{sigma_A} r(A,B); hspace{15pt} beta_0=mu_B - beta_1 mu_A $

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

2.4. Вероятность и сила ошибки

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

$A={1, 4, 4, 2, 5, 7, 2, 4, 5, 8, 4, 4, 6, 4, 7, 8, 4, 3, 10}$

$B={2, 6, 4, 3, 5, 7, 4, 5, 6, 10, 4, 4, 9, 8, 9, 8, 5, 2, 10}$

$A_i - B_i={-1, -2, 0, -1, 0, 0, -2, -1, -1, -2, 0, 0, -3, -4, -2, 0, -1, 1, 0}$

$MAE=frac{1}{n}sum_{i=1}^n |A_i - B_i|; hspace{25pt} MSE=frac{1}{n}sum_{i=1}^n(A_i - B_i)^2$

$ MAE=1.105263; hspace{25pt} MSE=2.473684 $

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

$ER={0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1}$

$accuracy=P(T)=frac{7}{19}; hspace{15pt} P(F)=1 - P(T)=0.6315789$

Что касается бинарной классификации, то для неё используются специальные метрики точности. Пусть дано множество меток классов, состоящее строго из «-1» и «+1». Опираться будем на логику следующей таблицы бинарной классификации:

$begin{array}{c|c} Решениеhspace{4pt} асессора & Фактическиhspace{4pt}+1 & Фактическиhspace{4pt}-1 \[0.3em] hline +1 & Truehspace{4pt}positivehspace{4pt}(TP) & Falsehspace{4pt} positivehspace{4pt}(FP) \[0.3em] -1 & Falsehspace{4pt} negativehspace{4pt}(FN) & Truehspace{4pt} negativehspace{4pt}(TN) end{array}$

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

  • True positive (TP) — положительное наблюдение, которое было названо классификатором как положительное (нет ошибки).
  • True negative (TN) — отрицательное наблюдение, которое было названо классификатором как отрицательное (нет ошибки).
  • False positive (FP) — отрицательное явление, которое было выявлено классификатором как положительное (ошибка: нужно было выявить как отрицательное).
  • False negative (FN) — положительное явление, которое было выявлено классификатором как отрицательное (ошибка: нужно было выявить как положительное).

Тогда точность (доля предсказанных положительных, которые фактически положительны) будет возможно выявить по формуле:

$precision=frac{TP}{TP + FP}$

А полнота (доля положительных, выявленная во время классификации) вычисляется по формуле:

$recall=frac{TP}{TP + FN}$

Зная precision и recall выявим сбалансированную меру точности и полноты:

$F_1=2 cdot frac{precision cdot recall}{precision + recall}$

2.5. Мера расстояния

Известны несколько метрик расстояния, но в задачах анализа поведенческих факторов (например, для выявления единомышленников и различной кластеризации во время социальных и психологических исследований) весьма часто используется Евклидова метрика (d). Она является геометрическим расстоянием между точками в многомерном пространстве. Манхэттенская метрика (m) расстояния также нередко используется. Она показывает не прямое расстояние, а пути по кварталам (по границам клеток или рёбрам квадратов).

$ d(A,B)=sqrt{sum_{i=1}^n (A_i - B_i)^2}; hspace{25pt} m(A,B)=sqrt{ sum_{i=1}^n |A_i - B_i|} $

Если возникла необходимость выявить разницу между множествами, то мы можем разделить количество пересечений (мощность после пересечения) на количество объединений (мощность после объединения), тем самым получив коэффициент Жаккара. А если мы разделим количество пересечений на квадратный корень из произведения мощностей множеств, то получим коэффициент Отиаи. Естественно, есть и другие (например, мера Кульчинского и мера Сёренсена), но упомянутые коэффициенты применяются более часто.

$Коэффициентhspace{3pt}Жаккара=frac{|A cap B|}{|A cup B|}$

$Коэффициентhspace{3pt}Отиаи=frac{|A cap B|}{sqrt {|A| cdot |B|}}$

2.6. Стандартизация

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

$Z_A=frac{A_i - mu_A}{sigma_A} ; hspace{25pt} M_A=frac{A_i - MIN(A)}{MAX(A) - MIN(A)} $

$$display$$begin{array}{c|c} A & B & Z_A & Z_B & M_A & M_B \ hline 1254 & 35 & 0.7635508 & -0.63163382 & 1.0000000 & 0.0000000 \[0.3em] 1118 & 36 & 0.2520094 & -0.34011052 & 0.8076379 & 0.1111111 \[0.3em] 547 & 37 & -1.8957123 & -0.04858722 & 0.0000000 & 0.2222222 \[0.3em] 989 & 36 & -0.2332027 & -0.34011052 & 0.6251768 & 0.1111111 \[0.3em] 1254 & 44 & 0.7635508 & 1.99207590 & 1.0000000 & 1.0000000 \[0.3em] 1144 & 35 & 0.3498041 & -0.63163382 & 0.8444130 & 0.0000000 end{array}$$display$$

2.7. Мера неоднородности

Мера неоднородности — метрика оценки разнообразия объектов, часто применяемая в задачах классификации. Обычно измеряют энтропию или специальный показатель Джинни (Gini Impurity). Обратите внимание, что показатель неоднородности Джинни не следует путать с коэффициентом Коррадо Джинни, который был придуман для оценки неравномерности доходов. Сейчас речь идёт именно о так называемом Gini Impurity, который рассчитывается как:

$G=sum_{i=1}^n(P_i - P_i^2)=sum_{i=1}^nP_i(1 - P_i)=1 - sum_{i=1}^nP_i^2$

Другими словами: для двух равномерно распределённых классов этот показатель составит 1/2, а когда один класс занимает 0.001 и второй 0.999, он составит уже 0.001998. Соответственно, если всё пространство занимает только один класс, то G будет равен нулю (всё однородно). Для получения этой метрики достаточно отнять от единицы сумму квадратов вероятностей (занимаемых долей) каждого класса.

2.8. Комбинаторика ранжирования

Ранжирование меняет порядок кортежей в соответствии с некоторым правилом, допустим, сортирует записи по убыванию рейтинга. Всего существует n! возможных способов расположить любые отличимые объекты. Например, факториал числа десять составляет 3628800. Это значит, что для десяти документов можно сделать столько уникальных перестановок. Число сочетаний (наборы без возвращения и без учёта порядка) из n по k, а также число размещений (без возвращения, сохраняя порядок) соответственно:

$frac{n!}{k!(n - k)!}; hspace{25pt} frac{n!}{(n - k)!}$

2.9. Оценка степени важности каждого предиктора

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

Асессор и анализ поведения людей - 25

Любое наблюдение описывается в виде вектора признаков. Чем больше можно измерить объективных и необходимых для решения задачи показателей, тем лучше формальное описание объекта. Все предикторы можно условно разделить на четыре группы: бинарные (да или нет), номинативные (цвет, город, модель, семейное положение, пол), ранговые (оценка, звание, профессиональная категория, спортивный разряд) и количественные (вес, возраст, рост, цена, скорость, доход, количество посещений). Например, пусть даны три предиктора: цвет (красный или зелёный), вес и цена. Номинативный предиктор мы закодируем методом «One-hot» (будут два бинарных: «Это красного цвета?» и «Это зелёного цвета?»). Запишем все измерения в виде матрицы признаков, а оценки асессоров в виде матрицы ответов:

$X=begin{bmatrix} X_0 & X_1 & X_2 & X_3 \[0.3em] 1 & 0 & 9 & 3 \[0.3em] 0 & 1 & 2 & 5 \[0.3em] 1 & 0 & 3 & 6 \[0.3em] 0 & 1 & 4 & 9 \[0.3em] 1 & 0 & 8 & 9 end{bmatrix} ; hspace{25pt} Y=begin{bmatrix} Y_0 \[0.3em] 3 \[0.3em] 8 \[0.3em] 8 \[0.3em] 8 \[0.3em] 3 \[0.3em] end{bmatrix} $

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

$forall x in X;hspace{18pt} forall y in Y;hspace{18pt} f^ast : X to Y$

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

Асессор и анализ поведения людей - 28

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

Асессор и анализ поведения людей - 29

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

3. Выводы

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

4. Приложение

Упомянутые примеры кода для выявления степени важности предикторов и оценки точности моделей прилагаются в виде отдельных файлов: https://github.com/aik84from/ml

Автор: Kalinin Alexandr

Источник

Поделиться

* - обязательные к заполнению поля