1. 程式人生 > >描述統計學:五數概括法、箱形圖

描述統計學:五數概括法、箱形圖

五數概括法

通俗的說就是最小,第一四分位,第二四分位,第三四分位,最大數

箱形圖

箱形圖是基於五數概括法的資料的一個圖形彙總。

gai

箱形圖的說明:

(1)邊界分別為第一四分位數和第三四分位數
(2)在箱體上中位數即第二四分數處畫垂線
(3)利用四分位數間距IQR = Q3-Q1,找到界限,超出即為異常值。
IQR左 = Q1 - 1.5×IQR
IQR右 = Q3 + 1.5×IQR
(4)虛線被稱為觸鬚線,觸鬚線的端點為最小值和最大值
(5)每個異常值的位置用符號'*'來標出。

箱線圖提供了另一種檢測異常值的方法,但他和Z-分數檢測出的異常值不一定相同,可選一種或兩種。

練習

  1. 資料集的第一四分位數為42,第三四分位數為50,計算箱形圖的上、下界限。資料值65是否應該認為是一個異常值?

    上限:50+1.5*8 = 62
    65大於上限,是異常值

gai

import numpy as np
import pandas as pd
from pandas import Series

data = [8408,1374,1872,8879,2459,11413,608,14138,6452,1850,2818,1356,10498,7478,4019,4341,739,2127,3653,5794,8305]
data_sale = Series(data)
data_sale

a
min        608.000000
25%       1872.000000
50%       4019.000000
75%       8305.000000
max      14138.000000
b
下界限:1872-1.5*(8305-1872) = -7777.5
上界限: 8305+1.5*(8305-1872) = 17954.5
c. 最小最大值都在界限範圍內,資料中沒有異常值
d. 可以發現,因為最大上限只有179.54億
e. 箱線圖程式碼
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
plt.matplotlib.rcParams['font.sans-serif'] = ['SimHei'] 
df = pd.DataFrame(data_sale,columns = ['銷售業績'])
df.boxplot()
plt.show()

gai

gai
gai

prepar_data = [23.5,22.8,38.3,41.3,40.6,15.6,12.4,11.5,33.3,16.0,16.9,10.3,3.4,24.2,12.1,20.6,11.9,4.1,13.6,10.7,13.2,13.5,19.5,21.4,24.5,10.4,10.8,10.0,10.9,15.1,6.6,13.2,13.6,12.8,18.7,11.4,23.6,27.3,20.4,36.6,21.5,26.3,23.7,11.7,23.2,14.5]
data_fund = Series(prepar_data)
data_fund.describe()

count    46.000000
mean     18.206522
std       9.102708
min       3.400000
25%      11.750000
50%      15.350000
75%      23.425000
max      41.300000

上限:11.75 - 1.5*(23.425-11.75) = -5.75
下限:23.425 + 1.5*(23.425-11.75) = 40.93
沒有異常值,都在這個範圍內。

gai