描述統計學:分佈形態、異常值
阿新 • • 發佈:2018-11-09
分佈形態
一個重要的數值度量被稱為偏度。
z-分數
z-分數被稱為標準化數值
z-分數 = 平均數的離差 / s代表樣本標準差
切比雪夫定理
能使我們指出與平均數的距離在某個特定個數的標準差之內的資料值所佔的比例
看例項:
假設100個學生平均成績70,標準差5
那麼你要預估大概58-82的區間人數大概多少
z=(58-70)/5 = -2.4
z =(82-70)/5=+2.4
(1-1/(2.4)^2)=0.826
至少有82.6%的學生考試成績在58-82分中間。
經驗法則
人們發現許多資料具有類似圖3-4所示的對稱的峰形或鐘形分佈。當資料被認為近似於這種分佈時,就可以運用經驗法則。
對於具有鐘形分佈的資料:
大於68%的資料值與平均數的距離在1個標準差之內
大於95%的資料值與平均數的距離在2個標準差之內
幾乎所有的資料值與平均數的距離在3個標準差之內
檢測異常值
資料集中有一個或多個數值異常大或異常小,被稱為異常值。
異常值可能是一個被錯誤記錄的資料值,也可能是一個被錯誤包含在資料集中的觀測值。如果是這樣,則可以刪除,也可能就是一個反常的資料值,它被正確記錄並且屬於資料集,在這種情況下,它應該被保留。
標準化數值(z-分數)可以用來確認異常值。
對鐘形分佈的資料,建議吧大於或小於3的任何數值都視為異常值。
檢測異常值是檢查資料有效性的一個工具
練習
- 考慮資料值為10,20,12,17,16的一個樣本,計算這5個觀測值的每一個的z-分數。
import numpy as np import pandas as pd from pandas import Series test_data = [10,20,12,17,16] data = Series(test_data) data # 標準差 st= data.std() 4.0 # 平均數 mea= data.mean() 15.0 # z-分數 z = (data - mea)/ st z 0 -1.25 1 1.25 2 -0.75 3 0.50 4 0.25
考慮平均數為30,標準差為5的一個樣本,利用切比雪夫定理來確定在下列範圍內的資料所佔的比例。
a. 20 - 40 b. 15-45 c. 22-38 d. 18-42 e. 12-48
test2_data = [20,40,15,45,22,38,18,42,12,48]
data2 = Series(test2_data)
z1 = (data2-30)/5
z1
0 -2.0
1 2.0
2 -3.0
3 3.0
4 -1.6
5 1.6
6 -2.4
7 2.4
8 -3.6
9 3.6
p = 1-1/(z1*z1)
0 0.750000
1 0.750000
2 0.888889
3 0.888889
4 0.609375
5 0.609375
6 0.826389
7 0.826389
8 0.922840
9 0.922840
dtype: float64
a.20-40的比例為75%
b.15-45的比例為88.89%
c.22-38的比例為60.93%
d.18-42的比例為82.6%
e.12-48的比例為92.28%
一項全美型的調查結果顯示,美國成年人每天平均睡眠6.9小時,假設標準差為1.2小時。
a. 每天睡眠時間在4.5-9.3小時的成年人比例。 b. 3.9-9.9小時的成年人比例。c. 假設睡眠時間服從鐘形分佈。利用經驗法則計算每天在4.5-9.3小時的成年人比例。這個結果如何與切比雪夫定理得到的結果比較?
test3 = [4.5,9.3,3.9,9.9]
data = Series(test3)
z3 = (data-6.9)/1.2
z3
0 -2.0
1 2.0
2 -2.5
3 2.5
p3 = 1-1/(z3*z3)
p3
0 0.75
1 0.75
2 0.84
3 0.84
4.5-9.3小時的成年人比例75%
3.9-9.9小時的成年人比例84%
根據經驗法則,發現95%的人睡眠4.5-9.3小時。
# 算出標準差距離
615-515/100 = 1
# 大約68%的學生超過615分
715-515/100 = 2
# 大約95%的學生超過715分
# 小於615分的大概為32%,裡面415-515分比例又在第一個標準間為68%,則在415-515分的比例是25%。
# 315到615的比例為95%*32% = 30%
test5 = [13,12,8,3,8,2,18]
data5 = Series(test5)
data5.mean()
平均數9.14
data5.median()
中位數8
data5.mode()
眾數8
data5.max()-data5.min()
極差16
data5.std()
標準差5.66
# 判斷是否異常
(18-9.14)/5.66 = 1.56
# 標準差距離在2個以內,不算異常值
d. 無法看出
score = [4.00,4.12,3.82,4.00,4.56,4.32,4.33,4.50,4.64,4.20,4.67,2.14,4.09,4.17,4.88,4.26,2.32,4.50,4.17,2.17]
score_data = Series(score)
score_data.mean()
平均數3.993
score_data.median()
中位數4.18
score_data.quantile([0.25,0.75])
0.25 4.0
0.75 4.5
dtype: float64
score_data.std()
標準差 0.8113672670901033
偏度為-1.67,形態為適度偏左形狀,評分偏低的較多。
zAllison = 0.15
zOmni = -2.06
# 判斷是否異常值
(2-3.993)/0.81 = -2.460
(5-3.993)/0.81 = 1.24
看見最大和最小的範圍內都在第三標準間距,沒有異常值