ขั้นตอนวิธีใดบ้างที่ Ward.D ใน hclust () นำไปใช้หากไม่ใช่เกณฑ์ของ Ward


16

ตัวเลือกที่ใช้โดยตัวเลือก "ward.D" (เทียบเท่ากับตัวเลือก Ward เท่านั้น "Ward" ในรุ่น R <= 3.0.3) ไม่ได้ใช้เกณฑ์การจัดกลุ่มของ Ward (1963) ในขณะที่ตัวเลือก "ward.D2" จะใช้เกณฑ์นั้น ( Murtagh and Legendre 2014)

( http://stat.ethz.ch/R-manual/R-patched/library/stats/html/hclust.html )

เห็นได้ชัดว่า Ward.D ไม่ได้ใช้เกณฑ์ของ Ward อย่างถูกต้อง อย่างไรก็ตามดูเหมือนว่าจะทำงานได้ดีเกี่ยวกับการรวมกลุ่มที่ผลิต method = "ward.D" นำไปใช้อะไรหากไม่เป็นไปตามเกณฑ์ของ Ward

อ้างอิง

Murtagh, F. , & Legendre, P. (2014) วิธีการจัดกลุ่มแบบลำดับชั้น agglomerative ของวอร์ด: อัลกอริทึมใดที่ใช้เกณฑ์ของวอร์ด วารสารการจำแนก , 31 (3), 274-295


กระดาษ Murthagh และ Legendre พูดอะไรเกี่ยวกับเรื่องนี้หรือไม่?
cbeleites รองรับ Monica

ฉันไม่สามารถเข้าถึงเอกสารนั้นได้
Raffael

สิ่งแรกที่การค้นหาปรากฏขึ้นสำหรับฉันคือไฟล์ PDF ของต้นฉบับที่ u montreal !?
cbeleites รองรับ Monica

ดังนั้นกระดาษพูดว่าอะไร ฉันหามันไม่พบ
Raffael

นั่นคือสิ่งที่ฉันขอให้คุณบอกเรา
cbeleites รองรับ Monica

คำตอบ:


11

บทความที่เกี่ยวข้องอยู่ที่นี่ที่นี่

ความแตกต่างระหว่างวอร์ดและวอร์ด 2 เป็นความแตกต่างระหว่างสองเกณฑ์การจัดกลุ่มที่ในต้นฉบับเรียกว่าวอร์ด 1 และวอร์ด 2

โดยทั่วไปแล้วขั้นตอนวิธีวอร์ดนั้นถูกนำไปใช้อย่างถูกต้องใน Ward2 (Ward.D2) โดยตรง แต่ Ward1 (Ward.D) ยังสามารถใช้ได้หาก Euclidean ระยะทาง (จากdist()) ถูกยกกำลังสองก่อนที่จะป้อนเข้าไปในhclust()ใช้วอร์ดเป็นวิธีการ

ตัวอย่างเช่น SPSS ยังใช้ Ward1 แต่เตือนผู้ใช้ว่าระยะทางควรจะยกกำลังสองเพื่อรับเกณฑ์ของ Ward ในแง่ของการนำไปใช้งานของ Ward.D ไม่ได้ถูกคัดค้านและอาจเป็นความคิดที่ดีที่จะเก็บไว้เพื่อความเข้ากันได้แบบย้อนหลัง      


2
จากบทความที่คุณเชื่อมโยงไปถึงไม่ได้ติดตามWard algorithm is directly correctly implemented in just Ward2แต่: (1) เพื่อให้ได้ผลลัพธ์ที่ถูกต้องกับการใช้งานทั้งสองให้ใช้ระยะทางแบบยุคลิดแบบสแควร์กับ Ward1 และระยะทางแบบยุคลิดที่ไม่มีผู้ป่วยด้วย Ward2; (2) เพื่อให้ dendrograms เอาท์พุตเทียบเคียงได้ (เหมือนกัน) ใช้ sq. root กับระดับฟิวชั่นหลังจาก Ward1 หรือระดับฟิวชั่นสแควร์หลังจาก Ward2 ก่อนสร้าง dendrogram
ttnphns

คุณพูดถูก ขอขอบคุณสำหรับการชี้แจง. สิ่งที่ฉันหมายถึงโดย "นำไปใช้อย่างถูกต้องโดยตรง" คือไม่มีขั้นตอนเพิ่มเติมเช่นการเอาสแควร์รูทของความสูงมาใช้เพื่อให้ได้ผลลัพธ์ที่ถูกต้องด้วยวิธีการ WardD2
JTT

1
ความแตกต่างเล็ก ๆ น้อย ๆ ที่นี่คือด้วยวิธีการของวอร์ดมันไม่ได้กำหนดว่าอะไรคือ "ถูกต้อง" หรือการนำเสนอระดับฟิวชั่นที่แท้จริง - ไม่ว่าพวกเขาควรจะพล็อตว่า สาเหตุของการไม่แน่ใจว่าระดับฟิวชั่นในวอร์ดนั้นไม่ใช่ระยะทางแต่เป็นระดับการกระจายที่เพิ่มขึ้น
ttnphns

9

ข้อแตกต่างระหว่าง ward.D & ward.D2คือพารามิเตอร์อินพุตเท่านั้น

hclust(dist(x)^2,method="ward.D") ~ hclust(dist(x)^2,method="ward")

ซึ่งเทียบเท่ากับ: hclust(dist(x),method="ward.D2")

คุณสามารถค้นหากระดาษ reserach: วิธีการจัดกลุ่มลำดับขั้นของวอร์ด: เกณฑ์การจัดกลุ่มและอัลกอริทึมการรวมตัวกัน

Ward2ค่าเกณฑ์คือ“ โยระยะทาง ” ในขณะที่Ward1ค่าเกณฑ์คือ“ ในระดับของระยะทางสแควร์


ฉันชอบคำตอบนี้มากกว่าที่คนอื่นบอกว่าวอร์ดนั้นผิด แตกต่างกันเพียง
Chris

6

ผมมาในงานวิจัยที่สอดคล้องกับเป้าหมายการทำงานที่มีการเพิ่มประสิทธิภาพโดย "Ward1 (ward.D)": ลำดับชั้น Clustering ผ่านร่วมกันระหว่างภายในระยะทาง: ขยายขั้นต่ำวิธีการแปรปรวนของวอร์ด ปรากฎว่าการใช้ "Ward1 (ward.D)" ของ R นั้นเทียบเท่ากับการลดระยะห่างของพลังงานระหว่างกลุ่มคลัสเตอร์

2.1 คลัสเตอร์ อีฟังก์ชั่นระยะทางและวัตถุประสงค์

ปล่อย A={a1,...,an1} และ B={1,...,n2} เป็นส่วนย่อยที่ไม่ว่างเปล่าของ Rd. กำหนดระหว่างภายในหรืออี-distance อี(A,B)ระหว่าง A และ B เช่น

e(A,B)=n1n2n1+n2(2n1n2i=1n1j=1n2aibj(1)1n12i=1n1j=1n1aiaj1n22i=1n2j=1n2bibj).

Are you sure that that is the correct interpretation of the contents of that paper? It seems to me that e(2) corresponds to ward.D2, but I don't think it is stated anywhere that e(1) corresponds to ward.D1. In fact, on page 161–162, it is stated that for 0<α<2, e(α) does not correspond to any power of Euclidean distance, assuming cluster size is greater than 1 . Interesting paper none the less.
Jonas Dahlbæk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.