首頁 > 軟體

3個可用於統計資訊的Python軟體包

2021-05-17 07:00:06

我知道統計資料很難,但是,藉助現代技術,可以從頭開始學習統計資訊。使用程式語言中的所有這些已開發的統計資訊包,學習統計資訊變得比以前更加容易。

我知道,如果您想學習統計學,很多人都會爭論。您應該使用R語言而不是Python。但是,我想提供一種使用Python軟體包的替代方法,因為許多人都是通過學習Python語言開始其資料科學之旅的。

在本文中,將展示3個學習Statistic的頂級Python包。

1. Scipy.Stats

SciPy(發音為「 Sigh Pie」)是一種開源軟體包計算工具,用於在Python環境中執行科學方法。 Scipy本身也是許多數學,工程和資料研究中使用的數值演算法和特定領域工具箱的集合。

Scipy中可用的API之一是稱為Stats的統計API。根據Scipy主頁,Scipy.Stats是一個模組,其中包含大量的概率分佈和不斷增長的統計函數庫,尤其是用於概率函數研究的統計函數庫。

在Scipy.Stats模組上,可以參考許多統計功能API以便進一步學習。它們是:

連續分佈

多元分佈

離散分佈

摘要統計

頻率統計

關聯函數

統計檢驗

轉變

統計距離

隨機變數生成

迴圈統計功能

列聯表功能

繪圖測試

遮蔽統計功能

單變數和多變數核心密度估計

如果您正在使用Anaconda發行版中的Python,則Scipy軟體包已內建在環境中。如果選擇獨立安裝Scipy,則需要安裝依賴包。您可以通過執行下面的這一行來通過pip做到這一點。

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose

讓我們嘗試學習有關概率分佈的最簡單概念,即正態分佈。首先,我們將必要的程式包匯入到環境中。

#Import statistical package from Scipy

from scipy import stats#Import the normal distribution class

from scipy.stats import norm

我們匯入的範數類將成為概率函數,以產生遵循正態分佈的隨機變數。要獲取有關該類的更多資訊,我們可以嘗試列印文件。

print(stats.norm.__doc__)

2. Pingouin

Pingouin是一個開源統計軟體包,主要用於統計。該軟體包為您提供了許多類和函數,以學習基本統計資訊和假設檢驗。根據開發人員的說法,Pingouin是為需要簡單但詳盡的統計功能的使用者設計的。

Pingouin很簡單但很詳盡,因為該軟體包為您提供了有關資料的更多解釋。在Scipy.Stats上,當我們有時需要有關資料的更多解釋時,它們僅返回T值和p值。

在Pingouin程式包中,計算已按照上面的幾個步驟進行。例如,Pingouin的t檢驗不僅返回T值和p值,還返回自由度,效應大小(Cohen d),均值差的95%置信區間,統計功效以及測試的BF10。

目前,Pingouin軟體包提供了可用於統計測試的API函數。它們是:

· ANOVA and T-test

· Bayesian

· Circular

· Contingency

· Correlation and regression

· Distribution

· Effect sizes

· Multiple comparisons and post-hoc tests

· Multivariate tests

· Non-parametric

· Others

· Plotting

· Power analysis

· Reliability and consistency

Pingouin API文件本身對於學習目的是很豐富的。例如,讓我們探索方差分析功能。首先,您需要安裝Pingouin軟體包。

pip install pingouin

安裝僅需一秒鐘。之後,我們將使用mpg資料集示例對Pingouin進行ANOVA統計假設檢驗。#Import necessary package

import seaborn as sns

import pingouin as pgmpg = sns.load_dataset('mpg')

pg.anova(data = mpg, dv = 'mpg', between = 'origin')

3.Statsmodels

Statsmodels是一個統計模型python軟體包,它提供許多類和函數來創建統計估計。 Statsmodel包曾經是Scipy模組的一部分,但是目前,statsmodel包是單獨開發的。

Scipy.Stats和statsmodel有什麼區別? Scipy.Stats模組專注於統計定理,例如概率函數和分佈,而statsmodel包專注於基於資料的統計估計。

Statsmodel提供了統計建模中經常使用的API。 Statsmodel軟體包將API分為3個主要模型:

statsmodels.api,其中提供了許多橫截面模型和方法,包括迴歸和GLM。

statsmodels.tsa.api提供時間序列模型和方法。

statsmodels.formula.api提供了一個使用公式字元串和DataFrames指定模型的介面-簡單來說,您可以創建自己的模型。

讓我們嘗試使用Statsmodel包來學習OLS(普通最小二乘)建模。如果您沒有使用Anaconda發行版中的Python或尚未安裝Statsmodel軟體包,則可以使用以下程式碼行。

pip install statsmodels

繼續執行這些步驟,讓我們通過匯入包和資料集來開發模型。

#Importing the necessary package

from sklearn.datasets import load_boston

import statsmodels.api as sm

from statsmodels.api import OLS#import the data

boston = load_boston()

data = pd.DataFrame(data = boston['data'], columns = boston['feature_names'])

target = pd.Series(boston['target'])#Develop the model

sm_lm = OLS(target, sm.add_constant(data))

result = sm_lm.fit()

result.summary()

使用Statsmodel軟體包開發的OLS模型將具有您從模型估計中獲得的所有必要結果。

好了,本文到此結束。如果對程式設計、計算機、程式設計師方面感興趣的話,歡迎私信聯絡我,隨時交流!點個關注,是對我莫大的鼓勵!


IT145.com E-mail:sddin#qq.com