數(shù)據(jù)科學(xué)家應(yīng)該知道的5個(gè)統(tǒng)計(jì)學(xué)知識(shí)
數(shù)據(jù)科學(xué)實(shí)際上可以定義為我們從數(shù)據(jù)中獲取額外信息的一個(gè)過(guò)程,在做數(shù)據(jù)科學(xué)時(shí),我們真正想要做的其實(shí)就是解釋除了數(shù)字之外,所有數(shù)據(jù)在現(xiàn)實(shí)世界中的實(shí)際含義。
為了提取潛藏在復(fù)雜數(shù)據(jù)集中的信息,數(shù)據(jù)科學(xué)家采用了許多工具和技術(shù),包括數(shù)據(jù)挖掘、數(shù)據(jù)可視化和數(shù)據(jù)建模等等。數(shù)據(jù)挖掘中常用的一類(lèi)非常重要的數(shù)學(xué)技術(shù)是統(tǒng)計(jì)學(xué)。
在實(shí)際意義上,統(tǒng)計(jì)數(shù)據(jù)允許我們定義數(shù)據(jù)的具體數(shù)學(xué)摘要。我們可以使用統(tǒng)計(jì)信息來(lái)描述其中的一些屬性,而不是嘗試描述每個(gè)數(shù)據(jù)點(diǎn)。而這通常足以讓我們提取有關(guān)數(shù)據(jù)結(jié)構(gòu)和構(gòu)成的某些信息。
有些時(shí)候,當(dāng)人們聽(tīng)到“統(tǒng)計(jì)”這個(gè)詞時(shí),往往會(huì)想到一些過(guò)于復(fù)雜的東西。也可能會(huì)有點(diǎn)抽象,但我們并非總是需要訴諸復(fù)雜的理論,來(lái)從統(tǒng)計(jì)中獲得某種價(jià)值。
統(tǒng)計(jì)學(xué)中最基本的部分通常是數(shù)據(jù)科學(xué)中最實(shí)用的部分。
今天,我們將分享5個(gè)對(duì)于數(shù)據(jù)科學(xué)有用的統(tǒng)計(jì)學(xué)方法。這些不是過(guò)分抽象的概念,而是相當(dāng)簡(jiǎn)單、有長(zhǎng)期適用性的技術(shù)。
一、集中趨勢(shì)(Central Tendency)
數(shù)據(jù)集或特征變量的集中趨勢(shì)是集的中心或典型值。其思想是,可能有一個(gè)單一的值可以(在某種程度上)***地描述我們的數(shù)據(jù)集。
例如,假設(shè)你有一個(gè)以x-y位置(100,100)為中心的正態(tài)分布。那么點(diǎn)(100,100)是集中趨勢(shì),因?yàn)樵谒锌蛇x擇的點(diǎn)中,它提供了對(duì)數(shù)據(jù)***的總結(jié)。
對(duì)于數(shù)據(jù)科學(xué)來(lái)說(shuō),我們可以使用集中趨勢(shì)進(jìn)行度量,來(lái)快速簡(jiǎn)單地了解我們數(shù)據(jù)集的整體情況。我們的數(shù)據(jù)的“中心”可以是非常有價(jià)值的信息,它告訴我們數(shù)據(jù)集究竟是如何偏置的,因?yàn)閿?shù)據(jù)所圍繞的任何值本質(zhì)上都是偏置。
在數(shù)學(xué)上有兩種選擇集中趨勢(shì)的常用方法。
平均數(shù)(Mean)
平均數(shù),也就是數(shù)據(jù)集的平均值,即整個(gè)數(shù)據(jù)圍繞其進(jìn)行散布的一個(gè)數(shù)字。在定義平均數(shù)時(shí),所有用于計(jì)算平均數(shù)的值的權(quán)重都是相等的。
例如,計(jì)算以下5個(gè)數(shù)字的平均數(shù):
- (3 + 64 + 187 + 12 + 52)/ 5 = 63.6
平均數(shù)非常適合計(jì)算實(shí)際數(shù)學(xué)平均值,使用像Numpy這樣的Python庫(kù)計(jì)算速度也非常快。
中位數(shù)(Median)
中位數(shù)是數(shù)據(jù)集的中間值,即我們將數(shù)據(jù)從最小值排序到***值(或從***值到最小值),然后取值集合中間的值:那就是中位數(shù)。
計(jì)算上一個(gè)例子中5個(gè)數(shù)字的中位數(shù):
- [3,12,52,64,187]→ 52
中值與平均數(shù)完全不同。它們沒(méi)有對(duì)錯(cuò)優(yōu)劣之分,但我們可以根據(jù)我們的情況和目標(biāo)選擇一個(gè)。
計(jì)算中位數(shù)需要對(duì)數(shù)據(jù)進(jìn)行排序——如果數(shù)據(jù)集很大,這會(huì)有點(diǎn)兒不切實(shí)際。
另一方面,中位數(shù)對(duì)于異常值比平均數(shù)更穩(wěn)健,因?yàn)槿绻嬖谝恍┓浅8叩漠惓V?,則平均值將被拉向某一個(gè)方向。
平均數(shù)和中位數(shù)可以用簡(jiǎn)單的numpy單行計(jì)算:
- numpy.mean(array)
- numpy.median(array)
二、擴(kuò)散(Spread)
在統(tǒng)計(jì)學(xué)之下,數(shù)據(jù)的擴(kuò)散是指指數(shù)據(jù)被壓縮到一個(gè)或多個(gè)值的程度,這些值分布在更大的范圍內(nèi)。
參考下面的高斯概率分布圖——假設(shè)這些是描述真實(shí)世界數(shù)據(jù)集的概率分布。
藍(lán)色曲線(xiàn)的擴(kuò)散值最小,因?yàn)樗拇蟛糠謹(jǐn)?shù)據(jù)點(diǎn)都在一個(gè)相當(dāng)窄的范圍內(nèi)。紅色曲線(xiàn)的擴(kuò)散值***,因?yàn)榇蠖鄶?shù)數(shù)據(jù)點(diǎn)所占的范圍要大得多。
圖例還顯示了這些曲線(xiàn)的標(biāo)準(zhǔn)偏差,這將在下一節(jié)中介紹。
標(biāo)準(zhǔn)偏差(Standard Deviation)
標(biāo)準(zhǔn)偏差是定量數(shù)據(jù)擴(kuò)散程度的最常見(jiàn)的方式。計(jì)算標(biāo)準(zhǔn)偏差需要5個(gè)步驟:
- 找到平均數(shù)。
- 對(duì)于每個(gè)數(shù)據(jù)點(diǎn),求其與平均值間的距離的平方。
- 對(duì)步驟2中的值求和。
- 除以數(shù)據(jù)點(diǎn)的數(shù)量。
- 取平方根。
值越大,意味著我們的數(shù)據(jù)從平均數(shù)“擴(kuò)散出去”的程度越高。值越小意味著我們的數(shù)據(jù)越集中于平均數(shù)。
計(jì)算Numpy的標(biāo)準(zhǔn)偏差:numpy.std(array)
三、百分位數(shù)(Percentiles)
我們可以使用百分位數(shù)進(jìn)一步描述整個(gè)范圍內(nèi)每個(gè)數(shù)據(jù)點(diǎn)的位置。
百分位數(shù)根據(jù)數(shù)據(jù)點(diǎn)在值范圍中的位置高低來(lái)描述數(shù)據(jù)點(diǎn)的確切位置。
更正式地說(shuō),第p百分位數(shù)是數(shù)據(jù)集中的一個(gè)值,在該值處可以將數(shù)據(jù)集分為兩部分。下半部分包含p %個(gè)數(shù)據(jù),則稱(chēng)其為第p百分位數(shù)。
例如以下11個(gè)數(shù)字的集合:
- 1,3,5,7,9,11,13,15,17,19,21
數(shù)字15就是是第70百分位數(shù),因?yàn)楫?dāng)我們?cè)跀?shù)字15處將數(shù)據(jù)集分成兩部分時(shí),有70%個(gè)數(shù)據(jù)小于15。
百分位數(shù)與平均數(shù)和標(biāo)準(zhǔn)偏差相結(jié)合,可以讓我們很好地了解特定的點(diǎn)在數(shù)據(jù)集的擴(kuò)散/范圍內(nèi)的位置。如果它是一個(gè)異常值,那么它的百分位數(shù)將接近于終點(diǎn)——小于5%或大于95%。另一方面,如果百分位數(shù)接近50那么我們就可以知道它非常接近集中趨勢(shì)。
數(shù)組的第50個(gè)百分位數(shù)在Numpy中計(jì)算:numpy.percentile(array, 50)
四、斜度(Skewness)
數(shù)據(jù)的偏斜度衡量其不對(duì)稱(chēng)性。
偏度為正值,表示值集中在數(shù)據(jù)點(diǎn)中心的左側(cè);負(fù)偏度表示值集中在數(shù)據(jù)點(diǎn)中心的右側(cè)。
下圖提供了一個(gè)很好的說(shuō)明。
我們可以用以下等式計(jì)算偏斜度:
偏斜度可以讓我們知道數(shù)據(jù)分布與高斯分布的距離。偏斜度越大,我們的數(shù)據(jù)集離高斯分布越遠(yuǎn)。
這很重要,因?yàn)槿绻覀儗?duì)數(shù)據(jù)的分布有一個(gè)粗略的概念,我們就可以為特定的分布定制我們要訓(xùn)練的ML模型。此外,并非所有ML建模技術(shù)都能對(duì)非高斯數(shù)據(jù)有效。
再次提醒大家,在我們開(kāi)始建模之前,統(tǒng)計(jì)數(shù)據(jù)能夠帶給我們非常富有洞察力的信息!
如何在Scipy代碼中計(jì)算偏斜度: scipy.stats.skew(array)
五、協(xié)方差(Covariance)和相關(guān)系數(shù)(Correlation)
協(xié)方差
兩個(gè)特征變量的協(xié)方差衡量它們之間的相關(guān)性。如果兩個(gè)變量有正協(xié)方差,那么當(dāng)一個(gè)變量增加時(shí),另一個(gè)也會(huì)增加;當(dāng)協(xié)方差為負(fù)時(shí),特征變量的值將向相反的方向變化。
相關(guān)系數(shù)
相關(guān)系數(shù)簡(jiǎn)單來(lái)說(shuō)就是標(biāo)準(zhǔn)化(縮放)的協(xié)方差,除以被分析的兩個(gè)變量的標(biāo)準(zhǔn)偏差的乘積即可得到。這有效地迫使關(guān)聯(lián)范圍始終在-1.0和1.0之間。
如果兩個(gè)特征變量的相關(guān)系數(shù)為1.0,則兩個(gè)特征變量的相關(guān)系數(shù)為正相關(guān)。這意味著,如果一個(gè)變量的變化量是給定的,那么第二個(gè)變量就會(huì)按比例向相同的方向移動(dòng)。
當(dāng)正相關(guān)系數(shù)小于1時(shí),表示正相關(guān)系數(shù)小于完全正相關(guān),且相關(guān)強(qiáng)度隨著數(shù)字趨近于1而增大。同樣的思想也適用于負(fù)相關(guān)值,只是特征變量的值在相反的方向變化,而不是在相同的方向變化。
了解相關(guān)性對(duì)于主成分分析(PCA)等降維技術(shù)非常有用。我們從計(jì)算一個(gè)相關(guān)矩陣開(kāi)始——如果有兩個(gè)或兩個(gè)以上的變量高度相關(guān),那么它們?cè)诮忉屛覀兊臄?shù)據(jù)時(shí)實(shí)際上是冗余的,可以刪除其中一些變量以降低復(fù)雜性。































