<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 如何在Python中使用參數統計顯著性測試 > 原文: [https://machinelearningmastery.com/parametric-statistical-significance-tests-in-python/](https://machinelearningmastery.com/parametric-statistical-significance-tests-in-python/) 參數統計方法通常意味著假設數據樣本具有高斯分布的那些方法。 在應用機器學習中,我們需要比較數據樣本,特別是樣本的平均值。也許要看一種技術在一個或多個數據集上的表現是否優于另一種技術。為了量化這個問題并解釋結果,我們可以使用參數假設檢驗方法,如學生t檢驗和方差分析。 在本教程中,您將發現參數統計顯著性檢驗,用于量化兩個或多個數據樣本均值之間的差異。 完成本教程后,您將了解: * Student's t檢驗用于量化兩個獨立數據樣本的平均值之間的差異。 * 配對Student's t檢驗用于量化兩個依賴數據樣本的平均值之間的差異。 * ANOVA和重復測量ANOVA用于檢查2個或更多個數據樣本的平均值之間的相似性或差異。 讓我們開始吧。 * **更新于May / 2018** :改進了拒絕與拒絕統計測試的語言。 ![Introduction to Use Parametric Statistical Significance Tests in Python](img/de6aac23c1ed12e90fbf070bb12d77e6.jpg) Python中使用參數統計意義測試介紹 照片由 [nestor ferraro](https://www.flickr.com/photos/nestorferraro/11970850885/) 拍攝,保留一些權利。 ## 教程概述 1. 參數統計顯著性檢驗 2. 測試數據 3. 學生的t-測試 4. 配對學生t檢驗 5. 方差檢驗分析 6. 重復測量方差分析測試 ## 參數統計顯著性檢驗 參數統計測試假設數據樣本來自特定的人口分布。 它們通常指的是假設高斯分布的統計檢驗。由于數據適合此分布是如此常見,因此更常用的是參數統計方法。 我們可能有兩個或更多數據樣本的典型問題是它們是否具有相同的分布。參數統計顯著性檢驗是假設數據來自相同的高斯分布的統計方法,即具有相同均值和標準差的數據分布:分布的參數。 通常,每個測試計算一個測試統計量,必須用統計學中的一些背景解釋并更深入地了解統計測試本身。測試還返回一個p值,可用于解釋測試結果。 p值可以被認為是在給定基本假設(零假設)的情況下觀察兩個數據樣本的概率,即兩個樣本是從具有相同分布的群體中抽取的。 可以在稱為α的所選顯著性水平的上下文中解釋p值。 alpha的常見值為5%或0.05。如果p值低于顯著性水平,則測試表明有足夠的證據拒絕零假設,并且樣本可能來自具有不同分布的群體。 * **p &lt;= alpha** :拒絕零假設,不同分布。 * **p&gt; alpha** :無法拒絕原假設,相同的分布。 ## 測試數據 在我們查看特定的參數顯著性測試之前,讓我們首先定義一個測試數據集,我們可以用它來演示每個測試。 我們將生成從不同分布中抽取的兩個樣本。每個樣本將從高斯分布中抽取。 我們將使用 [randn()NumPy函數](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html)在每個樣本中生成100個高斯隨機數的樣本,平均值為0,標準差為1.第一個樣本中的觀察值被縮放為具有均值標準偏差為50,標準偏差為5.將第二個樣品中的觀察結果縮放為平均值為51,標準偏差為5。 我們希望統計檢驗發現樣本來自不同的分布,盡管每個樣本100個觀察值的小樣本量會給這個決定增加一些噪音。 完整的代碼示例如下所示。 ```py # generate gaussian data samples from numpy.random import seed from numpy.random import randn from numpy import mean from numpy import std # seed the random number generator seed(1) # generate two sets of univariate observations data1 = 5 * randn(100) + 50 data2 = 5 * randn(100) + 51 # summarize print('data1: mean=%.3f stdv=%.3f' % (mean(data1), std(data1))) print('data2: mean=%.3f stdv=%.3f' % (mean(data2), std(data2))) ``` 運行該示例生成數據樣本,然后計算并打印每個樣本的均值和標準差,確認它們的不同分布。 ```py data1: mean=50.303 stdv=4.426 data2: mean=51.764 stdv=4.660 ``` ## 學生的t-測試 [學生t檢驗](https://en.wikipedia.org/wiki/Student%27s_t-test)是一個統計假設檢驗,兩個獨立的數據樣本已知具有高斯分布,具有相同的高斯分布,以William Gosset命名,使用化名“ _Student_ ]“。 > 最常用的t檢驗之一是獨立樣本t檢驗。當您想要比較給定變量上兩個獨立樣本的均值時,可以使用此測試。 - 第93頁,[普通英語統計](http://amzn.to/2H8nE7A),第三版,2010年。 測試的假設或零假設是兩個群體的平均值相等。拒絕這一假設表明,有足夠的證據表明人口的均值是不同的,反過來說,分布是不相等的。 * **無法拒絕H0** :樣本分布相等。 * **拒絕H0** :樣本分布不相等。 學生的t檢驗可通過 [ttest_ind()SciPy函數](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html)在Python中獲得。該函數將兩個數據樣本作為參數,并返回計算的統計量和p值。 我們可以證明學生對測試問題的t檢驗,期望測試發現兩個獨立樣本之間的分布差異。完整的代碼示例如下所示。 ```py # Student's t-test from numpy.random import seed from numpy.random import randn from scipy.stats import ttest_ind # seed the random number generator seed(1) # generate two independent samples data1 = 5 * randn(100) + 50 data2 = 5 * randn(100) + 51 # compare samples stat, p = ttest_ind(data1, data2) print('Statistics=%.3f, p=%.3f' % (stat, p)) # interpret alpha = 0.05 if p > alpha: print('Same distributions (fail to reject H0)') else: print('Different distributions (reject H0)') ``` 運行該示例計算生成的數據樣本的Student t檢驗并打印統計和p值。 對統計量的解釋發現樣本均值不同,其顯著性至少為5%。 ```py Statistics=-2.262, p=0.025 Different distributions (reject H0) ``` ## 配對學生t檢驗 我們可能希望比較以某種方式相關的兩個數據樣本之間的平均值。 例如,數據樣本可以表示對同一對象的兩個獨立測量或評估。這些數據樣本是重復的或依賴的,并稱為配對樣本或重復測量。 由于樣本不是獨立的,我們不能使用學生的t檢驗。相反,我們必須使用測試的修改版本來糾正數據樣本依賴的事實,稱為配對Student's t檢驗。 > 依賴樣本t檢驗也用于比較單個因變量上的兩個均值。然而,與獨立樣本測試不同,依賴樣本t檢驗用于比較單個樣本或兩個匹配或配對樣本的平均值。 - 第94頁,[普通英語統計](http://amzn.to/2H8nE7A),第三版,2010年。 該測試被簡化,因為它不再假設觀察結果之間存在差異,觀察是在對同一受試者或受試者進行治療之前和之后成對進行的。 測試的默認假設或零假設是樣本之間的平均值沒有差異。拒絕零假設表明有足夠的證據表明樣本均值不同。 * **無法拒絕H0** :配對樣本分布相等。 * **拒絕H0** :配對樣本分布不相等。 配對Student's t檢驗可以使用 [ttest_rel()SciPy函數](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_rel.html)在Python中實現。與未配對版本一樣,該函數將兩個數據樣本作為參數,并返回計算的統計值和p值。 我們可以在測試數據集上演示配對Student's t檢驗。雖然樣本是獨立的,而不是配對的,但我們可以假裝為了證明觀察結果并計算統計量。 下面列出了完整的示例。 ```py # Paired Student's t-test from numpy.random import seed from numpy.random import randn from scipy.stats import ttest_rel # seed the random number generator seed(1) # generate two independent samples data1 = 5 * randn(100) + 50 data2 = 5 * randn(100) + 51 # compare samples stat, p = ttest_rel(data1, data2) print('Statistics=%.3f, p=%.3f' % (stat, p)) # interpret alpha = 0.05 if p > alpha: print('Same distributions (fail to reject H0)') else: print('Different distributions (reject H0)') ``` 運行該示例計算并打印測試統計和p值。對結果的解釋表明樣品具有不同的平均值,因此具有不同的分布。 ```py Statistics=-2.372, p=0.020 Different distributions (reject H0) ``` ## 方差檢驗分析 有時我們可能會有多個獨立的數據樣本。 我們可以對每個數據樣本組合成對執行Student t檢驗,以了解哪些樣本具有不同的均值。如果我們只關心所有樣品是否具有相同的分布,那么這可能是繁重的。 為了回答這個問題,我們可以使用[方差分析](https://en.wikipedia.org/wiki/Analysis_of_variance)或簡稱ANOVA。 ANOVA是一種統計檢驗,假設兩組或更多組的平均值相等。如果證據表明情況并非如此,則拒絕零假設,并且至少一個數據樣本具有不同的分布。 * **無法拒絕H0** :所有樣本分布均相等。 * **拒絕H0** :一個或多個樣本分布不相等。 重要的是,測試只能評論所有樣本是否相同;它不能量化哪些樣本不同或多少。 > 單因素方差分析(單向ANOVA)的目的是比較一個因變量上兩個或多個組(自變量)的均值,以查看組均值是否彼此顯著不同。 - 第105頁,[普通英語統計](http://amzn.to/2H8nE7A),第三版,2010年。 該測試要求數據樣本是高斯分布,樣本是獨立的,并且所有數據樣本具有相同的標準偏差。 可以使用 [f_oneway()SciPy函數](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.f_oneway.html)在Python中執行ANOVA測試。該函數將兩個或多個數據樣本作為參數,并返回測試統計和f值。 我們可以修改我們的測試問題,使兩個樣本具有相同的均值,第三個樣本具有略微不同的均值。然后我們期望測試發現至少一個樣本具有不同的分布。 The complete example is listed below. ```py # Analysis of Variance test from numpy.random import seed from numpy.random import randn from scipy.stats import f_oneway # seed the random number generator seed(1) # generate three independent samples data1 = 5 * randn(100) + 50 data2 = 5 * randn(100) + 50 data3 = 5 * randn(100) + 52 # compare samples stat, p = f_oneway(data1, data2, data3) print('Statistics=%.3f, p=%.3f' % (stat, p)) # interpret alpha = 0.05 if p > alpha: print('Same distributions (fail to reject H0)') else: print('Different distributions (reject H0)') ``` 運行該示例計算并打印測試統計信息和p值。 對p值的解釋正確地拒絕了表示一個或多個樣本均值不同的零假設。 ```py Statistics=3.655, p=0.027 Different distributions (reject H0) ``` ## 重復測量方差分析測試 我們可能有多個相關或依賴的數據樣本。 例如,我們可以在不同時間段對主題重復相同的測量。在這種情況下,樣本將不再是獨立的;相反,我們將有多個配對樣本。 我們可以多次重復成對學生的t檢驗。或者,我們可以使用單個測試來檢查所有樣本是否具有相同的均值。可以使用ANOVA測試的變體,修改以測試超過2個樣品。該測試稱為重復測量ANOVA測試。 默認假設或零假設是所有配對樣本具有相同的均值,因此具有相同的分布。如果樣本表明情況并非如此,則拒絕零假設,并且一個或多個配對樣本具有不同的均值。 * **無法拒絕H0** :所有配對樣本分布均相等。 * **拒絕H0** :一個或多個配對樣本分布不相等。 > 然而,重復測量ANOVA與配對t檢驗相比具有許多優點。首先,通過重復測量ANOVA,我們可以檢查在兩個以上時間點測量的因變量的差異,而使用獨立t檢驗,我們只能比較兩個時間點的因變量的得分。 - 第131頁,[普通英語統計](http://amzn.to/2H8nE7A),第三版,2010年。 不幸的是,在撰寫本文時,SciPy中沒有可用的重復測量ANOVA測試版本。希望這個測試很快就會加入。 如果您在項目中需要它并且能夠尋找并找到替代實現,我提到此測試是否完整。 ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * 更新所有示例以對具有相同分布的數據樣本進行操作。 * 根據每個測試的要求和行為,創建一個流程圖,用于選擇三個統計顯著性測試中的每一個。 * 考慮3個在機器學習項目中比較數據樣本的情況,假設樣本的非高斯分布,并建議可以在每種情況下使用的測試類型。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 圖書 * [普通英語統計](http://amzn.to/2H8nE7A),第三版,2010年。 ### API * [numpy.random.seed()API](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.seed.html) * [numpy.random.randn()API](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html) * [scipy.stats.ttest_ind()API](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html) * [scipy.stats.ttest_rel()API](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_rel.html) * [scipy.stats.f_oneway()API](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.f_oneway.html) ### 用品 * [維基百科的統計意義](https://en.wikipedia.org/wiki/Statistical_significance) * [維基百科上的學生t檢驗](https://en.wikipedia.org/wiki/Student%27s_t-test) * [維基百科上的配對差異測試](https://en.wikipedia.org/wiki/Paired_difference_test) * [維基百科](https://en.wikipedia.org/wiki/Analysis_of_variance)的方差分析 * [在維基百科](https://en.wikipedia.org/wiki/Repeated_measures_design)上重復測量設計 ## 摘要 在本教程中,您發現了參數統計顯著性檢驗,用于量化兩個或多個數據樣本均值之間的差異。 具體來說,你學到了: * Student's t檢驗用于量化兩個獨立數據樣本的平均值之間的差異。 * 配對Student's t檢驗用于量化兩個依賴數據樣本的平均值之間的差異。 * ANOVA和重復測量ANOVA用于檢查兩個或更多個數據樣本的均值之間的相似性或差異。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看