溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python探索變量的概率分布

發(fā)布時(shí)間:2021-11-20 16:40:18 來源:億速云 閱讀:296 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“如何使用Python探索變量的概率分布”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

簡短的背景介紹

  1. 首先,正態(tài)分布又名高斯分布

  2. 它以數(shù)學(xué)天才 Carl Friedrich Gauss 命名

正態(tài)分布又名高斯分布

3 . 越簡單的模型越是常用,因?yàn)樗鼈兡軌虮缓芎玫慕忉尯屠斫狻U龖B(tài)分布非常簡單,這就是它是如此的常用的原因。

因此,理解正態(tài)分布非常有必要。

什么是概率分布?

首先介紹一下相關(guān)概念。

考慮一個(gè)預(yù)測模型,該模型可以是我們的數(shù)據(jù)科學(xué)研究中的一個(gè)組件。

  • 如果我們想精確預(yù)測一個(gè)變量的值,那么我們首先要做的就是理解該變量的潛在特性。

  • 首先我們要知道該變量的可能取值,還要知道這些值是連續(xù)的還是離散的。簡單來講,如果我們要預(yù)測一個(gè)的取值,那么第一步就是明白它的取值是1 到 6(離散)。

  • 第二步就是確定每個(gè)可能取值(事件)發(fā)生的概率。如果某個(gè)取值永遠(yuǎn)都不會(huì)出現(xiàn),那么該值的概率就是 0 。

事件的概率越大,該事件越容易出現(xiàn)。
  • 在實(shí)際操作中,我們可以大量重復(fù)進(jìn)行某個(gè)實(shí)驗(yàn),并記錄該實(shí)驗(yàn)對應(yīng)的輸出變量的結(jié)果。

  • 我們可以將這些取值分為不同的集合類,在每一類中,我們記錄屬于該類結(jié)果的次數(shù)。例如,我們可以投10000次,每次都有6種可能的取值,我們可以將類別數(shù)設(shè)為6,然后我們就可以開始對每一類出現(xiàn)的次數(shù)進(jìn)行計(jì)數(shù)了。

  • 我們可以畫出上述結(jié)果的曲線,該曲線就是概率分布曲線。目標(biāo)變量每個(gè)取值的可能性就由其概率分布決定。

  • 一旦我們知道了變量的概率分布,我們就可以開始估計(jì)事件出現(xiàn)的概率了,我們甚至可以使用一些概率公式。至此,我們就可更好的理解變量的特性了。概率分布取決于樣本的一些特征,例如平均值,標(biāo)準(zhǔn)偏差,偏度和峰度。

  • 如果將所有概率值求和,那么求和結(jié)果將會(huì)是100%

世界上存在著很多不同的概率分布,而最廣泛使用的就是正態(tài)分布了。

初遇正態(tài)分布

我們可以畫出正態(tài)分布的概率分布曲線,可以看到該曲線是一個(gè)鐘型的曲線。如果變量的均值,模和中值相等,那么該變量就呈現(xiàn)正態(tài)分布。

如下圖所示,為正態(tài)分布的概率分布曲線:

如何使用Python探索變量的概率分布

理解和估計(jì)變量的概率分布非常重要。

下面列出的變量的分布都比較接近正態(tài)分布:

  1. 人群的身高

  2. 成年人的血壓

  3. 傳播中的粒子的位置

  4. 測量誤差

  5. 回歸中的殘差

  6. 人群的鞋碼

  7. 一天中雇員回家的總耗時(shí)

  8. 教育指標(biāo)

此外,生活中有大量的變量都是具有 x % 置信度的正態(tài)變量,其中,x<100。

什么是正態(tài)分布?

正態(tài)分布只依賴于數(shù)據(jù)集的兩個(gè)特征:樣本的均值和方差。

均值——樣本所有取值的平均

方差——該指標(biāo)衡量了樣本總體偏離均值的程度

正態(tài)分布的這種統(tǒng)計(jì)特性使得問題變得異常簡單,任何具有正態(tài)分布的變量,都可以進(jìn)行高精度分預(yù)測。

值得注意的是,大自然中發(fā)現(xiàn)的變量,大多近似服從正態(tài)分布。

正態(tài)分布很容易解釋,這是因?yàn)椋?/p>

  1. 正態(tài)分布的均值,模和中位數(shù)是相等的。

  2. 我們只需要用均值和標(biāo)準(zhǔn)差就能解釋整個(gè)分布。

正態(tài)分布是我們熟悉的正常行為

為何如此多的變量都大致服從正態(tài)分布?

這個(gè)現(xiàn)象可以由如下定理理解釋:當(dāng)在大量隨機(jī)變量上重復(fù)很多次實(shí)驗(yàn)時(shí),它們的分布總和將非常接近正態(tài)分布。

由于人的身高是一個(gè)隨機(jī)變量,并且基于其他隨機(jī)變量,例如一個(gè)人消耗的營養(yǎng)量,他們所處的環(huán)境,他們的遺傳等等,這些變量的分布總和最終是非常接近正態(tài)的。

這就是中心極限定理。

本文的核心:

我們從上文的分析得出,正態(tài)分布是許多隨機(jī)分布的總和。 如果我們繪制正態(tài)分布密度函數(shù),那么它的曲線將具有以下特征:

如何使用Python探索變量的概率分布

如上圖所示,該鐘形曲線有均值為 100,標(biāo)準(zhǔn)差為1:

  • 均值是曲線的中心。 這是曲線的最高點(diǎn),因?yàn)榇蠖鄶?shù)點(diǎn)都是均值。

  • 曲線兩側(cè)的點(diǎn)數(shù)相等。 曲線的中心具有最多的點(diǎn)數(shù)。

  • 曲線下的總面積是變量所有取值的總概率。

  • 因此總曲線面積為 100%

如何使用Python探索變量的概率分布

更進(jìn)一步,如上圖所示:

  • 約 68.2% 的點(diǎn)在 -1 到 1 個(gè)標(biāo)準(zhǔn)偏差范圍內(nèi)。

  • 約 95.5% 的點(diǎn)在 -2 到 2 個(gè)標(biāo)準(zhǔn)偏差范圍內(nèi)。

  • 約 99.7% 的點(diǎn)在 -3 至 3 個(gè)標(biāo)準(zhǔn)偏差范圍內(nèi)。

這使我們可以輕松估計(jì)變量的變化性,并給出相應(yīng)置信水平,它的可能取值是多少。例如,在上面的灰色鐘形曲線中,變量值在 99-101 之間的可能性為 68.2%。

正態(tài)概率分布函數(shù)

概率密度函數(shù)的形式如下:

如何使用Python探索變量的概率分布

概率密度函數(shù)基本上可以看作是連續(xù)隨機(jī)變量取值的概率。

正態(tài)分布是鐘形曲線,其中mean = mode = median。
  • 如果使用概率密度函數(shù)繪制變量的概率分布曲線,則給定范圍的曲線下的面積,表示目標(biāo)變量在該范圍內(nèi)取值的概率。

  • 概率分布曲線基于概率分布函數(shù),而概率分布函數(shù)本身是根據(jù)諸如平均值或標(biāo)準(zhǔn)差等多個(gè)參數(shù)計(jì)算的。

  • 我們可以使用概率分布函數(shù)來查找隨機(jī)變量取值范圍內(nèi)的值的相對概率。 例如,我們可以記錄股票的每日收益,將它們分組到適當(dāng)?shù)募项愔?,然后?jì)算股票在未來獲得20-40%收益的概率。

標(biāo)準(zhǔn)差越大,樣品中的變化性越大。

如何使用 Python 探索變量的概率分布

最簡單的方法是加載 data frame 中的所有特征,然后運(yùn)行以下腳本(使用pandas 庫):

DataFrame.hist(bins=10)
#Make a histogram of the DataFrame.

該函數(shù)向我們展示了所有變量的概率分布。

變量服從正態(tài)分布意味著什么?

如果我們將大量具有不同分布的隨機(jī)變量加起來,所得到的新變量將最終具有正態(tài)分布。這就是前文所述的中心極限定理。

服從正態(tài)分布的變量總是服從正態(tài)分布。 例如,假設(shè) A 和 B 是兩個(gè)具有正態(tài)分布的變量,那么:

? A x B 是正態(tài)分布

? A + B 是正態(tài)分布

因此,使用正態(tài)分布,預(yù)測變量并在一定范圍內(nèi)找到它的概率會(huì)變得非常簡單。

樣本不服從正態(tài)分布怎么辦?

我們可以將變量的分布轉(zhuǎn)換為正態(tài)分布。

我們有多種方法將非正態(tài)分布轉(zhuǎn)化為正態(tài)分布:

1.線性變換

一旦我們收集到變量的樣本數(shù)據(jù),我們就可以對樣本進(jìn)行線性變化,并計(jì)算Z得分:

  1. 計(jì)算平均值

  2. 計(jì)算標(biāo)準(zhǔn)偏差

  3. 對于每個(gè) x,使用以下方法計(jì)算 Z:

如何使用Python探索變量的概率分布

2.使用 Boxcox 變換

我們可以使用 SciPy 包將數(shù)據(jù)轉(zhuǎn)換為正態(tài)分布:

scipy.stats.boxcox(x, lmbda=None, alpha=None)

3.使用 Yeo-Johnson 變換

另外,我們可以使用 yeo-johnson 變換。 Python 的 sci-kit learn 庫提供了相應(yīng)的功能:

sklearn.preprocessing.PowerTransformer(method=’yeojohnson’,standardize=True, copy=True)

正態(tài)分布的問題

由于正態(tài)分布簡單且易于理解,因此它也在預(yù)測研究中被過度使用。 假設(shè)變量服從正態(tài)分布會(huì)有一些顯而易見的缺陷。 例如,我們不能假設(shè)股票價(jià)格服從正態(tài)分布,因?yàn)閮r(jià)格不能為負(fù)。 因此,我們可以假設(shè)股票價(jià)格服從對數(shù)正態(tài)分布,以確保它永遠(yuǎn)不會(huì)低于零。

我們知道股票收益可能是負(fù)數(shù),因此收益可以假設(shè)服從正態(tài)分布。

假設(shè)變量服從正態(tài)分布而不進(jìn)行任何分析是愚蠢的。

變量可以服從Poisson,Student-t 或 Binomial 分布,盲目地假設(shè)變量服從正態(tài)分布可能導(dǎo)致不準(zhǔn)確的結(jié)果。

“如何使用Python探索變量的概率分布”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI