數據分析 第二篇:數據特征分析(統計量分析)


對於成功的數據分析而言,把握數據整體的性質是至關重要的,使用統計量來檢查數據特征,主要是檢查數據的集中程度、離散程度和分布形狀,通過這些統計量可以識別數據集整體上的一些重要性質,對后續的數據分析,有很大的參考作用。

一,基本統計量

用於描述數據的基本統計量主要分為三類,分別是中心趨勢統計量、散布程度統計量和分布形狀統計量。

1,中心趨勢統計量

中心趨勢統計量是指表示位置的統計量,直觀地說,給定一個屬性,它的值大部分落在何處?

(1)均值

均值(mean)又稱算數平均數,描述數據去指導額平均位置,數學表達式:均值 =  ∑x  /  n;

有時,一組數據中的每個值可以和一個權重Wi相關聯,權重反映的的是依附值的重要性或出現的頻率,這種均值稱作加權均值 =  ∑xw  /  n;

盡管均值是描述數據集中心趨勢的最有用的統計量,但是,它並非總是度量數據中心的最佳方法,這是因為,均值對極端值(離群點)很敏感。為了抵消少數極端值的影響,我們可以使用截尾均值,截尾均值是指丟棄極端值后的均值。

(2)中位數

對於傾斜(非對稱)的數據,能夠更好地描述數據中心的統計量是中位數(median),中位數是有序數據值的中間值,中位數可避免極端數據,代表這數據總體的中等情況。例如:從小到大排序,總數是奇數,取中間的數,總數是偶數,取中間兩個數的平均數。

(3)眾數

眾數(mode)是變量中出現頻率最大的值,通常用於對定性數據確定眾數,例如:用戶狀態(正常,欠費停機,申請停機,拆機、消號),該變量的眾數是“正常”,這種情況是正常的。

2,表示數據離散程度的統計量

度量數據離散程度的統計量主要是標准差和四分位極差。

(1)標准差(或方差)

標准差用於度量數據分布的離散程度,低標准差意味着數據觀測趨向於靠近均值,高標准差表示數據散步在一個大的值域中。

(2)四分位極差

極差(range),也稱作值域,是一組數據中的最大值和最小值的差, range = Max - Min。

百分位數(quantile)是把數據值按照從小到大的順序排列,把數據分成100份。中位數是數據的中間位置上的數據,第一個四分位數記作Q1,是指第25個百分位上的數據,第三個四分位數記作(Q3),是指第75個百分位上的數據。

四分位極差(IQR)= Q3 - Q1 ,IQR是指第一個四分位和第三個四分位之間的距離,它給出被數據的中間一半所覆蓋的范圍,是表示數據離散程度的一個簡單度量。

3,表示分布形狀的統計量

分布形狀使用偏度系數和峰度系數來度量,

偏度是用於衡量數據分布對稱性的統計量:通過對偏度系數的測量,我們能夠判定數據分布的不對稱程度以及方向。

  • 對於正態分布(或嚴格對稱分布)偏度等於0
  • 若偏度為負, 則x均值左側的離散度比右側強;
  • 若偏度為正, 則x均值左側的離散度比右側弱;

峰度是用於衡量數據分布陡峭或平滑的統計量,通過對峰度系數的測量,我們能夠判定數據分布相對於正態分布而言是更陡峭還是平緩。

  • 正態分布的峰度為3,
  • 當時間序列的曲線峰值比正態分布的高時,峰度大於3;
  • 當比正態分布的低時,峰度小於3。

(1)偏度系數

偏度系數反映數據分布偏移中心位置的程度,記為SK,則有 SK= (均值一中位數)/標准差。偏度系數是描述分布偏離對稱性程度的一個特征數。

正態分布的偏度為0,偏度<0稱分布具有負偏離(左偏態),此時數據位於均值左邊的位於右邊的多,有個尾巴拖到左邊,說明左邊有極端值,偏度>0稱分布具有正偏離(右偏態)。偏度接近如於0 ,可認為分布對稱。例如:知道分布有可能在偏度上偏離正態分布,則可用偏度來檢驗分布的正態性。偏度的絕對值數值越大表示其分布形態的偏斜程度越大。

(2)峰度系數

峰度系數(Kurtosis)用來度量數據在中心聚集程度,記為K,描述總體中所有取值分布形態陡緩程度的統計量(與正態分布比較,,就是正態分布的峰頂)。

例如:正態分布的峰度系數值是3,K>3的峰度系數說明觀察量更集中,有比正態分布更短的尾部;K<3的峰度系數說明觀測量不那么集中,有比正態分布更長的尾部。

峰度系數公式是:

示例,本文使用vcd包中的Arthritis數據集來演示如何進行統計量分析:

head(Arthritis)
  ID Treatment  Sex Age Improved
57   Treated Male  27     Some
46   Treated Male  29     None
77   Treated Male  30     None
17   Treated Male  32   Marked
36   Treated Male  46   Marked
23   Treated Male  58   Marked

其中變量Improved和Sex是因子類型,ID和Age是數值類型。

二,集中趨勢度量

集中趨勢通過均值、中位數和眾數來度量。

1,均值

均值是所有數據的平均值,使用mean()函數來計算向量的均值:

age.mean <- mean(Arthritis$Age)

有時,為了反映在均值中不同成分所占的權重,為數據中的每個元素X賦予一個權重Wi,這樣就得到了加權平均值,使用weighted.mean(x,w)來計算加權平均值。

weighted.mean(x,w)

x為數據向量,w為權重向量,x中每一個元素都對應w中的一個權重值。

根據Sex來設置權重(weight),男性的Age的權重為95%,女性的Age的權重為105%,那么得到的加權平均值是:

age.wt <- ifelse(Arthritis$Sex=="Male",0.95,1.05)
age.wt.mean <- weighted.mean(Arthritis$Age,age.wt)

如果數據中存在極端值或者數據是偏態分布的,那么均值就不能很好地度量數據的集中趨勢,為了消除少數極端值的影響,可以使用截斷均值或者中位數來度量數據的集中趨勢。截斷均值是指去掉極端值之后的平均值。

2,中位數

中位數是把一組觀察值從小到大按順序排列,位於中間的那個數據。使用median(x)計算中位數。

age.median <- median(Arthritis$Age)

3,眾數

眾數是指數據集中出現最頻繁的值,眾數常用於定性數據。R沒有標准的內置函數來計算眾數,因此,我們將創建一個用戶自定義函數來計算數據集的眾數。

該函數以向量作為輸入,以眾數值作為輸出。

getmode <- function(v) {
   uniqv <- unique(v) uniqv[which.max(tabulate(match(v, uniqv)))] }

三,離中趨勢度量

衡量離中趨勢的四個度量值:

  • 值域(Range)的計算公式:Range = Max - Min
  • 標准差:度量數據偏離均值的程度
  • 變異系數(CV):變異系數度量標准差相對於均值的離中趨勢,計算公式是:CV=標准差/均值
  • 四分位數間距(IQR)是上四分位數QU和下四分位數QL之差,其間包含全部觀察值的一般,其值越大,說明數據的變異程度越大,離中趨勢越明顯。

 查看Arthritis數據集的離中趨勢:

get_stat <- function(v){
  v.mean <- mean(v) v.median <- median(v) v.range <- max(v)-min(v) v.sd <- sd(v) v.cv <- v.sd/v.mean v.iqr <- quantile(v,0.75) - quantile(v,0.25) d.stat <- data.frame(mean=v.mean,median=v.median,range=v.range,sd=v.sd,cv=v.cv,iqr=v.iqr, row.names = NULL) } mystat <- get_stat(Arthritis$Age) 

四,偏度和峰度

基礎安裝包中沒有提供計算偏度和峰度的函數,用戶可以自行添加:

mystats <- function(x, na.omit=FALSE){
    if (na.omit)
    x <- x[!is.na(x)]
    m <- mean(x)
    n <- length(x)
    s <- sd(x)
    skew <- sum((x-m)^3/s^3)/n
    kurt <- sum((x-m)^4/s^4)/n - 3
    return(c(n=n, mean=m, stdev=s, skew=skew, kurtosis=kurt))
}
myvars <- c("mpg", "hp", "wt")
sapply(mtcars[myvars], mystats)

為大家推薦一篇文章:關於偏度與峰度的一些探索,引用該文中的峰度影響實驗的結論:

尾部或離群點對峰度影響為正向,且影響程度最大。而高概率區對峰度影響也為正向,但是比較少;而山腰位置,中等概率區域則影響為負向。

 

參考文檔:

關於偏度與峰度的一些探索


免責聲明!

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



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