วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

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

สารบัญ

ประเภทของแผนการกระจาย

ฉันจะเริ่มต้นด้วยการกรองข้อมูลของฉันในวันใดวันหนึ่ง วันเสาร์ และเราจะเห็นด้านล่างของแผน Python ทั้งหมดที่ใช้สำหรับอธิบายการแจกแจง เรามีพล็อต ECDF, ฮิสโตแกรม, พล็อต KDE และพล็อต Box ที่นี่

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ที่ประมาณ $3.50 เรามีถังขยะสูงสุดสำหรับ ข้อมูล เคล็ดลับ ของเรา ในชุดข้อมูลด้านล่าง

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ด้วยโครงเรื่องของ KDE คุณสามารถบอกได้ว่าข้อมูลส่วนใหญ่ของเราอยู่ที่ใดโดยการระบุความหนาแน่นที่ใหญ่ที่สุดหรือส่วนนูนที่สูงที่สุดในโครงเรื่อง หากคุณต้องการ ในภาพด้านบน เราสามารถพูดได้ว่ามีการแจกจ่ายที่ไหนสักแห่งระหว่าง $2 ถึง $4

เช่นเดียวกับในโครงเรื่อง Box ซึ่งแสดงว่าการแจกแจงคือ $2 ถึง $4 และนี่คือที่ซึ่งข้อมูลส่วนใหญ่ของเราจะอยู่ มันใช้ค่ามัธยฐาน เส้นแนวนอนแบ่งกล่อง เพื่อให้เราทราบว่าการกระจายที่ใหญ่ที่สุดอยู่ที่ใด

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

จากนั้น เรามีพล็อต ECDF ที่ด้านซ้ายของแกน y คุณจะเห็นคำว่าProportionซึ่งเป็นตัวแทนของเปอร์เซ็นไทล์ของเรา ตามโครงเรื่องที่ $3.50 เรากำลังดูข้อมูลประมาณ 50% และที่ $5 และต่ำกว่าคือที่ 80% ของข้อมูลของเราถูกกระจาย

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

รหัสกราฟฮิสโตแกรม

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ตอนนี้ฉันจะแสดงรหัสสำหรับแต่ละแผนภาพเหล่านี้ โดยเริ่มจากฮิสโตแกรม พวกเขาทั้งหมดมีการเข้ารหัสที่คล้ายกันมากและทำซ้ำได้ดังนั้นคุณจึงสามารถดึงขึ้นมาได้อย่างรวดเร็วโดยใช้รหัสเดียว เช่น เทมเพลต

ก่อนอื่นเราต้องนำเข้า  Seaborn  และบันทึกเป็น  sb ตามด้วย  matplotlib.pyplot เป็น  plt เราจะใช้สไตล์พื้นหลังที่เรียกว่า  ggplot  และ  ตัวแปร matplotlib เพื่อส่งผ่านในรูปแบบต่างๆ

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ตัวอย่างเช่น ในภาพด้านล่าง เราจะเห็นว่าในบรรทัดที่ 11 เรากำลังเพิ่มชื่อสำหรับฮิสโตแกรมและขนาดติ๊กในบรรทัดต่อไปนี้ yticks  และ  xticks  แทนขนาด x และ y ตามนั้น 

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ในบรรทัดที่ 14 เราใช้ตัวแปร Seaborn เพื่อส่งผ่านไปยังฟังก์ชันที่นำพล็อตเฉพาะนั้นเข้ามา เช่น  ฮิสท์พล็อต ในตัวอย่างด้านบน ซึ่งแสดงถึงพล็อตฮิสโตแกรม จากนั้นเราจะส่งข้อมูลจากบรรทัดที่ 4 เข้าสู่ฟังก์ชันเป็นชุดข้อมูล

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

พล็อต KDE

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

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ด้วยโครงเรื่องแบบกล่อง ส่วนใหญ่จะคล้ายกับโครงเรื่องอื่นๆ ยกเว้นความแตกต่างเล็กน้อยเล็กน้อย เราใช้  ฟังก์ชันบอกซ์พล็อต  โดยที่  x  คือวันและ  y  คือทิป นอกจากนี้เรายังไม่ได้ใช้  สี  สำหรับพล็อตนี้

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

หากเราผ่านหมวดหมู่นี้ เราจะจบลงด้วยพล็อต ECDF ที่มีสองบรรทัดที่แตกต่างกัน ในการกระจายเหล่านี้ เราจะเห็นว่าผู้สูบบุหรี่มีมากขึ้นเกี่ยวกับความกว้างของเส้นเฉพาะของเรา

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ผู้ไม่สูบบุหรี่มีข้อมูล 100 เปอร์เซ็นต์ต่ำกว่า 6 ดอลลาร์ ขณะที่ผู้สูบบุหรี่มีข้อมูล 6 ดอลลาร์ น่าสนใจมาก ผู้สูบบุหรี่ของเราอาจทิ้งทิปที่ใหญ่ขึ้นในวันใดวันหนึ่ง

แปลงรูปแบบ ECDF

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

ในพล็อตแรก ฉันใช้พารามิเตอร์ต่างๆ ภายในฟังก์ชัน อย่างที่คุณเห็นด้านล่าง ฉันใส่จานสีเป็น  ฤดูร้อน  และความกว้างของเส้นเป็น 

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ฉันยังเปรียบเทียบวันเสาร์และวันอาทิตย์ด้วย ซึ่งเป็นเหตุผลว่าทำไมจึงมีเส้นสีเขียวสองเส้นที่แตกต่างกัน ที่นี่เราจะเห็นว่าทิป 3 ดอลลาร์อยู่ที่เปอร์เซ็นไทล์ที่ 45 สำหรับวันอาทิตย์ และเปอร์เซ็นไทล์ที่ 70 สำหรับวันพฤหัสบดี ซึ่งบอกเราว่าผู้คนมักจะให้ทิปที่สูงขึ้นในวันอาทิตย์

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

เรายังสามารถสลับแกน X และ Y สลับสัดส่วนและส่วนปลายภายในพล็อตของเรา และเปลี่ยนจานสีได้เหมือนในภาพด้านล่าง

ที่นี่เราจะเห็นว่าทิป 2 ดอลลาร์อยู่ที่เปอร์เซ็นไทล์ที่ 20 สำหรับวันอาทิตย์ ซึ่งเป็นเส้นสีม่วงในแผนภาพ ดังนั้นข้อมูลจะเหมือนกันกับพล็อต ECDF ก่อนหน้า และมีเพียงการนำเสนอเท่านั้นที่แตกต่างกัน

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

ขณะนี้เรามีพล็อตอื่นที่มีชุดข้อมูลเดียวกันและคงตำแหน่งแกนเดิมไว้ดังที่แสดงในภาพด้านบน ความแตกต่างในครั้งนี้คือทิศทางของเส้นกลับด้าน

รูปแบบแปลง ECDF

ถ้าเราดูที่โค้ด สิ่งที่เราทำก็แค่ส่งพารามิเตอร์  เสริมเท่ากับ = จริง การดำเนินการนี้ จะช่วยให้เราสามารถพูดได้ว่าช่วง $2 ขึ้นไปคือที่ที่ 80% ของข้อมูลของเราถูกกระจาย แทนที่จะพูดว่าต่ำกว่าช่วง $2 เป็นที่ที่ 20% ของข้อมูลของเราถูกกระจาย ย้ำอีกครั้งว่าเป็นข้อมูลเดียวกันที่มีรูปลักษณ์หรือวิธีการนำเสนอที่แตกต่างกัน

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

และในโครงร่าง ECDF ที่สี่และสุดท้าย เราใช้การนับแทนสัดส่วน

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

แผน ECDF รหัสสิ่งจำเป็น

หากเราดูโค้ดคุณจะพบว่า  Seabornซึ่งเป็นสิ่งสำคัญในการสร้างพล็อตนี้โดยเฉพาะ เรายังมี  matplotlib.pyplot สำหรับใส่ สไตล์ ซึ่งคุณสามารถบันทึกเป็นตัวแปรชื่อ  plt

วิธีใช้แปลง ECDF ใน Python และ LuckyTemplates

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


Scatter Plot ในสคริปต์ R: วิธีสร้างและนำเข้า
ฟังก์ชันที่ผู้ใช้กำหนดของ Python | ภาพรวม
GGPLOT2 ใน R: การสร้างภาพด้วย ESQUISSE

บทสรุป

นี่คือวิธีที่คุณสามารถใช้แผนการกระจายต่างๆ รวมถึงแผน Histogram, KDE, Box และ ECDF คุณยังได้เรียนรู้สี่วิธีในการนำเสนอพล็อต ECDF โดยใช้ชุดข้อมูลเดียวกัน คุณสามารถใช้วิธีใดก็ได้ขึ้นอยู่กับความชอบของคุณ

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

สิ่งที่ดีที่สุด


ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้