ต้นไม้อนุมานแบบมีเงื่อนไขเทียบกับต้นไม้ตัดสินใจแบบดั้งเดิม


97

ใครสามารถอธิบายความแตกต่างหลักระหว่างต้นไม้การอนุมานแบบมีเงื่อนไข ( ctreeจากpartyแพ็คเกจใน R) เทียบกับอัลกอริทึมการตัดสินใจแบบดั้งเดิมมากขึ้น (เช่นrpartใน R)

  1. อะไรทำให้ต้นไม้ CI แตกต่างกัน
  2. จุดแข็งและจุดอ่อน?

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

ขอบคุณ!


1
คุณหมายถึงคำอธิบายที่นอกเหนือไปจากที่อธิบายไว้ในเอกสารของ Hothorn ? ฉันจำภาพประกอบที่ดีจากCarolin StroblในการประชุมIMPS2009 ฉันคิดว่ามีเอกสารประกอบคำบรรยายบนเว็บไซต์ของเธอ
chl

ลิงก์นี้แสดงการเปรียบเทียบระหว่างรูปแบบต่างๆของแพ็คเกจการตัดสินใจr-bloggers.com/a-brief-tour-of-the-trees-and-forests
Archpaul

คำตอบ:


93

สำหรับสิ่งที่คุ้มค่า:

ทั้งสองrpartและctreeดำเนินการแยก univariateของตัวแปรตามขึ้นอยู่กับค่าในชุดของตัวแปร rpartและอัลกอริทึมที่เกี่ยวข้องมักใช้มาตรการข้อมูล (เช่นค่าสัมประสิทธิ์ Gini ) สำหรับการเลือกค่าความแปรปรวนร่วมในปัจจุบัน

ctreeตามผู้เขียน (ดูความคิดเห็นของ chl ) หลีกเลี่ยงอคติการเลือกตัวแปรต่อไปนี้ของrpart(และวิธีการที่เกี่ยวข้อง): พวกเขามักจะเลือกตัวแปรที่มีการแยกที่เป็นไปได้จำนวนมากหรือค่าที่หายไปจำนวนมาก ซึ่งแตกต่างจากคนอื่น ๆ ที่ctreeใช้ขั้นตอนการทดสอบอย่างมีนัยสำคัญในการสั่งซื้อเพื่อเลือกตัวแปรแทนที่จะเลือกตัวแปรที่เพิ่มมาตรการข้อมูล (เช่นค่าสัมประสิทธิ์จินี)

การทดสอบความสำคัญหรือดีกว่า: การทดสอบความสำคัญหลายอย่างที่คำนวณในแต่ละจุดเริ่มต้นของอัลกอริทึม (เลือก covariate - เลือก split - recurse) เป็นการทดสอบการเรียงสับเปลี่ยนนั่นคือ "การกระจายตัวของสถิติการทดสอบภายใต้สมมติฐานว่างจะได้จากการคำนวณ ค่าที่เป็นไปได้ทั้งหมดของสถิติการทดสอบภายใต้การจัดเรียงใหม่ของฉลากบนจุดข้อมูลที่สังเกตได้ " (จากบทความวิกิพีเดีย)

ตอนนี้สำหรับสถิติการทดสอบ: มันคำนวณจากการแปลงรูป (รวมถึงตัวตนนั่นคือไม่มีการแปลง) ของตัวแปรตามและ covariates คุณสามารถเลือกการแปลงจำนวนเท่าใดก็ได้สำหรับทั้งสองตัวแปร สำหรับ DV (Dependent Variable) การแปลงจะเรียกว่าฟังก์ชันอิทธิพลที่คุณถาม

ตัวอย่าง (นำมาจากกระดาษ ):

  • หากทั้ง DV และ covariates เป็นตัวเลขคุณอาจเลือกการแปลงข้อมูลเฉพาะตัวและคำนวณความสัมพันธ์ระหว่าง covariate และการเปลี่ยนลำดับค่าที่เป็นไปได้ทั้งหมดของค่าของ DV จากนั้นคุณคำนวณค่าp -valueจากการทดสอบการเปลี่ยนแปลงนี้และเปรียบเทียบกับp- value สำหรับ covariates อื่น ๆ
  • ถ้าทั้ง DV และ covariates นั้นมีการระบุไว้ (unordered เด็ดขาด) สถิติการทดสอบจะถูกคำนวณจากตารางฉุกเฉิน
  • คุณสามารถสร้างสถิติการทดสอบประเภทอื่น ๆ ได้อย่างง่ายดายจากการแปลงรูปแบบใด ๆ (รวมถึงการแปลงตัวตน) จากรูปแบบทั่วไปนี้

ตัวอย่างเล็ก ๆ สำหรับการทดสอบการเปลี่ยนรูปในR:

require(gtools)
dv <- c(1,3,4,5,5); covariate <- c(2,2,5,4,5)
# all possible permutations of dv, length(120):
perms <- permutations(5,5,dv,set=FALSE) 
# now calculate correlations for all perms with covariate:
cors <- apply(perms, 1, function(perms_row) cor(perms_row,covariate)) 
cors <- cors[order(cors)]
# now p-value: compare cor(dv,covariate) with the 
# sorted vector of all permutation correlations
length(cors[cors>=cor(dv,covariate)])/length(cors)
# result: [1] 0.1, i.e. a p-value of .1
# note that this is a one-sided test

ตอนนี้สมมติว่าคุณมีชุดของโควาเรียต จากนั้นคำนวณค่าp- value สำหรับ covariates แต่ละตัวในรูปแบบข้างต้นและเลือกค่าที่มีค่าp-valueน้อยที่สุด คุณต้องการคำนวณค่าp- value แทนค่าสหสัมพันธ์โดยตรงเนื่องจากคุณอาจมีค่าแปรปรวนร่วมชนิดต่าง ๆ (เช่นตัวเลขและหมวดหมู่)

เมื่อคุณเลือก covariate แล้วให้สำรวจการแยกที่เป็นไปได้ทั้งหมด (หรือบ่อยครั้งที่มีการ จำกัด จำนวนของการแยกที่เป็นไปได้ทั้งหมดเช่นโดยกำหนดให้มีองค์ประกอบจำนวนน้อยที่สุดของ DV ก่อนที่จะแยกออก) อีกครั้ง

ctreeมาพร้อมกับการแปลงจำนวนมากที่เป็นไปได้สำหรับทั้ง DV และ covariates (ดูวิธีใช้Transformationsในpartyแพ็คเกจ)

ดังนั้นโดยทั่วไปแตกต่างที่สำคัญน่าจะเป็นที่ctreeจะใช้รูปแบบการเลือกตัวแปรร่วมที่เป็นไปตามทฤษฎีทางสถิติ (การเลือกโดยการทดสอบอย่างมีนัยสำคัญการเปลี่ยนแปลงตาม IE) และจึงหลีกเลี่ยงอคติที่มีศักยภาพในrpartมิฉะนั้นพวกเขาดูเหมือนจะคล้ายกัน เช่นต้นไม้อนุมานตามเงื่อนไขสามารถใช้เป็นผู้เรียนพื้นฐานสำหรับป่าสุ่ม

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


มันจะยุติธรรมถ้าจะพูดต่อไปนี้: 1. โดยหลักการแล้วถ้าการทดสอบที่สำคัญมีอยู่และง่ายต่อการคำนวณสำหรับ Gini ผู้สร้างต้นไม้ตัดสินใจในปัจจุบันใด ๆ ก็สามารถเพิ่มสิ่งเหล่านี้ได้ 2. แต่ในทางปฏิบัติพวกเขาไม่สามารถใช้งานได้ (เช่นยากมาก / ไม่มีประสิทธิภาพในการคำนวณ) สำหรับกรณีส่วนใหญ่ 3. ผู้เขียนต้นไม้ CI เลือกเกณฑ์การแยกครอบครัวหนึ่งตระกูล นี่ไม่ใช่ตระกูลที่ดีที่สุดสำหรับความแม่นยำในการจำแนกประเภท แต่อย่างน้อยมันก็เป็นเรื่องง่ายที่จะคำนวณความสำคัญ 4. และจุดอ่อนของต้นไม้ CI ก็คือคุณต้องใช้เกณฑ์เฉพาะนี้หรือไม่?
SheldonCooper

1
@SheldonCooper: 1. และ 2. อาจจะอยู่เหนือหัวฉันนิดหน่อย ฉันคิดว่าคุณพูดถูกประมาณ 3 และ 4
wolf.rauch

1
(... ) และการเรียงสับเปลี่ยนที่เป็นไปได้ทั้งหมดของค่าของ DV "การเปลี่ยนลำดับที่เป็นไปได้ทั้งหมดของค่า DV ใช้เวลากว่า 130 วินาทีในการค้นหาการเรียงสับเปลี่ยนที่เป็นไปได้ทั้งหมด 10 องค์ประกอบซึ่งจะทำให้ต้นไม้ CI ไร้ประโยชน์เมื่อคุณมีมากกว่า 20 การสังเกต - เพิ่มโดยผู้ดำเนินรายการ
chl

1
ฉันขอโทษ แต่สิ่งที่ DV หมายถึง?
mythicalprogrammer

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