<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # NumPy 對預期價值,方差和協方差的簡要介紹 > 原文: [https://machinelearningmastery.com/introduction-to-expected-value-variance-and-covariance/](https://machinelearningmastery.com/introduction-to-expected-value-variance-and-covariance/) 基礎統計數據是應用機器學習中的有用工具,可以更好地理解您的數據。 它們也是為更先進的線性代數運算和機器學習方法提供基礎的工具,例如協方差矩陣和主成分分析。因此,在線性代數符號的背景下強調基本統計是非常重要的。 在本教程中,您將了解基本統計操作如何工作以及如何使用 NumPy 以及線性代數中的符號和術語來實現它們。 完成本教程后,您將了解: * 預期值,平均值和平均值是什么以及如何計算它們。 * 方差和標準偏差是什么以及如何計算它們。 * 協方差,相關性和協方差矩陣是什么以及如何計算它們。 讓我們開始吧。 * **更新于 Mar / 2018** :修復了向量方差示例中的小錯字。謝謝鮑勃。 ![A Gentle Introduction to Expected Value, Variance, and Covariance with NumPy](img/66cef2cc9be1b9be684b0918ce2ce69f.jpg) NumPy 照片由 [Robyn Jay](https://www.flickr.com/photos/learnscope/15866965009/) 對預期價值,方差和協方差的溫和介紹,保留一些權利。 ## 教程概述 本教程分為 4 個部分;他們是: 1. 期望值 2. 方差 3. 協方差 4. 協方差矩陣 ## 期望值 在概率上,某個隨機變量 X 的平均值稱為期望值或期望值。 期望值使用符號 E 和變量名稱周圍的方括號;例如: ``` E[X] ``` 它被計算為可以繪制的值的概率加權和。 ``` E[X] = sum(x1 * p1, x2 * p2, x3 * p3, ..., xn * pn) ``` 在簡單的情況下,例如擲硬幣或擲骰子,每次事件的概率都是可能的。因此,可以將期望值計算為所有值的總和乘以值的倒數。 ``` E[X] = sum(x1, x2, x3, ..., xn) . 1/n ``` 在統計學中,可以從從域中抽取的示例的樣本來估計平均值,或者更具技術性地,算術平均值或樣本均值。這很混亂,因為平均值,平均值和期望值可以互換使用。 在摘要中,均值由小寫希臘字母 mu 表示,并且是根據觀察樣本計算的,而不是所有可能的值。 ``` mu = sum(x1, x2, x3, ..., xn) . 1/n ``` 或者,寫得更緊湊: ``` mu = sum(x . P(x)) ``` 其中 x 是觀測向量,P(x)是每個值的計算概率。 當計算特定變量(例如 x)時,均值表示為小寫變量名稱,上面有一行,稱為 x-bar。 ``` _ x = sum from 1 to n (xi) . 1/n ``` 可以使用 mean()函數計算 NumPy 中的向量或矩陣的算術平均值。 下面的示例定義了 6 個元素的向量并計算平均值。 ``` from numpy import array from numpy import mean v = array([1,2,3,4,5,6]) print(v) result = mean(v) print(result) ``` 首先運行該示例打印定義的向量和向量中的值的平均值。 ``` [1 2 3 4 5 6] 3.5 ``` 均值函數可以通過分別指定軸參數和值 0 或 1 來計算矩陣的行或列均值。 下面的示例定義了一個 2×6 矩陣,并計算列和行均值。 ``` from numpy import array from numpy import mean M = array([[1,2,3,4,5,6],[1,2,3,4,5,6]]) print(M) col_mean = mean(M, axis=0) print(col_mean) row_mean = mean(M, axis=1) print(row_mean) ``` 首先運行示例打印定義的矩陣,然后打印計算的列和行平均值。 ``` [[1 2 3 4 5 6] [1 2 3 4 5 6]] [ 1\. 2\. 3\. 4\. 5\. 6.] [ 3.5 3.5] ``` ## 方差 在概率上,一些隨機變量 X 的方差是分布中平均值相對于平均值變化的量度。 方差表示為變量上的函數 Var()。 ``` Var[X] ``` 方差計算為分布中每個值與預期值的平均平方差。或者與預期值的預期平方差異。 ``` Var[X] = E[(X - E[X])^2] ``` 假設已經計算了變量的期望值(E [X]),則可以將隨機變量的方差計算為每個示例的平方差與期望值乘以該值的概率之和。 ``` Var[X] = sum (p(x1) . (x1 - E[X])^2, p(x2) . (x2 - E[X])^2, ..., p(x1) . (xn - E[X])^2) ``` 如果分布中每個示例的概率相等,則方差計算可以降低個體概率,并將平方差的總和乘以分布中的示例數的倒數。 ``` Var[X] = sum ((x1 - E[X])^2, (x2 - E[X])^2, ...,(xn - E[X])^2) . 1/n ``` 在統計中,可以從從域中抽取的示例的樣本來估計方差。 在摘要中,樣本方差由小寫西格瑪表示,其中 2 上標表示單位是平方的,而不是必須對最終值求平方。將平方差的總和乘以實例數的倒數減 1 以校正偏差。 ``` sigma^2 = sum from 1 to n ( (xi - mu)^2 ) . 1 / (n - 1) ``` 在 NumPy 中,可以使用 var()函數計算向量或矩陣的方差。默認情況下,var()函數計算總體方差。要計算樣本方差,必須將 ddof 參數設置為值 1。 下面的示例定義了 6 個元素的向量并計算了樣本方差。 ``` from numpy import array from numpy import var v = array([1,2,3,4,5,6]) print(v) result = var(v, ddof=1) print(result) ``` 首先運行該示例打印定義的向量,然后打印向量中值的計算樣本方差。 ``` [1 2 3 4 5 6] 3.5 ``` var 函數可以通過分別指定 axis 參數和值 0 或 1 來計算矩陣的行或列方差,與上面的平均函數相同。 下面的示例定義了一個 2×6 矩陣,并計算了列和行樣本方差。 ``` from numpy import array from numpy import var M = array([[1,2,3,4,5,6],[1,2,3,4,5,6]]) print(M) col_mean = var(M, ddof=1, axis=0) print(col_mean) row_mean = var(M, ddof=1, axis=1) print(row_mean) ``` 首先運行示例打印定義的矩陣,然后打印列和行樣本方差值。 ``` [[1 2 3 4 5 6] [1 2 3 4 5 6]] [ 0\. 0\. 0\. 0\. 0\. 0.] [ 3.5 3.5] ``` 標準偏差計算為方差的平方根,并表示為小寫“s”。 ``` s = sqrt(sigma^2) ``` 為了保持這種表示法,有時方差表示為 s ^ 2,其中 2 表示為上標,再次表明單位是平方的。 NumPy 還提供直接通過 std()函數計算標準偏差的功能。與 var()函數一樣,ddof 參數必須設置為 1 才能計算無偏樣本標準差,并且可以通過將 axis 參數分別設置為 0 和 1 來計算列和行標準偏差。 下面的示例演示了如何計算矩陣的行和列的樣本標準偏差。 ``` from numpy import array from numpy import std M = array([[1,2,3,4,5,6],[1,2,3,4,5,6]]) print(M) col_mean = std(M, ddof=1, axis=0) print(col_mean) row_mean = std(M, ddof=1, axis=1) print(row_mean) ``` 首先運行示例打印定義的矩陣,然后打印列和行樣本標準偏差值。 ``` [[1 2 3 4 5 6] [1 2 3 4 5 6]] [ 0\. 0\. 0\. 0\. 0\. 0.] [ 1.87082869 1.87082869] ``` ## 協方差 在概率上,協方差是兩個隨機變量的聯合概率的度量。它描述了兩個變量如何一起變化。 它表示為函數 cov(X,Y),其中 X 和 Y 是要考慮的兩個隨機變量。 ``` cov(X,Y) ``` 協方差計算為每個隨機變量與其預期值的差異的乘積的預期值或平均值,其中 E [X]是 X 的期望值,E [Y]是 y 的期望值。 ``` cov(X, Y) = E[(X - E[X] . (Y - E[Y])] ``` 假設已計算出 X 和 Y 的預期值,則協方差可以計算為 x 值與其預期值的差值之和乘以 y 值與其預期值的差值乘以其數量的倒數。人口中的例子。 ``` cov(X, Y) = sum (x - E[X]) * (y - E[Y]) * 1/n ``` 在統計學中,樣本協方差可以以相同的方式計算,盡管具有偏差校正,與方差相同。 ``` cov(X, Y) = sum (x - E[X]) * (y - E[Y]) * 1/(n - 1) ``` 協方差的符號可以解釋為兩個變量是一起增加(正)還是一起減少(負)。協方差的大小不容易解釋。協方差值為零表示兩個變量完全獨立。 NumPy 沒有直接計算兩個變量之間協方差的函數。相反,它具有計算稱為 cov()的協方差矩陣的函數,我們可以使用它來檢索協方差。默認情況下,cov()函數將計算所提供的隨機變量之間的無偏或樣本協方差。 下面的例子定義了兩個相等長度的向量,一個增加,一個減少。我們預計這些變量之間的協方差是負的。 我們只訪問兩個變量的協方差,因為返回了方差協方差矩陣的[0,1]元素。 ``` from numpy import array from numpy import cov x = array([1,2,3,4,5,6,7,8,9]) print(x) y = array([9,8,7,6,5,4,3,2,1]) print(y) Sigma = cov(x,y)[0,1] print(Sigma) ``` 首先運行該示例打印兩個向量,然后是兩個向量中的值的協方差。正如我們預期的那樣,價值是負的。 ``` [1 2 3 4 5 6 7 8 9] [9 8 7 6 5 4 3 2 1] -7.5 ``` 可以將協方差歸一化為-1 和 1 之間的分數,以通過將其除以 X 和 Y 的標準偏差來解釋幅度。結果稱為變量的相關性,也稱為 Pearson 相關系數,命名為該方法的開發者。 ``` r = cov(X, Y) / sX sY ``` 其中 r 是 X 和 Y 的相關系數,cov(X,Y)是 X 和 Y 的樣本協方差,sX??和 sY 分別是 X 和 Y 的標準偏差。 NumPy 提供了 corrcoef()函數,用于直接計算兩個變量之間的相關性。與 cov()一樣,它返回一個矩陣,在本例中是一個相關矩陣。與 cov()的結果一樣,我們只能從返回的平方矩陣的[0,1]值中獲取感興趣的相關性。 ``` from numpy import array from numpy import corrcoef x = array([1,2,3,4,5,6,7,8,9]) print(x) y = array([9,8,7,6,5,4,3,2,1]) print(y) Sigma = corrcoef(x,y) print(Sigma) ``` 首先運行該示例打印兩個定義的向量,然后打印相關系數。我們可以看到,向量與我們設計的最大負相關。 ``` [1 2 3 4 5 6 7 8 9] [9 8 7 6 5 4 3 2 1] -1.0 ``` ## 協方差矩陣 協方差矩陣是方形和對稱矩陣,其描述兩個或更多個隨機變量之間的協方差。 協方差矩陣的對角線是每個隨機變量的方差。 協方差矩陣是兩個變量的協方差的推廣,并且捕獲數據集中的所有變量可以一起改變的方式。 協方差矩陣表示為大寫希臘字母 Sigma。如上計算每對隨機變量的協方差。 ``` Sigma = E[(X - E[X] . (Y - E[Y])] ``` 哪里: ``` Sigma(ij) = cov(Xi, Xj) ``` X 是一個矩陣,每列代表一個隨機變量。 協方差矩陣為分離隨機變量矩陣中的結構關系提供了有用的工具。這可以用于解相關變量或作為變換應用于其他變量。它是主成分分析數據簡化方法中使用的關鍵元素,簡稱 PCA。 可以使用 cov()函數在 NumPy 中計算協方差矩陣。默認情況下,此函數將計算樣本協方差矩陣。 可以使用包含用于計算協方差矩陣的列的單個矩陣來調用 cov()函數,或者使用兩個數組(例如每個變量一個數組)來調用 cov()函數。 下面是一個定義兩個 9 元素向量并從中計算無偏協方差矩陣的示例。 ``` from numpy import array from numpy import cov x = array([1,2,3,4,5,6,7,8,9]) print(x) y = array([9,8,7,6,5,4,3,2,1]) print(y) Sigma = cov(x,y) print(Sigma) ``` 首先運行該示例打印兩個向量,然后打印計算的協方差矩陣。 設計數組的值使得當一個變量增加時,另一個變量減少。我們期望在這兩個變量的協方差上看到負號,這就是我們在協方差矩陣中看到的。 ``` [1 2 3 4 5 6 7 8 9] [9 8 7 6 5 4 3 2 1] [[ 7.5 -7.5] [-7.5 7.5]] ``` 協方差矩陣廣泛用于線性代數和線性代數與統計的交集,稱為多變量分析。我們在這篇文章中只有一點點品味。 ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * 使用您自己的小型人為數據探索每個示例。 * 從 CSV 文件加載數據并將每個操作應用于數據列。 * 編寫自己的函數來實現每個統計操作。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 圖書 * [應用多變量統計分析](http://amzn.to/2AUcEc5),2012。 * [應用多變量統計分析](http://amzn.to/2AWIViz),2015 年。 * 第 12 章概率中的線性代數&amp;統計學,[線性代數導論](http://amzn.to/2AZ7R8j),第五版,2016 年。 * 第 3 章,概率論和信息論,[深度學習](http://amzn.to/2j4oKuP),2016 年。 ### API * [NumPy 統計函數](https://docs.scipy.org/doc/numpy-1.13.0/reference/routines.statistics.html) * [numpy.mean()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.mean.html) * [numpy.var()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.var.html) * [numpy.std()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.std.html) * [numpy.cov()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.cov.html) * [numpy.corrcoef()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.corrcoef.html) ### 用品 * [維基百科的預期價值](https://en.wikipedia.org/wiki/Expected_value) * 維基百科上的[意思](https://en.wikipedia.org/wiki/Mean) * [維基百科上的差異](https://en.wikipedia.org/wiki/Variance) * [維基百科的標準偏差](https://en.wikipedia.org/wiki/Standard_deviation) * [維基百科上的協方差](https://en.wikipedia.org/wiki/Covariance) * [樣本均值和協方差](https://en.wikipedia.org/wiki/Sample_mean_and_covariance) * [Pearson 相關系數](https://en.wikipedia.org/wiki/Pearson_correlation_coefficient) * 維基百科上的[協方差矩陣](https://en.wikipedia.org/wiki/Covariance_matrix) * [維基百科](https://en.wikipedia.org/wiki/Estimation_of_covariance_matrices)上協方差矩陣的估計 ### 帖子 * [什么是協方差矩陣?](http://fouryears.eu/2016/11/23/what-is-the-covariance-matrix/) ,2016 年 * [協方差矩陣](http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/)的幾何解釋,2014。 ## 摘要 在本教程中,您了解了基本的統計操作如何工作以及如何使用 NumPy 以及線性代數中的符號和術語來實現它們。 具體來說,你學到了: * 那么期望值,平均值和平均值以及如何計算。 * 方差和標準偏差是什么以及如何計算它們。 * 協方差,相關性和協方差矩陣是什么以及如何計算它們。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看