當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.array.cov用法及代碼示例


用法:

dask.array.cov(m, y=None, rowvar=1, bias=0, ddof=None)

給定數據和權重,估計協方差矩陣。

此文檔字符串是從 numpy.cov 複製的。

可能存在與 Dask 版本的一些不一致之處。

協方差表示兩個變量一起變化的水平。如果我們檢查 N 維樣本 ,那麽協方差矩陣元素 的協方差。元素 的方差。

有關算法的概述,請參閱注釋。

參數

marray_like

包含多個變量和觀察值的一維或二維數組。 m 的每一行代表一個變量,每一列都是對所有這些變量的一次觀察。另請參閱下麵的rowvar

y數組,可選

一組額外的變量和觀察結果。 y 的形式與 m 的形式相同。

rowvar布爾型,可選

如果 rowvar 為 True(默認值),則每一行代表一個變量,列中包含觀察值。否則,關係被轉置:每列代表一個變量,而行包含觀察值。

bias布爾型,可選

默認歸一化 (False) 為 (N - 1) ,其中 N 是給定的觀察數(無偏估計)。如果 bias 為 True,則通過 N 進行標準化。在 numpy 版本 >= 1.5 中,可以使用關鍵字 ddof 覆蓋這些值。

ddof整數,可選

如果不是None,則bias 隱含的默認值將被覆蓋。請注意,ddof=1 將返回無偏估計,即使同時指定了 fweightsaweights,並且 ddof=0 將返回簡單平均值。有關詳細信息,請參閱注釋。默認值為 None

fweights數組,int,可選(Dask 不支持)

整數頻率權重的一維數組;每個觀察向量應重複的次數。

aweights數組,可選(在 Dask 中不支持)

觀察向量權重的一維數組。對於考慮為“important” 的觀察,這些相對權重通常較大,而對於考慮較少的“important” 的觀察,這些相對權重較小。如果ddof=0,權重數組可用於將概率分配給觀察向量。

dtype數據類型,可選(Dask 中不支持)

結果的數據類型。默認情況下,返回數據類型將至少具有 numpy.float64 精度。

返回

outndarray

變量的協方差矩陣。

注意

假設觀測值在觀測數組m 的列中,為簡潔起見,設f = fweightsa = aweights。計算加權協方差的步驟如下:

>>> m = np.arange(10, dtype=np.float64)  
>>> f = np.arange(10) * 2  
>>> a = np.arange(10) ** 2.  
>>> ddof = 1  
>>> w = f * a  
>>> v1 = np.sum(w)  
>>> v2 = np.sum(w * a)  
>>> m -= np.sum(m * w, axis=None, keepdims=True) / v1  
>>> cov = np.dot(m * w, m.T) * v1 / (v1**2 - ddof * v2)

請注意,當 a == 1 時,歸一化因子 v1 / (v1**2 - ddof * v2) 應該會變為 1 / (np.sum(f) - ddof)

例子

考慮兩個變量 ,它們完全相關,但方向相反:

>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T  
>>> x  
array([[0, 1, 2],
       [2, 1, 0]])

注意 如何增加而 減少。協方差矩陣清楚地表明了這一點:

>>> np.cov(x)  
array([[ 1., -1.],
       [-1.,  1.]])

請注意,顯示 之間相關性的元素 是負數。

此外,請注意 xy 是如何組合的:

>>> x = [-2.1, -1,  4.3]  
>>> y = [3,  1.1,  0.12]  
>>> X = np.stack((x, y), axis=0)  
>>> np.cov(X)  
array([[11.71      , -4.286     ], # may vary
       [-4.286     ,  2.144133]])
>>> np.cov(x, y)  
array([[11.71      , -4.286     ], # may vary
       [-4.286     ,  2.144133]])
>>> np.cov(x)  
array(11.71)

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.cov。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。