การแสดง "ฮิสโตแกรม" หลายรายการ (แผนภูมิแท่ง)


9

ฉันมีปัญหาในการเลือกวิธีที่ถูกต้องในการมองเห็นข้อมูล สมมติว่าเรามีร้านหนังสือที่ขายหนังสือและหนังสือทุกเล่มที่มีอย่างน้อยหนึ่งหมวดหมู่

สำหรับร้านหนังสือถ้าเรานับหมวดหนังสือทั้งหมดเราจะได้ฮิสโตแกรมที่แสดงจำนวนหนังสือที่จัดอยู่ในหมวดหมู่เฉพาะสำหรับร้านหนังสือนั้น

ฉันต้องการเห็นภาพพฤติกรรมของร้านหนังสือฉันต้องการดูว่าพวกเขาชอบหมวดหมู่มากกว่าหมวดหมู่อื่นหรือไม่ ฉันไม่ต้องการดูว่าพวกเขานิยม sci-fi ทั้งหมดหรือไม่ แต่ฉันต้องการดูว่าพวกเขาปฏิบัติต่อทุกหมวดหมู่อย่างเท่าเทียมกันหรือไม่

ฉันมีร้านหนังสือประมาณ 1 ล้าน

ฉันคิดถึงวิธีการ 4 วิธี:

  1. ตัวอย่างข้อมูลแสดงฮิสโตแกรมของร้านหนังสือเพียง 500 แสดงใน 5 หน้าแยกโดยใช้ตาราง 10x10 ตัวอย่างของตาราง 4x4:

    ฮิสโทแกรมหลายอัน 1

  2. เหมือนกับ # 1 แต่คราวนี้จัดเรียงค่าแกน x ตามจำนวนนับของพวกเขาดังนั้นหากมีความนิยมมันจะเห็นได้ง่าย

  3. ลองนึกภาพการใส่ฮิสโตแกรมใน # 2 เข้าด้วยกันเหมือนสำรับและแสดงมันในแบบ 3 มิติ บางสิ่งเช่นนี้
    ฮิสโตแกรม 3 มิติ

  4. แทนที่จะใช้สีแกนที่สามฟ้องร้องเพื่อเป็นตัวแทนของสีดังนั้นการใช้แผนที่ความร้อน (2D ฮิสโตแกรม): ฮิสโตแกรม 2D
    ถ้าโดยทั่วไปร้านหนังสือต้องการบางหมวดหมู่ให้ผู้อื่นมันจะแสดงเป็นไล่ระดับสีที่ดีจากซ้ายไปขวา

คุณมีแนวคิด / เครื่องมือสร้างภาพอื่น ๆ เพื่อเป็นตัวแทนของฮิสโตแกรมหลายรายการหรือไม่?


4
ฉันคิดว่าคุณหมายถึงแผนภูมิแท่งมากกว่าฮิสโทแกรม
Rob Hyndman

@Rob: ฮิสโตแกรมไม่ใช่แผนภูมิแท่งชนิดพิเศษที่แสดงการแจกแจงความถี่ใช่หรือไม่ ฉันพยายามเห็นความถี่หมวดหมู่สำหรับร้านหนังสือหลาย ๆ แห่ง
nimcap

1
@nimcap ไม่เนื่องจากฮิสโตแกรมอยู่เหนือตัวแปรต่อเนื่องและหมวดหมู่หนังสือเป็นตัวแปรเด็ดขาด

@mbq สมมติว่าร้านหนังสือมีหนังสือ 3 เล่มและหมวดหมู่คือ: B1: [c1, c2, c3] B2: [c1, c3] B3: [c1, c4] เมื่อเรารวมหมวดหมู่แล้วเราจะได้รับ [c1 x 3, c2 x 1, c3 x 2, c4 x 1] การสร้างฮิสโตแกรมนั้นไม่เพียงพอหรือไม่
nimcap

2
@nimcap ไม่มันก็เพียงพอที่จะสร้างแผนภูมิแท่ง ฮิสโตแกรมสามารถทำได้เช่นในราคาหนังสือ

คำตอบ:


12

อย่างที่คุณทราบแล้วว่าไม่มีคำตอบสำหรับคำถามของคุณง่าย ๆ !

ฉันคิดว่าคุณสนใจที่จะหาร้านหนังสือแปลก ๆ หากเป็นกรณีนี้คุณสามารถลองสิ่งต่างๆเช่นPCA (ดูหน้าการวิเคราะห์กลุ่มวิกิพีเดียสำหรับรายละเอียดเพิ่มเติม)

เพื่อให้แนวคิดแก่คุณลองพิจารณาตัวอย่างนี้ คุณมีร้านหนังสือ 26 แห่ง (พร้อมชื่อ A, B, .. Z) ร้านหนังสือทั้งหมดมีลักษณะคล้ายกันยกเว้น:

  1. Shop Z ขายหนังสือประวัติศาสตร์เพียงไม่กี่เล่ม
  2. ร้านค้า OY ขายหนังสือรักมากกว่าค่าเฉลี่ย

พล็อตส่วนประกอบหลักไฮไลท์ร้านค้าเหล่านี้สำหรับการตรวจสอบเพิ่มเติม

นี่คือตัวอย่างรหัส R:

> d = data.frame(Romance = rpois(26, 50), Horror = rpois(26, 100), 
               Science = rpois(26, 75), History = rpois(26, 125))
> rownames(d) = LETTERS
#Alter a few shops
> d[15:25,][1] = rpois(11,150)
> d[26,][4] = rpois(1, 10)
#look at the data
> head(d, 2)
       Romance Horror Science History
 A      36    107      62     139
 B      47     93      64     118
> books.PC.cov = prcomp(d)
> books.scores.cov = predict(books.PC.cov)
# Plot of PC1 vs PC2
> plot(books.scores.cov[,1],books.scores.cov[,2],
       xlab="PC 1",ylab="PC 2", pch=NA)
> text(books.scores.cov[,1],books.scores.cov[,2],labels=LETTERS)

นี่ให้พล็อตต่อไปนี้:

พล็อต PCA http://img265.imageshack.us/img265/7263/tmplx.jpg

สังเกตว่า:

  1. ร้านค้า z เป็นจุดที่อยู่ห่างไกล
  2. ร้านค้าอื่น ๆ มีสองกลุ่มที่แตกต่างกัน

ความเป็นไปได้อื่น ๆ

คุณสามารถดูGGobiได้ฉันไม่เคยใช้มัน แต่มันก็ดูน่าสนใจ


ขอบคุณสำหรับคำตอบที่มีค่าของคุณ สถานการณ์ยากที่จะอธิบายแม้ในภาษาของฉันเอง :) ให้ฉันลอง ฉันไม่สนใจว่าร้านหนังสือนิยมประเภทใดเป็นพิเศษหรือไม่ แต่ฉันต้องการดูว่าพวกเขาชอบหมวดหมู่หรือไม่ จริงๆแล้วนี่คือสิ่งที่ฉันคาดหวัง สมมติว่าฉันมีร้านหนังสือ 3 แห่ง (B1, B2, B3) และ 4 หมวดหมู่ (C1, C2, C3, C4) นี่คือข้อมูลการขายของพวกเขา: B1 (1, 1, 20, 20) B2 (90, 1, 1, 1), B3 (1, 1, 1, 1, 30) เมื่อดูที่ข้อมูลนี้ฉันสามารถบอกได้ว่าพวกเขาชอบบางหมวดหมู่ให้ผู้อื่น แต่ถ้าข้อมูลเหมือน B1 (20, 30, 20, 20) B2 (90, 100, 100, 100), B3 (30, 30, 40, 40) ฉันไม่สามารถพูดได้
nimcap

ในตัวอย่างของฉันร้านค้า OY ชอบหนังสือรักโรแมนติก นี่คือเหตุผลที่ร้านค้าเหล่านี้อยู่ในกลุ่มที่แตกต่างในพล็อตพีซี
csgillespie

2
ฉันโหวตให้นี่เป็นคำตอบทั่วไปที่ดี แต่เป็นคำตอบที่ใช้งานได้จริงการจัดการกับจุดข้อมูลจำนวนมากนั้นจะโหดร้าย
จอห์น

1
+1 สิ่งนี้ไม่ใช่สิ่งที่ OP ต้องการ แต่ก็เป็นสิ่งที่เธอ / เขาต้องการ

1
+1 ตัวอย่างที่ดีของแอปพลิเคชัน "ลงสู่พื้นดิน" ของ PCA
โก้

3

ฉันขอแนะนำสิ่งที่ไม่ได้มีชื่อที่กำหนดไว้ (อาจเป็น "พล็อตแบบขนาน") และมีลักษณะดังนี้:

ข้อความแสดงแทน

โดยทั่วไปคุณจะนับจำนวนร้านหนังสือทั้งหมดเป็นคะแนนตามหมวดหมู่ที่อยู่ในแกน x และเชื่อมต่อผลลัพธ์จากร้านหนังสือแต่ละร้านด้วยบรรทัด แม้ว่านี่อาจจะพันกันเกินไปสำหรับ 1M บรรทัด แนวคิดมาจาก GGobi ซึ่งถูกกล่าวถึงโดย csgillespie แล้ว


1
พล็อตแบบขนานขึ้นอยู่กับการจัดลำดับตัวแปร "ขวา" อย่างมากดังนั้นสำหรับหมวดหมู่ที่มากเกินไปสิ่งนี้จะกลายเป็นเรื่องน่าเบื่อ และแหล่งข้อมูลที่ถูกต้องน่าจะเป็น A.Inselberg, 1981
Benjamin Bannier

3
พวกมันถูกเรียกว่าแปลงพิกัดขนาน: en.wikipedia.org/wiki/Parallel_coordinates
Simon Byrne

@Simon ขอบคุณ; @ honk ฉันเห็นด้วยนี่เป็นเหตุผลหนึ่งว่าทำไมฉันไม่ใช้พวกเขา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.