วิธีการตรวจสอบความคิดเห็นของผู้ใช้โพลาไรซ์ (ระดับดาวสูงและต่ำ)


15

หากฉันมีระบบการจัดอันดับดาวที่ผู้ใช้สามารถแสดงความพึงพอใจต่อผลิตภัณฑ์หรือรายการได้ฉันจะตรวจสอบสถิติได้อย่างไรหากคะแนนโหวต "แบ่ง" สูง ความหมายแม้ว่าค่าเฉลี่ยคือ 3 จาก 5 สำหรับผลิตภัณฑ์ที่กำหนดฉันจะตรวจสอบได้อย่างไรว่านั่นคือการแบ่ง 1-5 เมื่อเทียบกับฉันทามติ 3 โดยใช้ข้อมูล (ไม่มีวิธีกราฟิก)


3
เกิดอะไรขึ้นกับการใช้ส่วนเบี่ยงเบนมาตรฐาน
Spork

1
ไม่ใช่คำตอบ แต่เกี่ยวข้อง: evanmiller.org/how-not-to-sort-by-average-rating.html
Fractional

1
คุณกำลังพยายามตรวจหา "การกระจายแบบ bimodal" หรือไม่? ดูstats.stackexchange.com/q/5960/29552
Ben Voigt

1
ในรัฐศาสตร์มีบทความเกี่ยวกับการวัดโพลาไรเซชันทางการเมืองที่ตรวจสอบวิธีการต่าง ๆ ในการกำหนดความหมายโดย "โพลาไรเซชัน" หนึ่งกระดาษที่ดีที่กล่าวถึงในรายละเอียด 4 วิธีง่าย ๆ ในการกำหนดโพลาไรซ์คือ (ดูหน้า 692-699): educ.jmu.edu/~brysonbp/pubs/PBJ.pdf
Jake Westfall

คำตอบ:


12

เราสามารถสร้างดัชนีโพลาไรเซชันได้ วิธีการหนึ่งที่กำหนดมันขึ้นอยู่กับสิ่งที่ถือว่าเป็นขั้วมากขึ้น (เช่นคุณหมายถึงอะไรในกรณีขอบโดยเฉพาะอย่างยิ่งโดยขั้วมากขึ้นหรือน้อยลง):

ตัวอย่างเช่นหากค่าเฉลี่ยคือ '4' จะมีการแบ่ง 50-50 ระหว่าง '3' และ '5' มากกว่าหรือน้อยกว่าโพลาไรซ์มากกว่า 25% '1' และ 75% '5'

อย่างไรก็ตามในกรณีที่ไม่มีคำจำกัดความเฉพาะเจาะจงเกี่ยวกับสิ่งที่คุณหมายถึงฉันจะแนะนำการวัดตามความแปรปรวน:

กำหนดค่าเฉลี่ยเฉพาะให้แยกการแยกที่เป็นไปได้มากที่สุดเท่าที่จะเป็นไปได้เพื่อเพิ่มความแปรปรวน *

* (NB ที่จะบอกว่า 25% '1' และ 75% '5' เป็นอย่างมากมากขึ้นขั้วกว่าแยก 50-50 ของ 3 และ 5 หากที่ไม่ตรงกับสัญชาตญาณของคุณไม่ได้ใช้ความแปรปรวน)

ดังนั้นดัชนีโพลาไรเซชันนี้เป็นสัดส่วนของความแปรปรวนที่เป็นไปได้ที่ใหญ่ที่สุด ( ด้วยค่าเฉลี่ยที่สังเกตได้ ) ในความแปรปรวนที่สังเกตได้

เรียกคะแนนเฉลี่ย ( m = ˉ x )mm=x¯

ความแปรปรวนสูงสุดเกิดขึ้นเมื่อสัดส่วนที่5และ1-Pที่1; สิ่งนี้มีความแปรปรวนของ (m-1)(5-m)np=m1451พี1 1(ม.-1)(5-ม.)nn-1

เพียงแค่ใช้ความแปรปรวนตัวอย่างและหารด้วย ; สิ่งนี้จะให้ตัวเลขระหว่าง0(ข้อตกลงที่สมบูรณ์แบบ) และ1(ม.-1)(5-ม.)nn-101 (โพลาไรซ์สมบูรณ์)

สำหรับหลายกรณีที่ค่าเฉลี่ยของเรตติ้งคือ 4 นี่จะให้สิ่งต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่


คุณแทนอาจจะชอบไม่ได้ในการคำนวณพวกเขาเทียบกับความแปรปรวนเป็นไปได้ที่ใหญ่ที่สุดกับค่าเฉลี่ยเท่ากัน แต่แทนที่จะเป็นร้อยละของความแปรปรวนเป็นไปได้ที่ใหญ่ที่สุดสำหรับคะแนนเฉลี่ยใดนั่นจะเป็นการหารด้วยและอีกครั้งให้ค่าระหว่าง 0 (ข้อตกลงที่สมบูรณ์แบบ) และ14nn-11 (โพลาไรซ์ที่ขั้วต่อสุดขั้วในอัตราส่วน 50-50) สิ่งนี้จะให้ความสัมพันธ์เช่นเดียวกับแผนภาพด้านบน แต่ค่าทั้งหมดจะเป็น 3/4 ที่มีขนาดใหญ่ (นั่นคือจากซ้ายไปขวาบนลงล่างพวกเขาจะเป็น 0, 16.5%, 25%, 25%, 50 % และ 75%)

ทั้งสองอย่างเป็นทางเลือกที่ถูกต้องสมบูรณ์แบบ - เช่นเดียวกับวิธีทางเลือกอื่น ๆ ในการสร้างดัชนีเช่นนี้


แต่แล้วเมื่อm = 1คุณได้รับและ1 - 1 = 0 0 / 0คุณแก้ไขให้ถูกต้องอย่างไร?
Francesco

@ Franceso จุดดี เมื่อหรือm = 5สูตรสำหรับแบบฟอร์มแรกจะไม่ได้กำหนด อย่างไรก็ตามภายใต้สมมติฐานต่าง ๆ ข้อ จำกัด ดูเหมือนจะเป็น 1 ซึ่งอาจเป็นสิ่งที่ฉันใช้ ถ้ามีคนต้องการนิยามว่าเป็น 1 หรือ 0 สำหรับกรณีขอบนั้นมันก็สมเหตุสมผลสำหรับฉัน ม.=1ม.=5
Glen_b -Reinstate Monica

8

"ไม่มีวิธีกราฟิก" เป็นอุปสรรคใหญ่ แต่ ... นี่คือความคิดแปลก ๆ ทั้งสองปฏิบัติต่อการจัดอันดับอย่างต่อเนื่องซึ่งเป็นสิ่งที่เป็นจุดอ่อนของแนวคิดและอาจไม่ใช่เพียงหนึ่ง ...

โด่ง

  • kurtosis ของ {1,1,1,5,5,5} = 1 คุณจะไม่ได้รับ kurtosis ที่ต่ำกว่าด้วยคอมโบใด ๆ ของการจัดอันดับ 1-5
  • kurtosis ของ {1,2,3,4,5} = 1.7 ที่ต่ำกว่าหมายถึงค่าที่สูงกว่ามาก; สูงหมายถึงตรงกลางมากขึ้น
  • สิ่งนี้จะไม่ทำงานหากการแจกแจงไม่สมมาตรโดยประมาณ ฉันจะสาธิตด้านล่าง

การถดถอยแบบทวินามลบ

กับกรอบข้อมูลเช่นนี้: Fit รุ่นF R อีคิวยูe n Y ~ R ทีฉันn g +

Raเสื้อผมnก.FRอีQยูอีnY1วันที่ 312153749537
โดยใช้การถดถอยแบบทวินาม FRอีQยูอีnY~Raเสื้อผมnก.+Raเสื้อผมnก.สัมประสิทธิ์ t i n gควรอยู่ใกล้ศูนย์หากการจัดอันดับมีการกระจายอย่างสม่ำเสมอบวกถ้ามีค่าช่วงกลางมากขึ้น (เทียบกับการแจกแจงแบบทวินาม) หรือลบกับการแจกแจงแบบโพลาไรซ์เช่นเดียวกับข้างบนซึ่งสัมประสิทธิ์เป็น - 11.8Raเสื้อผม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')

ระยะกำหนดความโค้ง (เว้าในกรณีนี้) ของสายการถดถอย ตั้งแต่ฉันแล้วการโกงโดยใช้กราฟิกผมพอดีนี้กับ Poisson ถดถอยแทนทวินามเชิงลบเพราะมันเป็นเรื่องง่ายที่จะรหัสกว่าการทำวิธีการที่เหมาะสมRaเสื้อผมnก.



แก้ไข:เพียงแค่เห็นคำถามนี้โฆษณาในแถบด้านข้าง: และเมื่อฉันคลิกฉันเห็นมันในคำถามที่เครือข่ายฮอตเชื่อมโยงกลับไปที่ตัวเองเป็นบางครั้งที่เกิดขึ้น ,

ดังนั้นฉันคิดว่าสิ่งนี้อาจสมควรได้รับการเยี่ยมชมอีกครั้งในวิธีที่มีประโยชน์มากกว่า ฉันตัดสินใจลองวิธีของฉันในบทวิจารณ์ของลูกค้า Amazon สำหรับเสื้อยืดแขนสั้น The Wolf Three Wolf Moon :

Raเสื้อผมnก.12345FRอีQยูอีnY20854891982273


βRaเสื้อผมnก.=-19.1 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 Monica

@Glen_b: และรุ่นแรกไม่เหมาะสมน้อยกว่าถ้าค่าเฉลี่ยไม่ได้รับการแก้ไขในการให้คะแนนชุดต่าง ๆ ที่ต้องเปรียบเทียบหรือไม่ หรือฉันเข้าใจผิดคำตอบของคุณ?
Nick Stauner

ขึ้นอยู่กับว่าเป้าหมายคืออะไร ตัดสินโดยชื่อ "วิธีการตรวจสอบความคิดเห็นของโพลาไรซ์" ผมโอนเอียงแรก ( ได้รับคะแนนเฉลี่ยวิธีขั้วเป็นความเห็นเกี่ยวกับที่? ) หากเป้าหมายมีไว้เพื่อเปรียบเทียบชุดคะแนนที่แตกต่างกันมันอาจสมเหตุสมผลมากกว่าที่จะทำงานกับแนวทางที่สองตามที่คุณแนะนำ ทำไมฉันถึงทำทั้งสองอย่าง ความคิดเห็นของฉันไม่ได้มีจุดประสงค์เพื่อการวิจารณ์ ฉันภูมิใจที่คุณพูดถึงมันทั้งหมด
Glen_b -Reinstate Monica

@Glen_b: เข้าใจ :) TBH ฉันแนะนำวิธีสร้างแบบจำลองการถดถอยเชิงลบแบบทวินามว่าดีกว่า แต่ฉันยอมรับว่าฉันแทบจะไม่ได้ทดสอบอย่างถี่ถ้วน ฉันมีความรู้สึกว่าชุดเรตติ้งโพลาไรซ์ที่แท้จริงส่วนใหญ่จะไม่ได้โพลาไรซ์เท่า ๆ กันดังนั้นฉันคิดว่าความแข็งแกร่งต่อความไม่สมดุลจะเป็นสิ่งสำคัญสำหรับผู้อ่านในอนาคต
Nick Stauner

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 เพื่อประเมินว่าความแปรปรวนที่สังเกตเห็นนั้นค่อนข้างใกล้เคียงกับความแปรปรวนสูงสุดที่เป็นไปได้ภายใต้ค่าเฉลี่ยที่สังเกต ทื่อของฉันและตรงจากข้อเสนอไหล่ของฉันคือเกี่ยวกับการวัดการกระจายตัวที่แข็งแกร่งโดยไม่ได้เบี่ยงเบนไปจากศูนย์กลางบางจุด แต่โดยตรงกับระยะทางระหว่างจุดข้อมูล

dผมผม

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 เพื่อคำนวณความแปรปรวน) การคำนวณระยะทางจะไม่ยากเกินไปแม้ว่าจะมีขนาดใหญ่ยังไม่มีข้อความ ที่นี่เพราะระดับการให้คะแนนเป็นแบบสืบเนื่องและมีระดับค่อนข้างน้อยดังนั้นอัลกอริธึมการถ่วงน้ำหนักเพื่อคำนวณระยะทางจึงให้ตัวเองตามธรรมชาติ


ค่าเฉลี่ยของระยะทางยกกำลังสองคู่นั้นสัมพันธ์กับความแปรปรวน
Glen_b -Reinstate Monica

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 Wolf Three Wolf Moon :

Raเสื้อผมnก.12345FRอีQยูอีnY20854891982273

ในกรณีนี้:

Raเสื้อผมnก.aโวลต์อีRaก.อี(1,2)3aโวลต์อีRaก.อี(4,5)FRอีQยูอีnY131891235

สิ่งนี้จะผ่านการทดสอบและถูกพิจารณาว่าเป็นความคิดเห็นที่ถูกแบ่งออก


1
สิ่งที่ถ้ามีจำนวนมากของ 2s และ 4s และการจัดอันดับอื่น ๆ ค่อนข้างน้อย? มันยากที่จะจินตนาการว่าสิ่งนี้เกิดขึ้นในความเป็นจริง แต่จริงๆแล้วเราต้องการเรียกว่าโพลาไรซ์หรือไม่
Nick Stauner

ลองคิดดูสิเราสามารถหาเคสที่มี 1s และ 5s จำนวนมากได้ง่ายขึ้น 2s และ 4s น้อยมากและ 3s ในปริมาณปานกลาง ตัวอย่างเช่น
Raเสื้อผมnก.12345FRอีQยูอีnY25515525
โพลาไรซ์นั้นสวยใช่ไหม แต่วิธีการของคุณจะให้ผลลัพธ์ที่เหมือนกันเช่นนี้สำหรับการกระจายแบบสม่ำเสมอที่ 15 ของการจัดอันดับแต่ละครั้ง
Nick Stauner

0

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือค่าเบี่ยงเบนมาตรฐาน:

σ=Σผม=0n(xผม-μ)2nที่ไหน σ ค่าเบี่ยงเบนมาตรฐานคือ n คือจำนวนจุดข้อมูลx แสดงถึงจุดข้อมูลทั้งหมดและμ คือค่าเฉลี่ย

ฉันไม่รู้ว่านี่คือภาษาการเขียนโปรแกรม แต่นี่เป็นวิธี 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;
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.