描述統計


描述統計

描述統計是通過圖表或數學方法,對數據資料進行整理、分析,並對數據的分布狀態、數字特征和隨機變量之間關系進行估計和描述的方法。

對於一個需要研究的問題,收集到數據后,首先要了解數據的分布范圍、集中位置以及分布形態等特征。

  • 頻率表和頻率直方圖

  • 集中趨勢的描述

頻數分布表制作

某婦產科醫生觀察1402名臨產母親的體重(kg)資料如下:





步驟

1)計算全距(range, R):
  • 一組資料(數據)的最大值(Max)與最小值(Min)之差
2)確定組段數與組距:
  • 根據樣本數多少,選擇適當的組段數。
  • 若樣本量n ≈ 100, 通常取8~15組為宜,組距≈全距/組段數
3)確定組段的上、下限:
  • 每一個組段的起點和終點,分別稱為該組段的下限和上限
  • 第一組段必須包括最小值,最后一組段必須包括最大值
  • 前一組段上限亦為后一組段的下限
  • 分組應盡量采用等組距
  • 最后一組段一般應包含該組段的上限,其余各組段區間左閉右開






頻率直方圖

每一直條的面積就是相應各組段的頻率,所有組段的頻率之和就是相應各直條的面積之和,整個直方圖面積之和為1

頻率密度=頻率/組距







頻率(數)分布的特征

從頻率表和頻率分布圖可看出頻數分布的兩個重要特性

  • 集中趨勢

  • 離散趨勢

觀察值有高有低,但服從一定的分布規律:

  • ①越靠近中央部分,頻率越高——集中趨勢;
  • ②絕大多數個體值並不與平均水平完全重合,而是不同程度地偏離平均水平——離中趨勢

頻率表的用途

  • 揭示資料的分布特征和分布類型
  • 由組中值近似代表原始數據,便於手工計算實現初步的統計分析
  • 便於發現某些特大或特小的可疑數值。例如,有時在頻率表的兩端,出現連續幾個組段的頻率為0后,又出現個別特大或特小值,使人懷疑這些數據是否正確,需要檢查核對以決定取舍。

數據的分布類型

  • 對稱分布
  • 偏態分布






對稱分布

  • 頻率分布中間高,兩端低
  • 有一個對稱軸,左右對稱

用兩個參數描述:

  • 平均水平:均數
  • 變異程度:標准差

偏態分布

  • 頻數分布高的偏向一端
  • 沒有一個對稱軸

用兩個參數描述:

  • 平均水平:中位數
  • 變異程度:四分位數間距

右(正)偏態分布:即頻數集中位置偏向數值小的一側

左(負)偏態分布:即頻數集中位置偏向數值大的一側

集中趨勢的描述

反映一組同質觀察值的平均水平或一個分布的中心位置

常用的描述集中趨勢的統計指標:

  • 算術均數(簡稱均數)
  • 中位數
  • 眾數

算術均數

反映一組分布呈對稱的觀察值在數量上的平均水平
表示符號:

  • 總體均數(μ)

  • 樣本均數



中位數

用M表示, 是將一組觀察值從小到大按順序排列, 位次居中的那個觀察值, 小於和大於中位數的個體數相等,反映一組觀察值的平均位置

眾數

出現頻率最高的觀察值,眾數可能不唯一
可以根據中位數和均數的差別大小,粗略判斷數據的分布類型

  • 當數據呈對稱分布時,均數和中位數接近

  • 當數據呈右偏態分布時,均數大於中位數

  • 當數據呈左偏態分布時,均數小於中位數

離散趨勢的描述

現有甲、乙、丙三組數據:

甲組60 70 80 90 100
乙組70 75 80 85 90
丙組60 75 80 85 100

如果我們用均數來描寫上述資料特征,則:



描述離散趨勢的指標

  • 全距(極差)
  • 四分位數間距
  • 方差
  • 標准差
  • 變異系數

四分位數間距:

  • P25:第25%分位數,記為QL,表示全部觀察值中有四分之一的個體取值比它小

  • P75:第75%分位數,記為QU,表示全部觀察值中有四分之一的個體取值比它大

  • 四分位數間距:QU-QL= P75-P25

四分位數間距較全距穩定,常與中位數一起,描述不對稱分布資料的特征;僅使用了原變量中部分信息,即指包含了50%數據的分布范圍,適用於非正態分布.

方差:

個體偏離總體平均水平的程度就是所謂的離均差,而離均差平方可以同等對待正的和負的離中情形。

總體方差:將離均差平方的平均值作為總體中個體值偏離平均水平的概括性指標

表示觀察值變異程度(離散程度),當兩組(或幾組)資料均數相近、度量單位相同的條件下,標准差較大,說明觀察值的變異程度較大,即各觀察值離均數較遠,因而均數的代表性較差;反之,標准差較小,均數的代表性較好

變異系數

變異系數也稱離散系數,用CV表示,是標准差與均數之比:

變異系數 C·V =( 標准偏差 SD / 平均值Mean )× 100%

import pandas as pd
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = pd.read_csv('pima-indians-diabetes.data', names=names)
data.head()
#數據集介紹:http://archive.ics.uci.edu/ml/datasets/pima+indians+diabetes
preg plas pres skin test mass pedi age class
0 6 148 72 35 0 33.6 0.627 50 1
1 1 85 66 29 0 26.6 0.351 31 0
2 8 183 64 0 0 23.3 0.672 32 1
3 1 89 66 23 94 28.1 0.167 21 0
4 0 137 40 35 168 43.1 2.288 33 1
  • preg:懷孕次數
  • plas:口服葡萄糖耐量試驗2小時的血糖濃度
  • pres:舒張期血壓
  • skin:三頭肌皮褶厚度(mm)
  • test:餐后血清胰島素(μU/ml)
  • mass:體重指數
  • pedi:糖尿病家系的功能
  • age:年齡
  • class:類別
data.shape

(768, 9)

data.dtypes

preg int64
plas int64
pres int64
skin int64
test int64
mass float64
pedi float64
age int64
class int64
dtype: object

data.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 768 entries, 0 to 767
Data columns (total 9 columns):
preg 768 non-null int64 plas 768 non-null int64
pres 768 non-null int64 skin 768 non-null int64
test 768 non-null int64 mass 768 non-null float64
pedi 768 non-null float64 age 768 non-null int64
class 768 non-null int64 dtypes: float64(2), int64(7)
memory usage: 54.1 KB

data.describe()
preg plas pres skin test mass pedi age class
count 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000
mean 3.845052 120.894531 69.105469 20.536458 79.799479 31.992578 0.471876 33.240885 0.348958
std 3.369578 31.972618 19.355807 15.952218 115.244002 7.884160 0.331329 11.760232 0.476951
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.078000 21.000000 0.000000
25% 1.000000 99.000000 62.000000 0.000000 0.000000 27.300000 0.243750 24.000000 0.000000
50% 3.000000 117.000000 72.000000 23.000000 30.500000 32.000000 0.372500 29.000000 0.000000
75% 6.000000 140.250000 80.000000 32.000000 127.250000 36.600000 0.626250 41.000000 1.000000
max 17.000000 199.000000 122.000000 99.000000 846.000000 67.100000 2.420000 81.000000 1.000000
data.groupby('class').size()

class
0 500
1 268
dtype: int64

data.corr(method='pearson')
preg plas pres skin test mass pedi age class
preg 1.000000 0.129459 0.141282 -0.081672 -0.073535 0.017683 -0.033523 0.544341 0.221898
plas 0.129459 1.000000 0.152590 0.057328 0.331357 0.221071 0.137337 0.263514 0.466581
pres 0.141282 0.152590 1.000000 0.207371 0.088933 0.281805 0.041265 0.239528 0.065068
skin -0.081672 0.057328 0.207371 1.000000 0.436783 0.392573 0.183928 -0.113970 0.074752
test -0.073535 0.331357 0.088933 0.436783 1.000000 0.197859 0.185071 -0.042163 0.130548
mass 0.017683 0.221071 0.281805 0.392573 0.197859 1.000000 0.140647 0.036242 0.292695
pedi -0.033523 0.137337 0.041265 0.183928 0.185071 0.140647 1.000000 0.033561 0.173844
age 0.544341 0.263514 0.239528 -0.113970 -0.042163 0.036242 0.033561 1.000000 0.238356
class 0.221898 0.466581 0.065068 0.074752 0.130548 0.292695 0.173844 0.238356 1.000000
data.skew()

preg 0.901674
plas 0.173754
pres -1.843608
skin 0.109372
test 2.272251
mass -0.428982
pedi 1.919911
age 1.129597
class 0.635017
dtype: float64


免責聲明!

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



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