เหตุผลที่ทำให้เป็นมาตรฐานในการวัดระยะทางแบบยุคลิดในการจัดกลุ่มแบบลำดับชั้น


19

เห็นได้ชัดว่าในการจัดกลุ่มแบบลำดับชั้นซึ่งการวัดระยะทางเป็นระยะทางแบบยุคลิดข้อมูลจะต้องเป็นมาตรฐานหรือมาตรฐานแรกเพื่อป้องกันการแปรปรวนร่วมกับความแปรปรวนสูงสุดจากการขับรถการจัดกลุ่ม ทำไมนี้ ความจริงข้อนี้ไม่เป็นที่ต้องการใช่หรือไม่

คำตอบ:


20

ขึ้นอยู่กับข้อมูลของคุณ และที่จริงแล้วมันไม่มีอะไรเกี่ยวข้องกับการจัดกลุ่มแบบลำดับชั้น แต่ด้วยระยะทางจะทำหน้าที่ตัวเอง

ปัญหาคือเมื่อคุณมีคุณลักษณะผสม

สมมติว่าคุณมีข้อมูลเกี่ยวกับบุคคล น้ำหนักเป็นกรัมและขนาดรองเท้า ขนาดรองเท้าแตกต่างกันเล็กน้อยมากในขณะที่ความแตกต่างของมวลร่างกาย (เป็นกรัม) มีขนาดใหญ่กว่ามาก คุณสามารถสร้างตัวอย่างได้หลายสิบตัวอย่าง คุณไม่สามารถเปรียบเทียบความแตกต่างขนาดรองเท้า 1 กรัมและ 1 ในความเป็นจริงในตัวอย่างนี้คุณคำนวณสิ่งที่จะมีหน่วยทางกายภาพของ !ก.ขนาดรองเท้า

โดยปกติแล้วในกรณีเหล่านี้ระยะทางแบบยุคลิดก็ไม่สมเหตุสมผล แต่มันอาจยังใช้งานได้ในหลาย ๆ สถานการณ์หากคุณทำให้ข้อมูลของคุณเป็นปกติ แม้ว่ามันจะไม่สมเหตุสมผล แต่มันก็เป็นวิธีแก้ปัญหาที่ดีสำหรับสถานการณ์ที่คุณไม่มีฟังก์ชั่นระยะทาง "ที่ถูกต้อง" ที่ได้รับการพิสูจน์แล้วเช่นระยะทางแบบยุคลิดในโลกทางกายภาพของมนุษย์


คุณเพียงแค่ตอบความคิดของฉันฉันเดาว่าการนั่งคนเดียวในขณะที่การคิดเกินจะช่วย
Karl Morrison

13

หากคุณไม่ได้มาตรฐานข้อมูลของคุณแล้วตัวแปรที่วัดในหน่วยที่มีค่าขนาดใหญ่จะมีอิทธิพลต่อความแตกต่างของการคำนวณและตัวแปรที่วัดในหน่วยที่มีค่าขนาดเล็กจะมีส่วนช่วยน้อยมาก

เราสามารถเห็นภาพนี้ใน R ผ่าน:

set.seed(42)
dat <- data.frame(var1 = rnorm(100, mean = 100000),
                  var2 = runif(100),
                  var3 = runif(100))
dist1 <- dist(dat)
dist2 <- dist(dat[,1, drop = FALSE])

dist1มีระยะทางแบบยุคลิดสำหรับการสังเกต 100 ครั้งโดยยึดตามตัวแปรทั้งสามขณะdist2ที่ระยะทางแบบยุคลิดนั้นอยู่บนพื้นฐานvar1เพียงอย่างเดียว

> summary(dist1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.07351 0.77840 1.15200 1.36200 1.77000 5.30200 
> summary(dist2)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
0.000072 0.470000 0.963600 1.169000 1.663000 5.280000

หมายเหตุวิธีการที่คล้ายกันกระจายของระยะทางจะแสดงให้เห็นผลงานเล็ก ๆ น้อย ๆ จากvar2และvar3และระยะทางที่เกิดขึ้นจริงจะคล้ายกันมาก:

> head(dist1)
[1] 1.9707186 1.0936524 0.8745579 1.2724471 1.6054603 0.1870085
> head(dist2)
[1] 1.9356566 1.0078300 0.7380958 0.9666901 1.4770830 0.1405636

ถ้าเราสร้างมาตรฐานข้อมูล

dist3 <- dist(scale(dat))
dist4 <- dist(scale(dat[,1, drop = FALSE]))

จากนั้นจะมีการเปลี่ยนแปลงครั้งใหญ่ในระยะทางตามvar1และเฉพาะตามตัวแปรทั้งสาม:

> summary(dist3)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.09761 1.62400 2.25000 2.28200 2.93600 5.33100 
> summary(dist4)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
0.000069 0.451400 0.925400 1.123000 1.597000 5.070000 
> head(dist3)
[1] 2.2636288 1.7272588 1.7791074 3.0129750 2.5821981 0.4434073
> head(dist4)
[1] 1.8587830 0.9678046 0.7087827 0.9282985 1.4184214 0.1349811

เนื่องจากการจัดกลุ่มแบบลำดับชั้นใช้ระยะทางเหล่านี้ไม่ว่าจะเป็นมาตรฐานที่เหมาะสมหรือไม่นั้นขึ้นอยู่กับชนิดของข้อมูล / ตัวแปรที่คุณมีและคุณต้องการให้สิ่งที่ยิ่งใหญ่ครองระยะทางหรือไม่ คำตอบสำหรับเรื่องนี้คือโดเมนเฉพาะและชุดข้อมูลที่เฉพาะเจาะจง


4

anony-มูสให้คำตอบที่ดี ฉันแค่เพิ่มว่าการวัดระยะทางที่เหมาะสมนั้นขึ้นอยู่กับรูปร่างของการแจกแจงหลายตัวแปร สำหรับตัวแปรหลายตัวแบบเกาส์เซียนระยะทาง Mahalanobis เป็นตัววัดที่เหมาะสม

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