วิธีการคำนวณค่าเบี่ยงเบนมัธยฐานสัมบูรณ์ใน python


ค่ามัธยฐานส่วนเบี่ยงเบนสัมบูรณ์ จะวัดการกระจายตัวของ การสังเกต ในชุดข้อมูล

นี่เป็นการวัดที่มีประโยชน์อย่างยิ่ง เนื่องจากจะได้รับผลกระทบจากค่าผิดปกติน้อยกว่าการวัดการกระจายอื่นๆ เช่น ค่าเบี่ยงเบนมาตรฐานและความแปรปรวน

สูตรในการคำนวณค่ามัธยฐานส่วนเบี่ยงเบนสัมบูรณ์ ซึ่งมักเรียกสั้น ๆ ว่า MAD คือ:

MAD = ค่ามัธยฐาน (|x i – x m |)

ทอง:

  • x i : ค่า ที่ i ของชุดข้อมูล
  • x m : ค่ามัธยฐานในชุดข้อมูล

ตัวอย่างต่อไปนี้แสดงวิธีคำนวณค่ามัธยฐานส่วนเบี่ยงเบนสัมบูรณ์ใน Python โดยใช้ฟังก์ชัน statsmodels mad

ตัวอย่างที่ 1: คำนวณ MAD สำหรับตาราง

รหัสต่อไปนี้แสดงวิธีการคำนวณค่าเบี่ยงเบนสัมบูรณ์มัธยฐานสำหรับอาร์เรย์ NumPy เดี่ยวใน Python:

 import numpy as np
from statsmodels import robust

#define data
data = np. array ([1, 4, 4, 7, 12, 13, 16, 19, 22, 24])

#calculate MAD
robust. mad (data)

11.1195

ค่ามัธยฐานส่วนเบี่ยงเบนสัมบูรณ์สำหรับชุดข้อมูลกลายเป็น 11.1195

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

เพื่อหลีกเลี่ยงการใช้ปัจจัยสเกลนี้ เพียงตั้งค่า c = 1 ดังนี้:

 #calculate MAD without scaling factor
robust. mad (data, c=1)

7.5

ตัวอย่างที่ 2: คำนวณ MAD สำหรับ DataFrame

รหัสต่อไปนี้แสดงวิธีการคำนวณ MAD สำหรับคอลัมน์เดียวใน DataFrame ของแพนด้า:

 #make this example reproducible
n.p. random . seeds (1)

#create pandas DataFrame
data = pd. DataFrame ( np.random.randint (0,10,size=(5,3)),columns = [' A ',' B ',' C '])

#view DataFrame
data

        A B C
0 5 8 9
1 5 0 0
2 1 7 6
3 9 2 4
4 5 2 4

#calculate MAD for column B
data[[' B ']]. apply (robust. mad )

B 2.965204
dtype:float64

ค่ามัธยฐานส่วนเบี่ยงเบนสัมบูรณ์สำหรับคอลัมน์ B กลายเป็น 2.965204

เราสามารถใช้ไวยากรณ์ที่คล้ายกันในการคำนวณ MAD สำหรับหลายคอลัมน์ใน DataFrame ของแพนด้า:

 #calculate MAD for all columns
data[[' A ',' B ',' C ']]. apply (robust. mad )

At 0.000000
B 2.965204
C 2.965204
dtype:float64

ค่ามัธยฐานส่วนเบี่ยงเบนสัมบูรณ์คือ 0 สำหรับคอลัมน์ A, 2.965204 สำหรับคอลัมน์ B และ 2.965204 สำหรับคอลัมน์ C

แหล่งข้อมูลเพิ่มเติม

วิธีการคำนวณ MAPE ใน Python
วิธีการคำนวณ SMAPE ใน Python
วิธีการคำนวณ RMSE ใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *