描述統計學:五數概括法、箱形圖、協方差和相關系數


五數概括法

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

箱形圖

箱形圖是基於五數概括法的數據的一個圖形匯總。

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

兩變量間的關系度量

管理者或決策者最關心的兩個變量之間的關系:協方差和相關系數。

協方差

樣本協方差

總體協方差

協方差中x的平均數為垂直線,y的平均數為水平線,這樣會把散點圖分為四個象限。

gai

協方差如果為正,說明在第一三象限,為正相關;如果為負,說明在第二四象限,為負相關;如果為0,則說明不存在線性關系。

這種做法有弊端,對x和y的計量單位依賴較高,相同的線性關系,度量單位不同,可能會出現協方差的值有大有小,為了避免這種情況,我們將使用相關系數對兩變量間的相關關系進行量度。

相關系數

樣本數據

----樣本協方差

----x的樣本標准差

----y的樣本標准差

總體數據

----總體協方差
---- x的總體標准差

---- y的總體標准差

樣本相關系數是總體相關系數的一個估計

相關系數的解釋

的值為1,則表明
x和y之間存在完全正線性關系,如果值為-1,則表明存在完全負線性關系。

相關系數提供了線性但是不一定是因果關系的一個度量。並不是一個變量的變化會引起另一個變量的變化。

練習

gai

import pandas as pd
import matplotlib.pyplot as plt
plt.matplotlib.rcParams['font.sans-serif'] = ['SimHei'] 
plt.rcParams['axes.unicode_minus']=False  # 用來正常顯示負號

p_x = [6,11,15,21,27]
p_y = [6,9,6,17,12]
data = pd.DataFrame([p_x,p_y], index=['x','y'])
data.T
data.T.plot.scatter('x','y')

gai

# x和y的相關系數
data.T.x.corr(data.T.y)
26.5

# x和y的協方差
data.T.x.cov(data.T.y)
0.6930621597798724

x和y中正相關關系,但是不是很強的線性關系

gai

# 相關系數
df.T.x.corr(df.T.y)
-0.9103693792631485
基本接近-1,可以得知,有很強的負線性關系。
如下散點圖更證實了這一點。

px = [30,50,40,55,30,25,60,25,50,55]
py = [28,25,25,23,30,32,21,35,26,25]
df = pd.DataFrame([px,py], index=['x','y'])
df.T.plot.scatter(x='x',y='y')

gai

gai

pdx = [0.20,0.82,-0.99,0.04,-0.24,1.01,0.30,0.55,-0.25]
pdy = [0.24,0.19,-0.91,0.08,-0.33,0.87,0.36,0.83,-0.16]
df = pd.DataFrame([pdx,pdy],index=['DJIA','S&P 500'])
df.T

df.T.plot.scatter(x='DJIA',y='S&P 500')

gai

# 樣本相關性
p = df.T['S&P 500']
df.T.DJIA.corr(p)
0.9097954353933699

接近1,說明兩者之間有強的線性關系,隨着道瓊斯指數的增加,標准普爾的股票價格也會上升,因此,必須審核這兩個指數。

加權平均數和使用分組數據

加權平均數

就是在平均數的基礎上加了每個值的數量。用數量*值/數量的和

分組數據

由於分組數據沒有具體的值,可以取中間值*頻數 / 樣本總數 算出分組數據的平均數。

同理可以算出分組數據的方差和標准差。

分組數據可以用組中值近似的代替每組的數據,但是這樣的統計量並不太准確,盡可能使用原始數據而非分組數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM