อะไรคือเหตุผลที่ทำให้การเปลี่ยนแปลงบันทึกของตัวแปรต่อเนื่องน้อย


16

ฉันได้รับปัญหาการจัดหมวดหมู่และฉันได้อ่านรหัสและแบบฝึกหัดของคนจำนวนมาก สิ่งหนึ่งที่ผมสังเกตเห็นก็คือว่าหลายคนใช้np.logหรือlogของตัวแปรอย่างต่อเนื่องเหมือนloan_amountหรือapplicant_incomeฯลฯ

ฉันแค่ต้องการเข้าใจเหตุผลที่อยู่เบื้องหลัง มันช่วยปรับปรุงความแม่นยำในการทำนายแบบจำลองของเราหรือไม่ จำเป็นหรือไม่ หรือมีเหตุผลใด ๆ ที่อยู่เบื้องหลังมัน?

โปรดระบุคำอธิบายหากเป็นไปได้ ขอขอบคุณ.

คำตอบ:


27

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

การกระจายแบบ "fat tailed" ประเภทนี้มีการศึกษาในสเกลลอการิทึมเนื่องจากคุณสมบัติทางคณิตศาสตร์ของลอการิทึม:

ล.โอก.(xn)=nล.โอก.(x)

ซึ่งแสดงถึง

ล.โอก.(104)=4* * * *ล.โอก.(10)

และ

ล.โอก.(103)=3* * * *ล.โอก.(10)

ซึ่งแปลงความแตกต่างอย่างมาก

104-103
ในหนึ่งที่มีขนาดเล็ก
4-3
ทำให้ค่าเปรียบเทียบ


2
คำตอบที่ดีพูดถึงเป็นพิเศษเกี่ยวกับการแจกแจงแบบ
Kasra Manshaei

1
@ KasraManshaei ฉันพูดเกี่ยวกับกฎหมายพลังงานโดยเฉพาะ (รายได้เป็นตัวอย่างทั่วไป): ค่านิยมสูงในการแจกแจงแบบเอ็กซ์โพเนนเชียลเป็นคำจำกัดความที่หายากมาก ดังนั้นข้อมูลที่ครอบคลุมคำสั่งจำนวนมากจึงมักเป็นกฎหมายพลังงาน
Duccio Piovani

1
แต่แน่นอนในกรณีดังกล่าวเข้าสู่ระบบ ---> ln ซึ่งไม่เปลี่ยนจุดของคำตอบ
Duccio Piovani

ใช่ฉันเข้าใจแล้ว อย่างที่คุณบอกว่าไม่เปลี่ยนแปลงมากนัก
Kasra Manshaei

7

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


Manshael ดังนั้นฉันสามารถใช้ MinMaxScaler หรือ StandardScaler ได้ไหม? หรือจำเป็นต้องมีการบันทึก
Sai Kumar

จำเป็น หากคุณใช้ scalers พวกเขาจะบีบอัดค่าเล็ก ๆ อย่างมาก นั่นคือสิ่งที่ฉันตั้งใจจะพูด
Kasra Manshaei

2
ใช่. หากคุณนำค่า 1,000,000,000 และ 10,000 และ 0 มาพิจารณา ในหลายกรณีรูปแรกของคุณใหญ่เกินไปที่จะให้คนอื่นมองเห็นได้อย่างถูกต้องในแบบของคุณ แต่ถ้าคุณหาลอการิทึมคุณจะได้ 9, 4 และ 0 ตามลำดับ ตามที่คุณเห็นช่วงไดนามิกจะลดลงในขณะที่ความแตกต่างเกือบจะถูกเก็บรักษาไว้ มันมาจากลักษณะเลขชี้กำลังใด ๆ ในคุณลักษณะของคุณ ในกรณีเหล่านี้คุณต้องมีลอการิทึมเป็นคำตอบอื่นที่อธิบายไว้ หวังว่ามันจะช่วย :)
Kasra Manshaei

2
เอาล่ะปรับขนาด! ลองนึกภาพสองตัวแปรที่มีการแจกแจงแบบปกติ (ดังนั้นไม่จำเป็นต้องมีลอการิทึม) แต่หนึ่งในนั้นอยู่ในระดับ 10ish และอีกหนึ่งในระดับของ milions การป้อนให้กับโมเดลอีกครั้งทำให้สิ่งเล็ก ๆ มองไม่เห็น ในกรณีนี้คุณใช้ scaler เลอร์เพื่อให้เครื่องชั่งของพวกเขาเหมาะสม
Kasra Manshaei

1
@KasraManshaei log (0) = -inf แม้ว่า
JAD

5

เข้าสู่ระบบx0<x<-<เข้าสู่ระบบx<

x


3

log(A/B) = -log(B/A)แต่เหตุผลที่ว่าทำไมการเปลี่ยนแปลงลอการิทึมมีประโยชน์อื่นมาลงเล่นสำหรับข้อมูลอัตราส่วนเนื่องจากความจริงที่ว่า (0, Inf)หากคุณวางแผนการกระจายของอัตราส่วนในระดับดิบคะแนนของคุณตกอยู่ในช่วง อัตราส่วนใดน้อยกว่า 1 จะได้รับการ squished เป็นพื้นที่เล็ก ๆ ของพล็อตและนอกจากพล็อตจะมีลักษณะที่แตกต่างกันอย่างสมบูรณ์หากคุณพลิกอัตราส่วนการแทน(B/A) (A/B)หากคุณทำสิ่งนี้ในระดับลอการิทึมช่วงนี้(-Inf, +Inf)หมายถึงอัตราส่วนที่น้อยกว่า 1 และมากกว่า 1 จะกระจายออกไปเท่า ๆ กัน หากคุณตัดสินใจที่จะพลิกอัตราส่วนคุณเพียงแค่พล็อตรอบ ๆ 0 มิฉะนั้นมันจะเหมือนกัน ในระดับบันทึกมันไม่สำคัญว่าคุณจะแสดงอัตราส่วน1/10 or 10/1ซึ่งมีประโยชน์เมื่อไม่มีตัวเลือกที่ชัดเจนว่าควรจะเป็นอย่างไร


3

คุณควรดูการแจกแจงล็อกปกติ

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

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

ในทำนองเดียวกันการเพิ่มบันทึกจะเหมือนกับการคูณค่า un-log'd ซึ่งหมายความว่าคุณได้เปลี่ยนการกระจายโดยที่ข้อผิดพลาดนั้นเป็นส่วนเสริมที่มีการคูณ (เช่นอิงตามเปอร์เซ็นต์) เนื่องจากเทคนิคต่าง ๆ เช่นการถดถอยของ OLS นั้นจำเป็นต้องมีการแจกแจงข้อผิดพลาดตามปกติการทำงานกับบันทึกจึงขยายการบังคับใช้ของพวกเขาตั้งแต่กระบวนการเติมแต่งไปจนถึงกระบวนการคูณ


1
หากคุณต้องการเปรียบเทียบไอเท็มในรูปแบบที่ไม่มีการแจกแจงจะเป็นการดีกว่าที่จะใช้เปอร์เซ็นไทล์หรือเดซิเบลและใช้สิ่งเหล่านั้นแทนค่าดั้งเดิมใช่ไหม
William Payne

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

0

ฉันบอกว่าเหตุผลหลักไม่ใช่การกระจาย แต่เพราะความสัมพันธ์แบบไม่เชิงเส้น บันทึกมักจะจับความสัมพันธ์ที่อิ่มตัว ...

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