簡體   English   中英

不同大小陣列的協方差逼近

[英]Approximation of covariance for differently sized arrays

NumPy / SciPy中是否有任何常用工具用於計算相關度量,即使輸入變量的大小不同,該度量也可以使用? 在協方差和相關的標准公式中,要求每個不同的待測變量具有相同數量的觀察結果。 通常,您必須傳遞矩陣,其中每行是不同的變量,每列代表一個不同的觀察。

在我的例子中,我有9個不同的變量,但是對於每個變量,觀察的數量不是恆定的。 一些變量比其他變量有更多的觀察。 我知道像傳感器融合這樣的領域會研究這樣的問題,那么有哪些標准工具用於計算不同長度數據系列的關系統計數據(最好是用Python)?

“問題在於每個變量對應於調查的響應,而不是每個調查者都回答每個問題。因此,我想要一些衡量問題2的答案,例如,如何影響問題8答案的可能性,例如“。

這是缺少數據的問題。 我認為令人困惑的是你一直把你的樣品稱為不同長度。 我想你可能會像這樣想象他們:

樣本1:

question number: [1,2,3,4,5]
response       : [1,0,1,1,0]

樣本2:

question number: [2,4,5]
response       : [1,1,0]

當樣本2應該更像這樣:

question number: [  1,2,  3,4,5]
response       : [NaN,1,NaN,1,0]

這是問題編號,而不是回答的重要問題。 沒有問題與對應的對應關系,就不可能像協方差矩陣那樣計算任何東西。

無論如何, ddodev提到的 numpy.ma.cov函數通過利用求和元素的事實來計算協方差,每個函數僅取決於兩個值。

所以它計算它可以。 然后,當涉及除以n的步驟時,它除以計算的值的數量(對於該特定的協方差矩陣元素),而不是樣本的總數。

我會檢查這個頁面:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ma.cov.html

更新:

假設數據矩陣的每一行對應一個特定的隨機變量,並且該行中的條目是觀察值。 你所擁有的是一個簡單的缺失數據問題,只要你有觀察結果之間的對應關系。 也就是說,如果你的一行只有10個條目,那么這10個條目(即試驗)是否對應於第一行中隨機變量的10個樣本? 例如,假設您有兩個溫度傳感器並且它們同時采集樣品,但一個是有缺陷的,有時會錯過樣品。 那么你應該將錯誤傳感器錯過的試驗視為“缺失數據”。 在你的情況下,它就像在NumPy中創建兩個長度相同的向量一樣簡單,將零(或任何值,實際)放在對應於缺失試驗的兩個向量中較小的一個中,並創建一個掩碼矩陣,表示您的遺漏值在數據矩陣中存在。

將這樣的矩陣提供給與上面鏈接的函數應該允許您完全執行所需的計算。

從純粹的數學觀點來看,我認為它們必須是一樣的。 為了使它們相同,您可以應用與缺失數據問題相關的一些概念。 我想我說如果矢量大小不同,它不再是一個嚴格的協方差。 無論你使用什么工具,都會以一些聰明的方式組成一些點來制作相同長度的向量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM