สร้างฟังก์ชันสำหรับการคำนวณความแปรปรวนร่วม

มีวิธีใดในหลามในการรับเมทริกซ์ความแปรปรวนร่วมโดยพิจารณาจากค่าเฉลี่ยและจุดข้อมูลตัวอย่าง

ตัวอย่าง:

mean = [3 3.6]
data = [[1 2]
        [2 3]
        [3 3]
        [4 5] 
        [5 5]]

ฉันรู้วิธีคำนวณแบบเดียวกันโดยการแทนที่ค่าเหล่านี้ในสูตร แต่มีฟังก์ชั่น build in ใน python ที่ทำสิ่งนี้เพื่อฉันหรือไม่ ฉันรู้ว่ามีหนึ่งใน Matlab แต่ฉันไม่แน่ใจเกี่ยวกับหลาม


person Jannat Arora    schedule 29.03.2012    source แหล่งที่มา


คำตอบ (1)


numpy.cov() สามารถใช้เพื่อคำนวณเมทริกซ์ความแปรปรวนร่วม:

In [1]: import numpy as np

In [2]: data = np.array([[1,2], [2,3], [3,3], [4,5], [5,5]])

In [3]: np.cov(data.T)
Out[3]: 
array([[ 2.5,  2. ],
       [ 2. ,  1.8]])

ตามค่าเริ่มต้น np.cov() คาดว่าแต่ละแถวจะแสดงตัวแปร โดยมีข้อสังเกตในคอลัมน์ ฉันจึงต้องย้ายเมทริกซ์ของคุณ (โดยใช้ .T)

อีกวิธีหนึ่งในการบรรลุสิ่งเดียวกันคือการตั้งค่า rowvar เป็น False:

In [15]: np.cov(data, rowvar=False)
Out[15]: 
array([[ 2.5,  2. ],
       [ 2. ,  1.8]])
person NPE    schedule 29.03.2012