วิธีการทางสถิติเพื่อตรวจสอบว่าข้อมูลหายไปโดยการสุ่ม


21

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

อะไรคือวิธีที่สมเหตุสมผลในการเข้าถึงคำถามนี้


กลายเป็นคำถามที่ดีกว่าคือการถามว่าข้อมูล 'สุ่มโดยสมบูรณ์' หายไปหรือไม่ วิธีที่เหมาะสมที่จะทำคืออะไร?


หากไม่มีการเชื่อมโยงระหว่างตัวบ่งชี้ที่หายไปและตัวแปรที่สังเกตใด ๆ กลไกข้อมูลที่หายไปคือ MCAR
Randel

@Randel เป็นแบบทดสอบที่ดีที่จะใช้ในการทดสอบนี้คืออะไร?
Lembik

ไม่มีอะไรพิเศษนอกจากการทดสอบความสัมพันธ์หรือการถดถอย
Randel

3
มันไม่ได้เป็นสิ่งที่คุณทดสอบมันเป็นสิ่งที่คุณถือว่า
ทิม

3
เพียงเพื่อให้ชัดเจน: การขาดโดยการสุ่มสมบูรณ์หมายความว่าความน่าจะเป็นที่ขาดหายไปนั้นเป็นค่าคงที่ การพลาดแบบสุ่มหมายความว่าการหายไปนั้นขึ้นอยู่กับปัจจัยที่วัดได้บางอย่างเช่นอายุหรือเพศเพื่อให้คุณสามารถใช้แบบจำลองเพื่อเติมเต็มรูปแบบที่หายไป การพลาดแบบไม่สุ่มหมายถึงการหายไปนั้นขึ้นอยู่กับสิ่งที่คุณไม่ได้วัด ในคำถามที่ OP บอกว่า NMAR vs. MAR แต่ OP หมายถึง MAR กับ MCAR
AdamO

คำตอบ:


8

ฉันพบข้อมูลที่ฉันพูดถึงในความคิดเห็นของฉัน

จากหนังสือ Van Buurensหน้า 31 เขาเขียน

"มีการเสนอการทดสอบหลายรายการเพื่อทดสอบ MCAR เมื่อเทียบกับ MAR การทดสอบเหล่านี้ไม่ได้ใช้กันอย่างแพร่หลายและคุณค่าในทางปฏิบัติของพวกเขายังไม่ชัดเจนดูEnders (2010, pp. 17–21) สำหรับการประเมินผลของสองขั้นตอน MAR เทียบกับ MNAR เนื่องจากข้อมูลที่จำเป็นสำหรับการทดสอบดังกล่าวขาดหายไป "


คำถามถามเกี่ยวกับ MAR กับ MNAR แต่คำตอบของคุณเกี่ยวกับ MCAR กับ MAR MCAR นั้นแตกต่างจาก MNAR อย่างสิ้นเชิง
ทิม

หากคุณสามารถตรวจสอบข้อมูลเป็น MAR แล้วก็ควรพอเพียง ดังที่ Bjorn กล่าวว่าเป็นไปไม่ได้ที่จะบอกได้ว่ามันคือ MAR / MNAR แต่คำตอบนี้เป็นตัวแทนที่ดีสำหรับคำถามของเขาที่ฉันเชื่อ หากคุณต้องทำการทดสอบ Enders และพบว่าเป็น MCAR คุณก็ไม่จำเป็นต้องใส่ชื่อ หากคุณพบว่ามันคือ MAR คุณสามารถใส่ความหรือดูข้อมูลของคุณอย่างหนักเพื่อดูว่ามีเหตุผลที่เชื่อได้หรือไม่ว่าอาจเป็น MNAR
RayVelcoro

@RayVelcoro เป็นปัญหาที่สามารถระบุได้: เป็นไปได้ที่ข้อมูล NMAR จะปรากฏ MCAR ทิมพูดถูกว่า NMAR (หรือสนทนา) ไม่ใช่สิ่งที่เราทดสอบมันเป็นสิ่งที่เราคิด ประเด็นสำคัญของคุณเกี่ยวกับ MCAR vs MAR ยิ่งสำคัญ (มากที่สุด) คือ: ถ้าข้อมูลคือ MCAR และคุณใช้วิธีการของ MAR จะมีผลกระทบสุทธิต่อข้อมูลหรือไม่? ฉันไม่คิดอย่างนั้น เมื่อพิจารณาการเจาะความพร้อมใช้งานและความง่ายในการใช้งานสำหรับวิธีการของ MAR อาจจะเป็นการดีกว่าที่จะใช้วิธีการถ่วงน้ำหนักหรือการใส่ข้อมูลที่ไม่ใช่พารามิเตอร์มากกว่าการเข้าร่วมในการทดสอบและการทดสอบห่านเชิงโวหาร
AdamO

17

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


1
ขอบคุณมาก. เป็นวิธีที่ดีในการบอกว่าข้อมูลเป็น MCAR หรือไม่
Lembik

@ Björnข้างต้นอาจต้องมีการป้อนข้อความซ้ำเพื่อสะท้อนความไม่สมดุลที่สำคัญในสิ่งที่เราสามารถเรียนรู้จากข้อมูล แม้ว่ามันจะเป็นไปได้ที่จะปลอมแปลงสมมติฐานที่ว่าข้อมูลคือ MCAR (กล่าวคือ, โดยการสร้างแบบจำลองที่หาประโยชน์ covariates สังเกตเพื่อบัญชีสำหรับส่วนหนึ่งของการหายตัวไปบางส่วน), มันเป็นไปไม่ได้ที่จะยืนยัน MCAR หรือสมมติฐานอื่น ๆ
David C. Norris

จุดดี. ฉันทำให้ชัดเจนยิ่งขึ้น
Björn

4

ฟังดูค่อนข้างเป็นไปได้จากมุมมองการจำแนกประเภท

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


2

คุณต้องการที่จะรู้ว่ามีความสัมพันธ์บางอย่างของค่าที่พลาดในคุณสมบัติและค่าของคุณสมบัติอื่น ๆ

สำหรับแต่ละฟีเจอร์ให้สร้างฟีเจอร์ใหม่ที่ระบุว่าค่านั้นหายไปหรือไม่ (ลองเรียกพวกมันว่า "is_missing" ฟีเจอร์) คำนวณค่าสหสัมพันธ์ที่คุณชื่นชอบ (ฉันขอแนะนำให้ใช้ข้อมูลร่วมกันที่นี่) ของคุณสมบัติ is_missing และคุณสมบัติที่เหลือ

โปรดสังเกตว่าหากคุณไม่พบความสัมพันธ์ใด ๆ ระหว่างสองคุณลักษณะคุณยังสามารถมีความสัมพันธ์กันได้เนื่องจากกลุ่มของคุณลักษณะ (ค่าขาดหายไปเนื่องจากฟังก์ชั่นของ XOR ของคุณสมบัติอื่นสิบ)

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


1

วิธีที่ฉันใช้คือเงาเมทริกซ์ซึ่งชุดข้อมูลประกอบด้วยตัวแปรตัวบ่งชี้ที่ 1 จะได้รับถ้ามีค่าอยู่และ 0 ถ้ามันไม่ได้ การเชื่อมโยงสิ่งเหล่านี้เข้าด้วยกันและข้อมูลดั้งเดิมสามารถช่วยตัดสินว่าตัวแปรมีแนวโน้มที่จะหายไปด้วยกัน (MAR) หรือไม่ (MCAR) ใช้Rเป็นตัวอย่าง (ยืมมาจากหนังสือ "R in action" โดย Robert Kabacoff):

#Load dataset
data(sleep, package = "VIM")

x <- as.data.frame(abs(is.na(sleep)))

#Elements of x are 1 if a value in the sleep data is missing and 0 if non-missing.
head(sleep)
head(x)

#Extracting variables that have some missing values.
y <- x[which(sapply(x, sd) > 0)]
cor(y)

#We see that variables Dream and NonD tend to be missing together. To a lesser extent, this is also true with Sleep and NonD, as well as Sleep and Dream.

#Now, looking at the relationship between the presence of missing values in each variable and the observed values in other variables:
cor(sleep, y, use="pairwise.complete.obs")

#NonD is more likely to be missing as Exp, BodyWgt, and Gest increases, suggesting that the missingness for NonD is likely MAR rather than MCAR.

1
ในVIMคุณสามารถตรวจสอบ spinoplots พวกเขาให้ฮิสโตแกรมของตัวแปรสองตัวที่ขาดหายไปในแต่ละตัวแปร เราสามารถพล็อตตัวแปรสองตัวและดูว่าความหายไปของตัวแปรหนึ่งนั้นแตกต่างกันอย่างไร ตัวอย่างเช่นถ้าเราวางแผนเวลาเอาตัวรอดและกำหนดรักษาถ้าเราเห็นการกระจายตัวของความหายไปอย่างถูกต้องเราสามารถวางตัวว่าเวลารอดชีวิตต่ำกว่านั้นเกี่ยวข้องกับการหายไปมากกว่า ... นั่นคือความหายในการรักษาคือ MAR เพราะขึ้นอยู่กับ สังเกตเวลาการอยู่รอดของตัวแปร
RayVelcoro

1
คำถามถามเกี่ยวกับ MAR กับ MNAR แต่คำตอบของคุณเกี่ยวกับ MCAR กับ MAR MCAR นั้นแตกต่างจาก MNAR อย่างสิ้นเชิง
ทิม

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