統計函數 (scipy.stats)#

此模組包含大量的機率分布、摘要和頻率統計、相關函數和統計檢定、遮罩統計、核密度估計、準蒙地卡羅功能等等。

統計學是一個非常廣泛的領域,有些主題超出 SciPy 的範圍,由其他套件涵蓋。其中一些最重要的套件是

  • statsmodels:迴歸、線性模型、時間序列分析,以及 scipy.stats 也涵蓋的主題的擴展。

  • Pandas:表格資料、時間序列功能、與其他統計語言的介面。

  • PyMC:貝氏統計建模、機率機器學習。

  • scikit-learn:分類、迴歸、模型選擇。

  • Seaborn:統計資料視覺化。

  • rpy2:Python 到 R 的橋樑。

機率分布#

每個單變量分布都是 rv_continuous 的子類別的實例(離散分布為 rv_discrete

rv_continuous([momtype, a, b, xtol, ...])

用於子類別化的通用連續隨機變數類別。

rv_discrete([a, b, name, badvalue, ...])

用於子類別化的通用離散隨機變數類別。

rv_histogram(histogram, *args[, density])

產生由直方圖給定的分布。

連續分布#

alpha

Alpha 連續隨機變數。

anglit

Anglit 連續隨機變數。

arcsine

反正弦連續隨機變數。

argus

Argus 分布

beta

Beta 連續隨機變數。

betaprime

Beta prime 連續隨機變數。

bradford

Bradford 連續隨機變數。

burr

Burr (Type III) 連續隨機變數。

burr12

Burr (Type XII) 連續隨機變數。

cauchy

柯西連續隨機變數。

chi

卡方連續隨機變數。

chi2

卡方平方連續隨機變數。

cosine

餘弦連續隨機變數。

crystalball

Crystalball 分布

dgamma

雙伽瑪連續隨機變數。

dpareto_lognorm

雙帕雷托對數常態連續隨機變數。

dweibull

雙 Weibull 連續隨機變數。

erlang

Erlang 連續隨機變數。

expon

指數連續隨機變數。

exponnorm

指數修改常態連續隨機變數。

exponweib

指數 Weibull 連續隨機變數。

exponpow

指數冪連續隨機變數。

f

F 連續隨機變數。

fatiguelife

疲勞壽命 (Birnbaum-Saunders) 連續隨機變數。

fisk

Fisk 連續隨機變數。

foldcauchy

摺疊柯西連續隨機變數。

foldnorm

摺疊常態連續隨機變數。

genlogistic

廣義邏輯斯諦連續隨機變數。

gennorm

廣義常態連續隨機變數。

genpareto

廣義帕雷托連續隨機變數。

genexpon

廣義指數連續隨機變數。

genextreme

廣義極值連續隨機變數。

gausshyper

高斯超幾何連續隨機變數。

gamma

伽瑪連續隨機變數。

gengamma

廣義伽瑪連續隨機變數。

genhalflogistic

廣義半邏輯斯諦連續隨機變數。

genhyperbolic

廣義雙曲連續隨機變數。

geninvgauss

廣義反高斯連續隨機變數。

gibrat

Gibrat 連續隨機變數。

gompertz

Gompertz(或截斷 Gumbel)連續隨機變數。

gumbel_r

右偏 Gumbel 連續隨機變數。

gumbel_l

左偏 Gumbel 連續隨機變數。

halfcauchy

半柯西連續隨機變數。

halflogistic

半邏輯斯諦連續隨機變數。

halfnorm

半常態連續隨機變數。

halfgennorm

廣義常態連續隨機變數的上半部分。

hypsecant

雙曲正割連續隨機變數。

invgamma

反伽瑪連續隨機變數。

invgauss

反高斯連續隨機變數。

invweibull

反 Weibull 連續隨機變數。

irwinhall

Irwin-Hall(均勻和)連續隨機變數。

jf_skew_t

Jones 和 Faddy 偏斜 t 分布。

johnsonsb

Johnson SB 連續隨機變數。

johnsonsu

Johnson SU 連續隨機變數。

kappa4

Kappa 4 參數分布。

kappa3

Kappa 3 參數分布。

ksone

Kolmogorov-Smirnov 單尾檢定統計量分布。

kstwo

Kolmogorov-Smirnov 雙尾檢定統計量分布。

kstwobign

縮放 Kolmogorov-Smirnov 雙尾檢定統計量的極限分布。

landau

Landau 連續隨機變數。

laplace

拉普拉斯連續隨機變數。

laplace_asymmetric

非對稱拉普拉斯連續隨機變數。

levy

Levy 連續隨機變數。

levy_l

左偏 Levy 連續隨機變數。

levy_stable

Levy-stable 連續隨機變數。

logistic

邏輯斯諦(或 Sech 平方)連續隨機變數。

loggamma

對數伽瑪連續隨機變數。

loglaplace

對數拉普拉斯連續隨機變數。

lognorm

對數常態連續隨機變數。

loguniform

對數均勻或倒數連續隨機變數。

lomax

Lomax(第二類帕雷托)連續隨機變數。

maxwell

麥克斯韋連續隨機變數。

mielke

Mielke Beta-Kappa / Dagum 連續隨機變數。

moyal

Moyal 連續隨機變數。

nakagami

Nakagami 連續隨機變數。

ncx2

非中心卡方連續隨機變數。

ncf

非中心 F 分布連續隨機變數。

nct

非中心 Student's t 連續隨機變數。

norm

常態連續隨機變數。

norminvgauss

常態反高斯連續隨機變數。

pareto

帕雷托連續隨機變數。

pearson3

皮爾森 III 型連續隨機變數。

powerlaw

冪函數連續隨機變數。

powerlognorm

冪對數常態連續隨機變數。

powernorm

冪常態連續隨機變數。

rdist

R 分布(對稱 beta)連續隨機變數。

rayleigh

Rayleigh 連續隨機變數。

rel_breitwigner

相對論 Breit-Wigner 隨機變數。

rice

Rice 連續隨機變數。

recipinvgauss

倒數反高斯連續隨機變數。

semicircular

半圓形連續隨機變數。

skewcauchy

偏斜柯西隨機變數。

skewnorm

偏斜常態隨機變數。

studentized_range

學生化範圍連續隨機變數。

t

Student's t 連續隨機變數。

trapezoid

梯形連續隨機變數。

triang

三角形連續隨機變數。

truncexpon

截斷指數連續隨機變數。

truncnorm

截斷常態連續隨機變數。

truncpareto

上限截斷帕雷托連續隨機變數。

truncweibull_min

雙重截斷 Weibull 最小值連續隨機變數。

tukeylambda

Tukey-Lamdba 連續隨機變數。

uniform

均勻連續隨機變數。

vonmises

Von Mises 連續隨機變數。

vonmises_line

Von Mises 連續隨機變數。

wald

Wald 連續隨機變數。

weibull_min

Weibull 最小值連續隨機變數。

weibull_max

Weibull 最大值連續隨機變數。

wrapcauchy

包裹柯西連續隨機變數。

單變量連續分布的 fit 方法使用最大似然估計將分布擬合到資料集。fit 方法可以接受常規資料或受限資料。受限資料以 CensoredData 類別的實例表示。

CensoredData([uncensored, left, right, interval])

此類別的實例表示受限資料。

多變量分布#

multivariate_normal

多變量常態隨機變數。

matrix_normal

矩陣常態隨機變數。

dirichlet

Dirichlet 隨機變數。

dirichlet_multinomial

Dirichlet 多項式隨機變數。

wishart

Wishart 隨機變數。

invwishart

反 Wishart 隨機變數。

multinomial

多項式隨機變數。

special_ortho_group

特殊正交矩陣 (SO(N)) 隨機變數。

ortho_group

正交矩陣 (O(N)) 隨機變數。

unitary_group

矩陣值 U(N) 隨機變數。

random_correlation

隨機相關矩陣。

multivariate_t

多變量 t 分布隨機變數。

multivariate_hypergeom

多變量超幾何隨機變數。

normal_inverse_gamma

常態反伽瑪分布。

random_table

來自具有固定邊際總和的獨立樣本的列聯表。

uniform_direction

向量值均勻方向。

vonmises_fisher

von Mises-Fisher 變數。

scipy.stats.multivariate_normal 方法接受以下類別的實例來表示共變異數。

Covariance()

共變異數矩陣的表示

離散分布#

bernoulli

白努利離散隨機變數。

betabinom

beta-二項式離散隨機變數。

betanbinom

beta-負二項式離散隨機變數。

binom

二項式離散隨機變數。

boltzmann

Boltzmann(截斷離散指數)隨機變數。

dlaplace

拉普拉斯離散隨機變數。

geom

幾何離散隨機變數。

hypergeom

超幾何離散隨機變數。

logser

對數(對數級數、級數)離散隨機變數。

nbinom

負二項式離散隨機變數。

nchypergeom_fisher

Fisher 的非中心超幾何離散隨機變數。

nchypergeom_wallenius

Wallenius 的非中心超幾何離散隨機變數。

nhypergeom

負超幾何離散隨機變數。

planck

普朗克離散指數隨機變數。

poisson

Poisson 離散隨機變數。

poisson_binom

Poisson 二項式離散隨機變數。

randint

均勻離散隨機變數。

skellam

Skellam 離散隨機變數。

yulesimon

Yule-Simon 離散隨機變數。

zipf

Zipf (Zeta) 離散隨機變數。

zipfian

Zipfian 離散隨機變數。

以下概述統計函數。其中許多函數在 scipy.stats.mstats 中有類似版本,適用於遮罩陣列。

摘要統計#

describe(a[, axis, ddof, bias, nan_policy])

計算傳遞陣列的幾個描述性統計量。

gmean(a[, axis, dtype, weights, nan_policy, ...])

計算沿指定軸的加權幾何平均數。

hmean(a[, axis, dtype, weights, nan_policy, ...])

計算沿指定軸的加權調和平均數。

pmean(a, p, *[, axis, dtype, weights, ...])

計算沿指定軸的加權冪平均數。

kurtosis(a[, axis, fisher, bias, ...])

計算資料集的峰度(Fisher 或 Pearson)。

mode(a[, axis, nan_policy, keepdims])

傳回傳遞陣列中模態(最常見)值的陣列。

moment(a[, order, axis, nan_policy, center, ...])

計算樣本平均數的第 n 個動差。

lmoment(sample[, order, axis, sorted, ...])

計算來自連續分布的樣本的 L 動差

expectile(a[, alpha, weights])

計算指定水平的期望值。

skew(a[, axis, bias, nan_policy, keepdims])

計算資料集的樣本偏度。

kstat(data[, n, axis, nan_policy, keepdims])

傳回第 n 個 k 統計量(目前為 1<=n<=4)。

kstatvar(data[, n, axis, nan_policy, keepdims])

傳回 k 統計量變異數的無偏估計量。

tmean(a[, limits, inclusive, axis, ...])

計算修剪平均數。

tvar(a[, limits, inclusive, axis, ddof, ...])

計算修剪變異數。

tmin(a[, lowerlimit, axis, inclusive, ...])

計算修剪最小值。

tmax(a[, upperlimit, axis, inclusive, ...])

計算修剪最大值。

tstd(a[, limits, inclusive, axis, ddof, ...])

計算修剪樣本標準差。

tsem(a[, limits, inclusive, axis, ddof, ...])

計算修剪平均數的標準誤。

variation(a[, axis, nan_policy, ddof, keepdims])

計算變異係數。

find_repeats(arr)

尋找重複項和重複計數。

rankdata(a[, method, axis, nan_policy])

為資料指定等級,適當地處理並列。

tiecorrect(rankvals)

用於 Mann-Whitney U 和 Kruskal-Wallis H 檢定的並列校正因子。

trim_mean(a, proportiontocut[, axis])

在修剪指定比例的極端值後傳回陣列的平均值

gstd(a[, axis, ddof])

計算陣列的幾何標準差。

iqr(x[, axis, rng, scale, nan_policy, ...])

計算沿指定軸的資料四分位距。

sem(a[, axis, ddof, nan_policy, keepdims])

計算平均數的標準誤。

bayes_mvs(data[, alpha])

平均數、變異數和標準差的貝氏信賴區間。

mvsdist(data)

資料的平均數、變異數和標準差的「凍結」分布。

entropy(pk[, qk, base, axis, nan_policy, ...])

計算給定分布的 Shannon 熵/相對熵。

differential_entropy(values, *[, ...])

給定分布的樣本,估計微分熵。

median_abs_deviation(x[, axis, center, ...])

計算沿給定軸的資料中位數絕對偏差。

頻率統計#

cumfreq(a[, numbins, defaultreallimits, weights])

傳回累積頻率直方圖,使用直方圖函數。

percentileofscore(a, score[, kind, nan_policy])

計算相對於分數列表的分數的百分等級。

scoreatpercentile(a, per[, limit, ...])

計算輸入序列給定百分位數的分數。

relfreq(a[, numbins, defaultreallimits, weights])

傳回相對頻率直方圖,使用直方圖函數。

binned_statistic(x, values[, statistic, ...])

計算一組或多組資料的箱狀統計量。

binned_statistic_2d(x, y, values[, ...])

計算一組或多組資料的二維箱狀統計量。

binned_statistic_dd(sample, values[, ...])

計算一組資料的多維箱狀統計量。

隨機變數#

make_distribution(dist)

rv_continuous 的實例產生 ContinuousDistribution

Normal([mu, sigma])

具有指定平均值和標準差的常態分佈。

Uniform(*[, a, b])

均勻分佈。

Mixture(components, *[, weights])

混合分佈的表示。

order_statistic(X, /, *, r, n)

順序統計量的機率分佈

truncate(X[, lb, ub])

截斷隨機變數的支援。

abs(X, /)

隨機變數的絕對值

exp(X, /)

隨機變數的自然指數

log(X, /)

非負隨機變數的自然對數

準蒙地卡羅法#

列聯表#

遮罩統計函數#

其他統計功能#

轉換#

boxcox(x[, lmbda, alpha, optimizer])

傳回透過 Box-Cox 冪次轉換轉換的資料集。

boxcox_normmax(x[, brack, method, ...])

計算輸入資料的最佳 Box-Cox 轉換參數。

boxcox_llf(lmb, data)

boxcox 對數概似函數。

yeojohnson(x[, lmbda])

傳回透過 Yeo-Johnson 冪次轉換轉換的資料集。

yeojohnson_normmax(x[, brack])

計算最佳 Yeo-Johnson 轉換參數。

yeojohnson_llf(lmb, data)

yeojohnson 對數概似函數。

obrientransform(*samples)

計算輸入資料(任意數量的陣列)的 O'Brien 轉換。

sigmaclip(a[, low, high])

執行陣列元素的迭代 sigma 截取。

trimboth(a, proportiontocut[, axis])

從陣列的兩端切除一定比例的項目。

trim1(a, proportiontocut[, tail, axis])

從傳遞的陣列分佈的端切除一定比例。

zmap(scores, compare[, axis, ddof, nan_policy])

計算相對 z 分數。

zscore(a[, axis, ddof, nan_policy])

計算 z 分數。

gzscore(a, *[, axis, ddof, nan_policy])

計算幾何標準分數。

統計距離#

wasserstein_distance(u_values, v_values[, ...])

計算兩個 1D 離散分佈之間的 Wasserstein-1 距離。

wasserstein_distance_nd(u_values, v_values)

計算兩個 N-D 離散分佈之間的 Wasserstein-1 距離。

energy_distance(u_values, v_values[, ...])

計算兩個 1D 分佈之間的能量距離。

抽樣#

擬合/存活分析#

fit(dist, data[, bounds, guess, method, ...])

將離散或連續分佈擬合到資料

ecdf(sample)

樣本的經驗累積分布函數。

logrank(x, y[, alternative])

透過對數等級檢定比較兩個樣本的存活分佈。

方向統計函數#

directional_stats(samples, *[, axis, normalize])

計算方向資料的樣本統計量。

circmean(samples[, high, low, axis, ...])

計算角度觀察值樣本的圓形平均值。

circvar(samples[, high, low, axis, ...])

計算角度觀察值樣本的圓形變異數。

circstd(samples[, high, low, axis, ...])

計算角度觀察值樣本的圓形標準差。

敏感度分析#

sobol_indices(*, func, n[, dists, method, rng])

Sobol' 全域敏感度指標。

繪圖檢定#

ppcc_max(x[, brack, dist])

計算使 PPCC 最大化的形狀參數。

ppcc_plot(x, a, b[, dist, plot, N])

計算並選擇性地繪製機率圖相關係數。

probplot(x[, sparams, dist, fit, plot, rvalue])

計算機率圖的分位數,並選擇性地顯示該圖。

boxcox_normplot(x, la, lb[, plot, N])

計算 Box-Cox 常態機率圖的參數,並選擇性地顯示它。

yeojohnson_normplot(x, la, lb[, plot, N])

計算 Yeo-Johnson 常態機率圖的參數,並選擇性地顯示它。

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

gaussian_kde(dataset[, bw_method, weights])

使用高斯核的核密度估計表示。

scipy.stats 中使用的警告/錯誤#

DegenerateDataWarning([msg])

當資料退化且結果可能不可靠時發出警告。

ConstantInputWarning([msg])

當資料中的所有值完全相等時發出警告。

NearConstantInputWarning([msg])

當資料中所有數值幾乎相等時發出警告。

FitError([msg])

表示將分布擬合到資料時的錯誤情況。

scipy.stats 中使用的結果類別#

警告

這些類別為私有,但由於其他統計函數會返回它們的實例,因此在此處包含它們。 不支援使用者匯入和實例化。