ध्रुवीकृत उपयोगकर्ता राय (उच्च और निम्न स्टार रेटिंग) का पता कैसे लगाएं


15

अगर मेरे पास एक स्टार रेटिंग प्रणाली है जहां उपयोगकर्ता किसी उत्पाद या आइटम के लिए अपनी प्राथमिकता व्यक्त कर सकते हैं, तो मैं कैसे सांख्यिकीय रूप से पता लगा सकता हूं यदि वोट अत्यधिक "विभाजित" हैं। मतलब, भले ही किसी दिए गए उत्पाद के लिए औसत 5 में से 3 है, मैं कैसे पता लगा सकता हूं कि क्या यह 1-5 विभाजन बनाम एक आम सहमति 3 है, केवल डेटा का उपयोग करके (कोई ग्राफिकल तरीके नहीं)


3
एक मानक विचलन का उपयोग करने में क्या गलत है?
स्पार्क

1
उत्तर नहीं, लेकिन प्रासंगिक: evanmiller.org/how-not-to-sort-by-aiture-rating.html
भिन्नात्मक

1
क्या आप "बिमोडल वितरण" का पता लगाने की कोशिश कर रहे हैं? आँकड़े
बेन

1
राजनीतिक विज्ञान में राजनीतिक ध्रुवीकरण को मापने पर एक साहित्य है जिसने "ध्रुवीकरण" के माध्यम से परिभाषित करने के विभिन्न तरीकों की जांच की है। ध्रुवीकरण को परिभाषित करने के 4 अलग-अलग सरल तरीकों पर विस्तार से चर्चा करने वाला एक अच्छा पेपर निम्नलिखित है (देखें। पृ। 692-699): education.jmu.edu/~brysonbp/pubs/PBJ.pdf
जेक वेस्टफॉल

जवाबों:


12

एक ध्रुवीकरण सूचकांक का निर्माण कर सकता है; वास्तव में यह कैसे परिभाषित करता है कि अधिक ध्रुवीकृत होने पर क्या निर्भर करता है (यानी क्या, वास्तव में, विशेष रूप से किनारे के मामलों में, अधिक या कम ध्रुवीकृत द्वारा?)।

उदाहरण के लिए, यदि माध्य '4' है, तो '3' और '5' के बीच 50-50 विभाजन है, या 25% '1' और 75% '5' की तुलना में कम ध्रुवीकृत है?

वैसे भी, आप क्या मतलब है की विशिष्ट परिभाषा के अभाव में, मैं विचरण के आधार पर एक उपाय सुझाऊंगा:

किसी विशेष अर्थ को देखते हुए, सबसे अधिक ध्रुवीकृत संभावित विभाजन को परिभाषित करें, जो कि विचरण को अधिकतम करता है *।

* (एनबी जो कहेगा कि 25% '1' और 75% '5' '3' और '5' के 50-50 विभाजन से काफी अधिक ध्रुवीकृत है; यदि यह आपके अंतर्ज्ञान से मेल नहीं खाता है, तो विचरण का उपयोग न करें)

तो यह ध्रुवीकरण सूचकांक मनाया गया विचरण में सबसे बड़े संभावित विचरण ( देखे गए अर्थ के साथ ) का अनुपात है ।

औसत रेटिंग कॉल ( मीटर = ˉ एक्सmm=x¯ )।

अधिकतम विचरण तब होता है जब एक अनुपात पर है5और1-पीमें है1; इसमें(m-1)(5-m)thisn काविचरण है p=m1451p1(m1)(5m)nn1

तो बस नमूना प्रसरण और से विभाजित ले ; यह0(पूर्ण समझौते) और1 केबीच एक संख्या देता है(m1)(5m)nn101 (पूरी तरह से ध्रुवीकृत) के ।

ऐसे कई मामलों के लिए जहां औसत रेटिंग 4 है, यह निम्नलिखित देगा:

यहाँ छवि विवरण दर्ज करें


आप इसके बजाय उन्हें एक ही माध्य के साथ सबसे बड़े संभव संस्करण के सापेक्ष गणना करने के लिए पसंद नहीं कर सकते हैं , बल्कि किसी भी औसत रेटिंग के लिए सबसे बड़े संभव संस्करण के प्रतिशत के रूप में । यही कारण है कि द्वारा बजाय विभाजित शामिल होगा , और फिर 0 (पूर्ण समझौते) और1 केबीच एक मान देता है4nn11 (50-50 के अनुपात में चरम सीमा पर ध्रुवीकृत देता है। यह ऊपर के आरेख के समान सापेक्षता प्राप्त करेगा, लेकिन सभी मान 3/4 बड़े होंगे (यानी बाएं से दाएं, ऊपर से नीचे वे 0, 16.5%, 25%, 25%, 50% होंगे % और 75%)।

दोनों में से कोई एक पूरी तरह से वैध विकल्प है - जैसा कि इस तरह के सूचकांक के निर्माण के वैकल्पिक तरीकों की कोई अन्य संख्या है।


लेकिन तब जब m = 1आप प्राप्त 1 - 1 = 0और 0 / 0। आप उसके लिए कैसे सही हैं?
फ्रांसेस्को

@Franceso अच्छी बात है। जब या m = 5 पहले फॉर्म का सूत्र अपरिभाषित होता है। हालांकि, विभिन्न मान्यताओं के तहत सीमा 1 लगती है, जो कि शायद मैं उपयोग करूंगा। अगर कोई उस किनारे के मामले के लिए इसे 1 या 0 के रूप में परिभाषित करना चाहता है, तो यह मुझे उचित लगेगा। m=1m=5
Glen_b -Reinstate मोनिका

8

"कोई चित्रमय विधियाँ" एक बड़े बाधा की तरह नहीं है, लेकिन ... यहाँ कुछ अजीब विचार हैं। दोनों रेटिंग्स को निरंतर मानते हैं, जो एक वैचारिक कमजोरी है, और शायद केवल एक ही नहीं ...

कुकुदता

  • {1,1,1,5,5,5} = का कर्टोसिस 1 -5 रेटिंग वाले किसी भी कॉम्बो के साथ आपको कम कर्टोसिस नहीं मिलेगा।
  • {1,2,3,4,5} का कुर्तोसिस = 1.7। निचले का अर्थ है अधिक चरम मान; अधिक मध्य का मतलब है।
  • यदि वितरण लगभग सममित नहीं है तो यह काम नहीं करेगा। मैं नीचे प्रदर्शित करूँगा।

नकारात्मक द्विपद प्रतिगमन

: इस तरह एक डेटा फ्रेम के साथ फ़िट मॉडल एफ आर क्यू यू एन सी y ~ आर एक टी मैं n जी +

RatingFrequency1312153749537
नकारात्मक द्विपद प्रतिगमन का उपयोग कर। दFrequencyRating+Rating गुणांक शून्य के पास होना चाहिए, अगर रेटिंग कर रहे हैंसमान रूप से वितरितसकारात्मक है, अगर वहाँ आनुपातिक अधिक मध्यम रेंज मूल्यों (सीएफ हैंद्विपद बंटनRating ), या इसके बाद के संस्करण है, जो के लिए गुणांक है जैसे ध्रुवीकरण वितरण के साथ नकारात्मक - 11.8।

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')

Rating



संपादित करें: बस इस प्रश्न को साइडबार पर विज्ञापित देखा है: और जब मैंने क्लिक किया, तो मैंने इसे हॉट नेटवर्क प्रश्नों में खुद को वापस लिंक करते हुए देखा, जैसा कि कभी-कभी होता है ,

इसलिए मैंने सोचा कि यह अधिक आम तौर पर उपयोगी तरीके से फिर से देखने के लायक हो सकता है। मैंने माउंटेन थ्री वुल्फ मून शॉर्ट स्लीव टी के लिए अमेज़ॅन ग्राहक समीक्षाओं पर अपने तरीके आज़माने का फैसला किया :

Rating12345Frequency20854891982273


βRating=19.1

σFrequencyThe Mountain Three Wolf Moon Short Sleeve Tee Ratings2=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 -Reinstate मोनिका

@Glen_b: जब पहला संस्करण रेटिंग के विभिन्न सेटों की तुलना में तय नहीं होता है जो तुलना की आवश्यकता होती है, तो पहला संस्करण कम उपयुक्त नहीं है? या मैंने आपका जवाब गलत समझा है?
निक स्टनर

यह इस बात पर निर्भर करता है कि उद्देश्य क्या है। "ध्रुवीकृत राय का पता लगाने के लिए" शीर्षक से देखते हुए, मैं पहले की ओर झुक गया ( औसत रेटिंग दी, कैसे ध्रुवीकृत राय उस बारे में राय? )। यदि उद्देश्य वास्तव में रेटिंग के विभिन्न सेटों की तुलना करने के लिए था, तो यह दूसरे दृष्टिकोण के साथ काम करने के लिए अधिक समझदार हो सकता है, जैसा कि आप सुझाव देते हैं। इसके कारण मैंने दोनों किया। मेरी टिप्पणी किसी भी मायने में आलोचना के रूप में नहीं थी; मैं चापलूसी कर रहा हूँ आपने इसका उल्लेख किया है।
Glen_b -रिटनेट मोनिका

@ गलेन_ बी: समझ गया :) टीबीएच, मैं सुझाव दे रहा हूं कि नकारात्मक द्विपद प्रतिगमन मॉडलिंग दृष्टिकोण बेहतर है, लेकिन मैं मानता हूं कि मैंने इसे पूरी तरह से परीक्षण किया है। मुझे लगता है कि अधिकांश वास्तविक ध्रुवीकृत रेटिंग सेट समान रूप से ध्रुवीकृत नहीं होंगे, इसलिए मैं सोच रहा हूं कि विषमता के खिलाफ मजबूती भविष्य के पाठकों के लिए महत्वपूर्ण होगी।
निक स्टनर

5

मुझे लगता है कि विचरण की गणना करने का एक आसान तरीका है। इस तरह की एक सरल प्रणाली में, एक उच्च विचरण का मतलब 1s / 5s अधिक होगा। EDIT त्वरित उदाहरण: यदि आपके मूल्य 1,3,3,5 हैं तो आपका विचरण होगा:

(1-3)2+(3-3)2+(3-3)2+(5-3)24=1
(1-3)2+(1-3)2+(5-3)2+(5-3)24=2

2

मुझे संदेह है कि मैं पहले से दिए गए चतुर उत्तरों में कुछ मूल्यवान जोड़ सकता हूं। विशेष रूप से, @ Glen_b के ठीक विचार से यह पता लगाया जा सकता है कि किस प्रकार मनाया गया विचलन, देखे गए माध्य के तहत संभवत: अधिकतम विचरण के करीब है। कंधे के प्रस्ताव से मेरा खुद का कुंद और सीधा, इसके बजाय, कुछ केंद्र से विचलन के आधार पर फैलाव के कुछ मजबूत माप के बारे में नहीं है, बल्कि सीधे डेटा बिंदुओं के बीच की दूरी पर है।

सभी डेटा बिंदुओं के बीच जोड़ीदार दूरी (पूर्ण अंतर) की गणना करें। ड्रॉप आउटमैंमैंशून्य दूरी। दूरियों के वितरण में एक केंद्रीय प्रवृत्ति की गणना करें (पसंद आपकी है; यह उदाहरण के लिए, माध्य, मध्य या होजेस-लेहमन केंद्र हो सकता है )।

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 आँकड़े "ध्रुवीकरण" के उपायों के रूप में बहुत भिन्न हो सकते हैं (यदि मुझे द्विध्रुवी टकराव के बजाय "असहमति" को मापना था, तो मैं शायद एचएल चुनूंगा)। चुनना आपको है। एक धारणा: यदि आप चुकता दूरी की गणना करते हैं, तो उनका मतलब सीधे डेटा में सामान्य विचरण से संबंधित होगा (और इसलिए आप विचरण करने के लिए @ डंकन के सुझाव पर पहुंचेंगे)। दूरी की गणना बड़े के साथ भी कठिन नहीं होगीएन यहाँ क्योंकि रेटिंग पैमाना अवरोही है और अपेक्षाकृत कुछ ग्रेड के साथ है, इसलिए दूरी की गणना करने के लिए आवृत्ति-भारित एल्गोरिथ्म खुद को स्वाभाविक रूप से प्रदान करता है।


जोड़ीदार चौकोर दूरी का मतलब विचरण से संबंधित है।
Glen_b -Reinstate मोनिका

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
}

मेरे सिर के ऊपर से मैं किसी भी स्थिति के बारे में नहीं सोच सकता जिसमें यह काम नहीं करेगा। ऊपर दिए गए उदाहरण का उपयोग करते हुए: द माउंटेन थ्री वुल्फ मून शॉर्ट स्लीव टी के लिए अमेज़न ग्राहक की समीक्षा :

Rating12345Frequency20854891982273

In this case:

Ratingaverage(1,2)3average(4,5)Frequency131891235

This would pass the test and be considered divided opinion.


1
what if there were lots of 2s and 4s, and relatively few other ratings? It is hard to imagine this happening in reality, but would one really want to call that polarized?
Nick Stauner

Come to think of it, one could more easily find cases with lots of 1s and 5s, very few 2s and 4s, and a moderate amount of 3s. For instance,
Rating12345Frequency25515525
That's pretty polarized, no? Yet your method would produce the same result for this as for a uniform distribution of 15 of each rating.
Nick Stauner

0

I think what you are looking for is standard deviation:

σ=i=0n(xiμ)2nwhere σ is standard deviation, n is the number of data points,x represents all of the data points, andμ is the mean.

I don't know what programming language this is, but here's a java method that will give you standard deviation:

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;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.