酷播亮新聞
最棒的知識補給站

我們常聽說的置信區間與置信度到底是什麼?

摘要:選自TowardsDataScienceR作者:DimaShulga機器之心編譯參與:程耀彤、思源機器學習本質上是對條件概率或概率分佈的估計,而這樣的估計到底有多少是置信度? 這裡就涉及到統計學裡面的置

選自TowardsDataScienceR

作者:Dima Shulga

機器之心編譯

參與:程耀彤、思源

機器學習本質上是對條件概率或概率分佈的估計,而這樣的估計到底有多少是置信度? 這裡就涉及到統計學裡面的置信區間與置信度,本文簡要介紹了置信區間這一核心概念,它有助於我們從直觀上理解評價估計優劣的度量方法。

本文討論了統計學中的一個基本術語 :置信區間。 我們僅以一種非常友好的方式討論一般概念,沒有太多花哨的統計術語,同時還會使用 Python 完成簡單的實現! 儘管這個術語是非常基礎的,但我們有時很難完全理解置信區間到底是什麼,為什麼我們需要它。

假設你想知道美國有多少人熱愛足球。 為了得到 100% 正確的答案,你可以做的唯一一件事是向美國的每一位公民詢問他們是否熱愛足球。 根據維基百科,美國有超過 3.25 億的人口。 與 3.25 億人談話並不現實,因此我們必須通過問更少的人來得到答案。

我們可以通過在美國隨機抽取一些人(與更少人交談)並獲得熱愛足球的人的百分比來做到這一點,但是我們不能
  100% 確信這個數字是正確的,或者這個數字離真正的答案有多遠。 所以,我們試圖實現的是獲得一個區間,例如,對這個問題的一個可能的答案是:「我
95% 相信在美國足球愛好者的比例是 58% 至 62%」。 這就是置信區間名字的來源,我們有一個區間,並且我們對它此一定的信心。

非常重要的是我們的樣本是隨機的,我們不能只從我們居住的城市中選擇
  1000 人,因為這樣就不能很好地代表整個美國。 另一個不好的例子是,我們不能給這 1000 個隨機用戶發 Facebook
消息,這樣我們就會得到美國 Facebook 用戶的喜愛趨勢,因為並不是所有的美國公民都使用 Facebook。

因此,假設我們隨機抽取了 1000 個美國人的樣本,我們發現,在 1000 人中有 63% 的人喜歡足球,我們能假設(推斷)出整個美國人口的情況嗎?

為了回答這個問題,我希望我們以一個不同的方式來看待它。 假設我們知道(理論上)美國人的確切比例,假設它是 65%,那麼隨機挑選 1000 人只有 63% 的人喜歡足球的機會是多少? 讓我們用 Python 來探索這個問題!

love_soccer_prop = 0.65 # Real percentage of people who love soccer

total_population = 325*10**6 # Total population in the U.S. (325M)

num_people_love_soccer = int(total_population * love_soccer_prop)

num_people_dont_love_soccer = int(total_population * (1 – love_soccer_prop))

people_love_soccer = np.ones(num_of_people_who_love_soccer)

people_dont_love_soccer = np.zeros(num_

people_dont_love_soccer)

all_people = np.hstack([people_love_soccer, people_dont_love_soccer])

print np.mean(all_people)

# Output = 0.65000000000000002

在這段代碼中,我創建了一個表示 3.25 億人的 NumPy 數組,對於每個人,如果他/她喜歡足球,那麼我會存儲 1,否則就是零。 我們可以通過計算它的平均值來得到數組中的百分比,實際上它是 65%。

現在,讓我們取幾組容量為 1000 個樣本的試驗,看看得到的百分比是多少:

for i in range(10):

sample = np.random.choice(all_people, size=1000)

print ‘Sample’, i, ‘:’, np.mean(sample)

# Output:

Sample 0 : 0.641

Sample 1 : 0.647

Sample 2 : 0.661

Sample 3 : 0.642

Sample 4 : 0.652

Sample 5 : 0.647

Sample 6 : 0.671

Sample 7 : 0.629

Sample 8 : 0.648

Sample 9 : 0.627

對於每組樣本,我們獲得了不同的值,但直覺(和統計理論)表示,大量樣本的平均值應該非常接近真實百分比。 讓我們這樣試試! 我們取很多樣本,然後看看會發生什麼:

values = []

for i in range(10000):

sample = np.random.choice(all_people, size=1000)

mean = np.mean(sample)

values.append(mean)

print np.mean(values)

# Output = 0.64982259999999992

我們創建了 10K 個樣本,檢查了每個樣本中熱愛足球的人的百分比,然後取平均值,我們得到了 64.98%,這非常接近於實際值 65%。 讓我們畫出我們得到的所有值:

這裡你看到的是我們得到的所有樣本值的直方圖,這個直方圖的一個很好的性質是它和正態分佈非常相似。 正如我所說的,我不想在這裡使用太多的統計術語,但假設如果我們這樣做了很多次(無限次),我們將得到一個非常接近正態分佈的直方圖,我們可以知道該分佈的 參數。 用更簡單的話來說,我們會知道這個直方圖的形狀,所以我們可以精確地知道在任意數值範圍內有多少個樣本。

下面是一個例子,我們會多次運行這個模擬(試圖達到無窮大):

首先,我們可以看到直方圖的中心(平均值)接近65%,正如我們所預期的,但我們可以通過查看直方圖來得到更多信息,例如,我們可以說,一半樣本都大於65%, 或者我們可以說大約25% 的樣本大於67%,甚至可以說(大致)只有2.5% 的樣本大於68%。

在這一點上,很多人可能會問兩個重要的問題:「我怎樣才能取得無數的樣本?」和「它對我有什麼幫助?」。

讓我們回到我們的例子,我們抽取了
  1000 人的樣本,得到了 63%,我們想知道,隨機抽樣的 1000 人中有 63%
的足球愛好者的概率是多少。 使用這個直方圖,我們可以說有(大概)25%的概率,我們會得到一個小於或等於 63%
的值。 該理論告訴我們,我們實際上並不需要得到無限的樣本,如果我們隨機選擇 1000 人,只有 63% 的人喜歡足球是可能發生的。

實際上,為了找到不同數值範圍或區間的概率,我們需要知道或至少估計總體分佈的標準差。 因為我們想把事情變得簡單一點,因此現在先不討論它。

讓我們回到現實和真正的問題,我不知道美國足球愛好者的實際比例,我只抽取了一個樣本,得到了 63%,這對我有什麼幫助?

所以,我們不知道在美國熱愛足球的人的實際比例。 我們所知道的是,如果我們從總體分佈取無數個樣本,它將如下所示:

這裡 μ 是總體分佈的平均值(我們例子中足球愛好者的實際百分比),σ 是總體分佈的標準差。

如果我們知道這一點(並且我們知道標準差),我們可以說約 64% 的樣本會落在紅色區域,或者 95% 以上的樣品會落在圖中的綠色區域之外:

如果我們在之前假設的實際百分比 65% 上使用該圖,那麼 95% 以上的樣本將在 62% 和 68% 之間(+ – 3)。

當然,距離是對稱的,所以如果樣本有 95% 落在在實際百分比 -3 和 +3 之間,那麼真實百分比落在樣本百分比 -3 和 +3 之間的概率為 95%。

如果我們抽取一個樣本,得到了 63%,那麼我們可以說我們 95% 確信實際比例在 60%(63-3)和 66%(63 + 3)之間。

這就是置信區間,區間為 63 + -3,置信度為 95%。

我希望大家現在對置信區間有更好的理解,但這個介紹忽略了一些重要的技術性的部分。 有很多文章包含了這些部分,因此讀者可繼續閱讀相關的材料加強理解。

原文鏈接:https://towardsdatascience.com/a-very-friendly-introduction-to-confidence-intervals-9add126e714

版權聲明

本文僅代表作者觀點,不代表百度立場。
本文係作者授權百度百家發表,未經許可,不得轉載。

如有侵權請來信告知:酷播亮新聞 » 我們常聽說的置信區間與置信度到底是什麼?