numpy3.統計相關

#Cipher發表於2020-11-26

次序統計

最小值

np.amin(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue,where=np._NoValue)

最大值

np.amax(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue,where=np._NoValue)

極差

peak to peak
numpy.ptp(a, axis=None, out=None, keepdims=np._NoValue)

分位數

a為array,q為分位數值(0-100),q可以為陣列此時取多個分位數,axis範圍0或1。返回第q%小的數。
np.percentile(a, q, axis=None, out=None, overwrite_input=False,interpolation='linear', keepdims=False)

均值與方差

中位數

np.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)

平均值

np.mean(a, axis=None, dtype=None, out=None, keepdims=np._NoValue))

加權平均值

weights為權值陣列。
np.average(a, axis=None, weights=None, returned=False)

方差

方差分母為n,樣本方差無偏估計分母為n-1
ddof:自由度的個數。
np.var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=np._NoValue)

標準差

np.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=np._NoValue)

相關

協方差矩陣

協方差直觀含義為兩個變數總體誤差的期望,描述兩個變數協同變化的程度:
Cov(X, Y)
= E[(X-E(X)) * (Y-E(Y))]
= E[XY] - 2E[Y] * E[X] + E[X] * E[Y]
= E[XY] - E[X] * E[Y]
Cov(X, X) 即得到 X 的方差
下方函式只給出m計算方差,給出m和y計算協方差矩陣(對稱):
np.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None,aweights=None)

相關係數

實際上是正則化的協方差,描述變數的相關性,n個變數的相關係數形成一個n維方陣。返回相關係數矩陣(對稱)。
np.corrcoef(x, y=None, rowvar=True, bias=np._NoValue, ddof=np._NoValue)

直方圖

bins:一維單調陣列,有序排列,代表橫座標。right:間隔是否包含最右。返回x在bin中的位置。
np.digitize(x, bins, right=False)

我是程式碼:

import numpy as np

np.random.seed(926734542)

x = np.random.randint(0, 9, 9).reshape((3, 3))
print(x)

xmin = np.amin(x, axis=0)
print(xmin)

xmax = np.amax(x, axis=1)
print(xmax)

peak = np.ptp(x, axis=0)
print(peak)

perc = np.percentile(x, 50, axis=0)
print(perc)

medi = np.median(x, axis=0)
print(medi)

mean = np.mean(x, axis=0)
print(mean)

aver = np.average(x, axis=0, weights=[0, 1, 2])
print(aver)

var = np.var(x)
print(var)

std = np.std(x)
print(std)

np.random.seed(5426)
y = np.random.randint(0, 9, 9).reshape((3, 3))
cov = np.cov(x, y)
print(cov)

corr = np.corrcoef(x, y)
print(corr)

z = np.arange(0, 9)
digi = np.digitize(x, z, True)
print(digi)

相關文章