Как определить поляризованные мнения пользователей (высокие и низкие звездные рейтинги)

15

Если у меня есть система звездного рейтинга, где пользователи могут выразить свое предпочтение продукту или товару, как я могу определить статистически, если голоса сильно «разделены». Значение, даже если среднее значение составляет 3 из 5, для данного продукта, как я могу определить, является ли это 1-5 разделением против консенсуса 3, используя только данные (без графических методов)

Дэвид Уильямс
источник
3
Что не так с использованием стандартного отклонения?
Spork
1
Не ответ, но соответствующий: evanmiller.org/how-not-to-sort-by-average-rating.html
Fractional
1
Вы пытаетесь обнаружить «бимодальное распределение»? См. Stats.stackexchange.com/q/5960/29552
Бен Фойгт
1
В политической науке есть литература по измерению политической поляризации, в которой рассматриваются различные способы определения того, что подразумевается под «поляризацией». Одна хорошая статья, в которой подробно обсуждаются 4 различных простых способа определения поляризации, заключается в следующем (см. Стр. 692-699): educ.jmu.edu/~brysonbp/pubs/PBJ.pdf
Джейк Уэстфолл

Ответы:

12

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

Например, если среднее значение равно «4», будет ли 50-50 деление между «3» и «5» больше или менее поляризовано, чем 25% «1» и 75% «5»?

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

Учитывая конкретное среднее значение, определите наиболее поляризованное возможное расщепление как максимизирующее дисперсию *.

* (Примечание: 25% «1» и 75% «5» - это существенно более поляризованы, чем 50-50 «3» и «5»; если это не соответствует вашей интуиции, не используйте дисперсию)

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

Назовите средний рейтинг ( m = ˉ x ).мm=x¯

Максимальная дисперсия возникает при пропорции в5и1-рв1; это имеет дисперсию (m-1)(5-m)nпзнак равном-1451-п1 .(m1)(5m)nn1

Так что просто возьмите выборочную дисперсию и разделите на ; это дает число между0(полное согласие) и1(полностью поляризованное).(m1)(5m)nn101

Для ряда случаев, когда средний рейтинг равен 4, это даст следующее:

введите описание изображения здесь


Вместо этого вы можете предпочесть не вычислять их относительно максимально возможной дисперсии с тем же средним значением, а вместо этого в процентах от максимально возможной дисперсии для любого среднего рейтинга . Это будет включать деление вместо , и снова дает значение между 0 (идеальное согласие) и4NN-1 (поляризовано в крайних значениях в соотношении 50-50). Это даст те же релятивности, что и на диаграмме выше, но все значения будут на 3/4 больше (то есть слева направо, сверху вниз они будут 0, 16,5%, 25%, 25%, 50 % и 75%).1

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

Glen_b - Восстановить Монику
источник
Но тогда, когда m = 1вы получите 1 - 1 = 0и 0 / 0. Как вы исправляете это?
Франческо
@Franceso Хороший вопрос. Когда или m = 5, формула для первой формы не определена. Тем не менее, при различных допущениях, предел кажется равным 1, что, вероятно, я бы использовал. Если бы кто-то хотел определить его как 1 или 0 для этого граничного случая, мне показалось бы разумным. мзнак равно1мзнак равно5
Glen_b
8

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

эксцесс

  • Куртоз {1,1,1,5,5,5} = 1. Вы не получите меньший эксцесс с любым комбо из 1–5 оценок.
  • Эксцесс {1,2,3,4,5} = 1,7. Нижний означает более экстремальные значения; выше означает больше среднего.
  • Это не будет работать, если распределение не примерно симметрично. Я продемонстрирую ниже.

Отрицательная биноминальная регрессия

С кадром данных следующим образом: Пригодное модель Р т е д у й п с у ~ Р т я н г +

RatingFrequency1312153749537
с использованием отрицательной биномиальной регрессии. FreQUеNсY~рaTяNграмм+рaTяNграммКоэффициент R a t i n g должен быть близким к нулю, если рейтингираспределены равномерно, положительным, если пропорционально больше значений среднего диапазона (ср.Биномиальное распределение), или отрицательным с поляризованными распределениями, подобными приведенным выше, для которых коэффициент равен - 11,8.рaTяNграмм

FWIW, вот код , который я играл с:

x=rbinom(99,4,c(.1,.9))+1;y=sample(0:4,99,replace=T)+1 #Some polarized & uniform rating data
table(x);table(y)                                                         #Frequencies
require(moments);kurtosis(x);kurtosis(y)                                  #Kurtosis

Y=data.frame(n=as.numeric(table(y)),rating=as.numeric(levels(factor(y)))) #Data frame setup
X=data.frame(n=as.numeric(table(x)),rating=as.numeric(levels(factor(x)))) #Data frame setup
require(MASS);summary(glm.nb(n~rating+sqrt(rating),X))  #Negative binomial of polarized data
summary(glm.nb(n~rating+sqrt(rating),Y))                #Negative binomial of uniform data

Не могу устоять перед броском в сюжет ...

require(ggplot2);ggplot(X,aes(x=rating,y=n))+geom_point()+stat_smooth(formula=y~x+I(sqrt(x)),method='glm',family='poisson')

рaTяNграмм



Редактировать: только что увидел этот вопрос, рекламируемый на боковой панели: и когда я нажал, я увидел его в Hot Network Questions, ссылающихся обратно на себя, как это иногда бывает ,

поэтому я подумал, что это заслуживает повторного рассмотрения в более общем смысле. Я решил попробовать свои методы в обзорах клиентов Amazon для футболки The Mountain Three Wolf Moon с коротким рукавом :

рaTяNграмм12345FреQUеNсY20854891982273


βрaTяNграммзнак равно-19,1

σFреQUеNсYРейтинги The Three Three Wolf Moon с короткими рукавами2знак равно1,31
x=rep(5:1,c(2273,198,89,54,208))var(x)/(4*length(x)/(length(x)-1))

Ник Стаунер
источник
Это около 0,77 для первой версии индекса поляризации (то есть относительно наиболее поляризованного с учетом среднего значения), но да, как вы говорите, 0,33 для второй версии (относительно максимально возможного поляризованного распределения).
Glen_b
@Glen_b: И не является ли первая версия менее подходящей, когда среднее значение не фиксировано для различных наборов оценок, которые нужно сравнивать? Или я неправильно понял ваш ответ?
Ник Стаунер
Это зависит от цели. Судя по названию «как определить поляризованные мнения», я склоняюсь к первому ( учитывая средний рейтинг, насколько поляризовано мнение об этом? ). Если цель действительно состояла в том, чтобы сравнить различные наборы рейтингов, может оказаться более целесообразным работать со вторым подходом, как вы предлагаете. Вот почему я сделал оба. Мой комментарий не был предназначен в каком-либо смысле как критика; Я польщен, что ты упомянул это вообще.
Glen_b
@Glen_b: Понятно :) TBH, я полагаю, что подход к моделированию отрицательной биномиальной регрессии лучше, но я признаю, что почти не проверял его полностью. У меня такое ощущение, что большинство реальных поляризованных наборов оценок не будут равномерно поляризованными, поэтому я думаю, что устойчивость к асимметрии будет важна для будущих читателей.
Ник Стаунер
5

(1-3)2+(3-3)2+(3-3)2+(5-3)24знак равно1
Если ваши цифры 1,1,5,5, ваша разница будет:
(1-3)2+(1-3)2+(5-3)2+(5-3)24знак равно2
Дункан
источник
2

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

Вычислить попарные расстояния (абсолютные различия) между всеми точками данных. Выбыватьdяя zero distances. Compute a central tendency in the distribution of the distances (the choice is yours; it may be, for example, mean, median, or Hodges-Lehmann centre).

Rating scale                   Distances      Mean     Median    Hodges-Lehmann
1  2  3  4  5

Frequency distributions:

1     2     1                 0 2 2 2 2 4      2          2          2

2           2                 0 0 4 4 4 4      2.7        4          2

1        2  1                 0 1 1 3 3 4      2          2          2

1  1  1     1                 1 1 2 2 3 4      2.2        2          2

1  1     1  1                 1 1 2 3 3 4      2.3        2.5        2.5

1           3                 0 0 0 4 4 4      2          2          2

Как видите, эти 3 статистики могут сильно отличаться как меры «поляризации» (если бы я измерял «разногласия», а не биполярную конфронтацию, я бы, вероятно, выбрал HL). Выбор ваш. Одно понятие: если вы вычисляете квадратные расстояния, их среднее значение будет напрямую связано с обычной дисперсией в данных (и поэтому вы получите предложение @ Duncan для вычисления дисперсии). Вычисление расстояний не будет слишком сложным даже при большихN здесь, потому что шкала оценки является конкретной и с относительно небольшим количеством оценок, поэтому алгоритм частотного взвешивания для вычисления расстояний предлагает себя естественным образом.

ttnphns
источник
Среднее значение парных квадратов расстояний связано с дисперсией.
Glen_b
0

Как насчет того, если 3-звездочный рейтинг меньше среднего из 5 и 4, а также меньше среднего 1 и 2:

if (number_of_ratings > 6)      // kind of meaningless unless there's enough ratings
{
    if ( ((rating(5)+rating(4))*0.5 > rating(3)) &&
         ((rating(1)+rating(2))*0.5 > rating(3))
       )    
    {
        // Opinion divided
    }
    else
    {
        // Opinion not divided
    }
}
else
{
    // Hard to tell yet if opinion is divided
}

Я не могу вспомнить ни одной ситуации, в которой это не сработало бы. Используя приведенный выше пример: отзывы покупателей Amazon о футболке The Mountain Three Wolf Moon с коротким рукавом :

рaTяNграмм12345FреQUеNсY20854891982273

В таком случае:

рaTяNграммavерaграмме(1,2)3avерaграмме(4,5)FреQUеNсY131891235

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

Rocketmagnet
источник
1
Что если бы было много 2-х и 4-х и относительно немного других рейтингов? Трудно представить, что это происходит на самом деле, но действительно ли это можно назвать поляризованным?
Ник Стаунер
Если подумать, можно было бы легче найти случаи с большим количеством единиц и пятерок, очень небольшим числом двух и четырех и умеренным количеством трех. Например,
рaTяNграмм12345FреQUеNсY25515525
Это довольно поляризовано, нет? Тем не менее, ваш метод даст для этого тот же результат, что и для равномерного распределения 15 каждого рейтинга.
Ник Стаунер
0

Я думаю, что вы ищете стандартное отклонение:

σзнак равноΣязнак равно0N(Икся-μ)2Nгде σ стандартное отклонение, N количество точек данных,Икс представляет все точки данных, иμ это среднее.

Я не знаю, что это за язык программирования, но вот метод Java, который даст вам стандартное отклонение:

public static double standardDeviation(double[] data) {
            //find the mean
    double sum = 0;
    for(double x:data) {
        sum+=x;
    }
    double mean = sum/data.length;

            //find standard deviation
    Double sd;
    sd=0.0;
    for(double x:data) {
        sd+=Math.pow((x-mean),2);
    }
    sd=sd/data.length;
    sd=Math.sqrt(sd);

    return sd;
}
анонимный
источник