日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Numpy_协方差与相关系数

發布時間:2024/1/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Numpy_协方差与相关系数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

協方差與相關系數

  • 協方差與相關系數
    • 協方差
    • 相關系數

1.協方差

如果兩個變量的變化趨勢一致,也就是說如果其中一個大于自身的期望值時另外一個也大于自身的期望值,那么兩個變量之間的協方差就是正值;如果兩個變量的變化趨勢相反,即其中一個變量大于自身的期望值時另外一個卻小于自身的期望值,那么兩個變量之間的協方差就是負值。

可以通俗的理解為:兩個變量在變化過程中是同方向變化?還是反方向變化?同向或反向程度如何??
你變大,同時我也變大,說明兩個變量是同向變化的,這時協方差就是正的;?
你變大,同時我變小,說明兩個變量是反向變化的,這時協方差就是負的;?
從數值來看,協方差的數值越大,兩個變量同向程度也就越大。反之亦然。

Cov(X,Y)=1mi=1m(xi?xˉ)(yi?yˉ)

import numpy as npa = np.array([1,2,3]) b = np.array([4,3,4]) x = np.vstack((a,b)) np.cov(a, b) np.cov(a, b, bias=True) np.cov(x)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

輸出:

>>> np.cov(a, b) array([[ 1. , 0. ],[ 0. , 0.33333333]])>>> np.cov(a, b, bias=True) array([[ 0.66666667, 0. ],[ 0. , 0.22222222]])>>> np.cov(x) array([[ 1. , 0. ],[ 0. , 0.33333333]])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

這里使用numpy庫的cov函數來計算協方差,輸出結果為一個協方差矩陣,results[i][j]表示第i個變量與第j個變量的協方差,比如np.cov(x)的結果為

>>> np.cov(x) array([[ 1. , 0. ],[ 0. , 0.33333333]])
  • 1
  • 2
  • 3

x為變量矩陣,x的第 i 行表示第 i 個隨機變量,這里第0個隨機變量與第0個隨機變量的協方差為1,第0個隨機變量與第1個隨機變量的協方差為0,第1個隨機變量與第0個隨機變量的協方差為0,第1個隨機變量與第1個隨機變量的協方差為0.33333333.

還有一點就是bais參數的意義,默認為False,那么計算均值的時候除以 n - 1,如果設為True,那么計算均值的時候除以n,其中n為隨機變量的維度數。具體理論涉及到統計學知識,可以參考知乎回答。

numpy的cov函數使用的三點:

  • 變量矩陣的一行表示一個隨機變量;
  • bais參數控制計算時除以n-1還是n, True表示除以n,False表示除以n-1;
  • 輸出結果是一個協方差矩陣, results[i][j]表示第i個隨機變量與第j個隨機變量的協方差.
  • 2. 相關系數

    相關系數是用以反映變量之間相關關系密切程度的統計指標。相關系數也可以看成協方差:一種剔除了兩個變量量綱影響、標準化后的特殊協方差,它消除了兩個變量變化幅度的影響,而只是單純反應兩個變量每單位變化時的相似程度。

    r=Cov(X,Y)δx??δy??

    并且

    |r|1

    其中,δx,δy表示X,Y的方差。

    import numpy as npa = np.array([1,2,3]) b = np.array([2,5,8]) x = np.vstack((a,b)) np.corrcoef(a, b) np.corrcoef(x)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    輸出

    >>> np.corrcoef(a, b) array([[ 1., 1.],[ 1., 1.]])>>> np.corrcoef(x) array([[ 1., 1.],[ 1., 1.]])
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    numpy中函數corrcoef的用法與函數cov的用法相似,只是corrcoef中bais參數不起作用。

    numpy的cov函數使用的兩點:

  • 變量矩陣的一行表示一個隨機變量;
  • 輸出結果是一個相關系數矩陣, results[i][j]表示第i個隨機變量與第j個隨機變量的相關系數.
  • 總結

    以上是生活随笔為你收集整理的Numpy_协方差与相关系数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。