用法:
dask.array.cov(m, y=None, rowvar=1, bias=0, ddof=None)
給定數據和權重,估計協方差矩陣。
此文檔字符串是從 numpy.cov 複製的。
可能存在與 Dask 版本的一些不一致之處。
協方差表示兩個變量一起變化的水平。如果我們檢查 N 維樣本 ,那麽協方差矩陣元素 是 和 的協方差。元素 是 的方差。
有關算法的概述,請參閱注釋。
- m:array_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
將返回無偏估計,即使同時指定了fweights
和aweights
,並且ddof=0
將返回簡單平均值。有關詳細信息,請參閱注釋。默認值為None
。- fweights:數組,int,可選(Dask 不支持)
整數頻率權重的一維數組;每個觀察向量應重複的次數。
- aweights:數組,可選(在 Dask 中不支持)
觀察向量權重的一維數組。對於考慮為“important” 的觀察,這些相對權重通常較大,而對於考慮較少的“important” 的觀察,這些相對權重較小。如果
ddof=0
,權重數組可用於將概率分配給觀察向量。- dtype:數據類型,可選(Dask 中不支持)
結果的數據類型。默認情況下,返回數據類型將至少具有
numpy.float64
精度。
- out:ndarray
變量的協方差矩陣。
參數:
返回:
注意:
假設觀測值在觀測數組
m
的列中,為簡潔起見,設f = fweights
和a = 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.]])
請注意,顯示 和 之間相關性的元素 是負數。
此外,請注意
x
和y
是如何組合的:>>> 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)
相關用法
- Python dask.array.coarsen用法及代碼示例
- Python dask.array.concatenate用法及代碼示例
- Python dask.array.core.unify_chunks用法及代碼示例
- Python dask.array.count_nonzero用法及代碼示例
- Python dask.array.corrcoef用法及代碼示例
- Python dask.array.core.normalize_chunks用法及代碼示例
- Python dask.array.cos用法及代碼示例
- Python dask.array.conj用法及代碼示例
- Python dask.array.core.blockwise用法及代碼示例
- Python dask.array.compress用法及代碼示例
- Python dask.array.copysign用法及代碼示例
- Python dask.array.cosh用法及代碼示例
- Python dask.array.cbrt用法及代碼示例
- Python dask.array.clip用法及代碼示例
- Python dask.array.cumsum用法及代碼示例
- Python dask.array.ceil用法及代碼示例
- Python dask.array.choose用法及代碼示例
- Python dask.array.cumprod用法及代碼示例
- Python dask.array.stats.ttest_ind用法及代碼示例
- Python dask.array.ma.masked_values用法及代碼示例
- Python dask.array.divmod用法及代碼示例
- Python dask.array.negative用法及代碼示例
- Python dask.array.overlap.map_overlap用法及代碼示例
- Python dask.array.stats.ttest_rel用法及代碼示例
- Python dask.array.ma.average用法及代碼示例
注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.cov。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。