Bootstrap重采樣進(jìn)行參數(shù)估計(jì) - 置信區(qū)間參考 ? 主要是在看SCRFD論文時(shí),看到作者在尋找網(wǎng)絡(luò)結(jié)構(gòu)各模塊的計(jì)算開銷比例時(shí),,分別使用Empirical Bootstrap求解computation ratio的置信區(qū)間,,用于下一步的網(wǎng)絡(luò)配置自動生成(很好奇作者在對320個(gè)模型進(jìn)行采樣時(shí),為什么要使用重采樣,,整體采樣研究數(shù)據(jù)分布,,求解置信空間不行嗎?不行,,因?yàn)閿?shù)據(jù)不一定滿足正態(tài)分布的假設(shè),,利用查表方式求解置信區(qū)間不奏效,因此需要考慮使用中心極限定理),。因此這里抽空記錄一下Bootstrap重采樣是如何進(jìn)行參數(shù)估計(jì)的,。 一、Bootstrap簡介統(tǒng)計(jì)學(xué)中的Bootstrap方法(Bootstrap抽樣) ? Bootstrap又稱自展法,、自舉法,、自助法、靴帶法 , 是統(tǒng)計(jì)學(xué)習(xí)中一種重采樣(Resampling)技術(shù),,用來估計(jì)標(biāo)準(zhǔn)誤差,、置信區(qū)間和偏差。 ? Bootstrap是現(xiàn)代統(tǒng)計(jì)學(xué)較為流行的一種統(tǒng)計(jì)方法,,在小樣本時(shí)效果很好,。機(jī)器學(xué)習(xí)中的Bagging,AdaBoost等方法其實(shí)都蘊(yùn)含了Boostrap的思想,,在集成學(xué)習(xí)的范疇里 Bootstrap直接派生出了Bagging模型,。 舉個(gè)栗子 :我要統(tǒng)計(jì)魚塘里面的魚的條數(shù),,怎么統(tǒng)計(jì)呢?假設(shè)魚塘總共有魚1000條,,我是開了上帝視角的,,但是你是不知道里面有多少。
? 假設(shè)一下,第一次重新捕魚100條,,發(fā)現(xiàn)里面有標(biāo)記的魚12條,,記下為12%,放回去,,再捕魚100條,,發(fā)現(xiàn)標(biāo)記的為9條,記下9%,,重復(fù)重復(fù)好多次之后,,假設(shè)取置信區(qū)間95%,你會發(fā)現(xiàn),,每次捕魚平均在10條左右有標(biāo)記,,所以,我們可以大致推測出魚塘有1000條左右,。 原理是中心極限定理:
理解一下定理和定律的區(qū)別:http://www.gaosan.com/gaokao/254891.html 這兩者容易混,,其實(shí)兩者都是在討論一個(gè)問題:當(dāng)樣本個(gè)數(shù)n趨向于無窮時(shí),,均值表現(xiàn)出什么樣的行為。但在側(cè)重點(diǎn)上存在不同:CLT告訴我們的是樣本均值相對于總體均值的呈正態(tài)分布情況(mean,,var),,而LLN告訴我們的是,當(dāng)樣本個(gè)數(shù)足夠大時(shí)樣本的均值可以近似整體的均值,。
大數(shù)定律(1713)是在中心極限定理(1901)出現(xiàn)之前,,中心極限定理是對大數(shù)定律的歸納,,因此中心極限定理說:樣本的平均值約等于總體的平均值也不過分。 二,、為什么要使用Bootstrap用 Bootstrap 進(jìn)行參數(shù)估計(jì)大有可為 在量化投資領(lǐng)域,,有大量需要進(jìn)行參數(shù)估計(jì)(parameter estimation)的場景,。 比如在按照馬科維茨的均值方差框架配置資產(chǎn)時(shí),,就必須計(jì)算投資品的收益率均值和協(xié)方差矩陣。很多時(shí)候,,對于需要的統(tǒng)計(jì)量,,僅有點(diǎn)估計(jì)(point estimate)是不夠的,我們更感興趣的是從樣本數(shù)據(jù)得到的點(diǎn)估計(jì)和該統(tǒng)計(jì)量在未知總體中的真實(shí)值之間的誤差,。在這方面,,區(qū)間估計(jì) —— 即計(jì)算出目標(biāo)統(tǒng)計(jì)量的置信區(qū)間(confidence interval)—— 可以提供我們需要的信息。 談到置信區(qū)間,,人們最熟悉的當(dāng)屬計(jì)算總體均值(population mean)的置信區(qū)間,。這是因?yàn)樵?/strong>中心極限定理(Central Limit Theorem) 和正態(tài)分布假設(shè)(Normal distribution) 下,總體均值的置信區(qū)間存在一個(gè)優(yōu)雅的解析表達(dá),。利用樣本均值和其 standard error 求出的 test statistic 滿足 t 分布(Student’s t-distribution),,通過查表找到置信區(qū)間兩邊各自對應(yīng)的 t 統(tǒng)計(jì)量的臨界值(critical value)便可以方便的求出置信區(qū)間。由于 t 分布是對稱的,,因此總體均值的置信區(qū)間是關(guān)于樣本均值對稱的,。 讓我們稱上述計(jì)算置信區(qū)間的方法為傳統(tǒng)的 Normal Theory 方法。我想花點(diǎn)時(shí)間來聊聊該方法背后的兩個(gè)強(qiáng)大假設(shè):中心極限定理和正態(tài)分布,。 假設(shè)總體滿足正態(tài)分布,,而我們想計(jì)算均值的置信區(qū)間,。如果總體的標(biāo)準(zhǔn)差 σ \sigma σ 已知,則可以使用正態(tài)分布計(jì)算均值的置信區(qū)間,;如果 σ \sigma σ 未知,,則使用樣本的標(biāo)準(zhǔn)差 s s s 代替,并且利用 t 分布來代替正態(tài)分布計(jì)算均值的計(jì)算區(qū)間,。這就是 t 分布被提出來的初衷,。因此,使用 t 分布計(jì)算均值的置信區(qū)間隱含著總體分布滿足正態(tài)分布這個(gè)假設(shè),。 但是,,對于實(shí)際中的問題,總體并不滿足正態(tài)分布,,因此看起來我們不能使用 t 分布計(jì)算均值的置信區(qū)間,。好消息是,我們還有另外一個(gè)“大招”:中心極限定理,。中心極限定理告訴我們,,不管總體的分布是什么樣,總體的均值近似滿足正態(tài)分布,,因此我們?nèi)匀豢梢允褂?t 分布計(jì)算置信區(qū)間,。 中心極限定理是概率論中的一組定理。中心極限定理說明,,大量相互獨(dú)立的隨機(jī)變量,,其均值的分布以正態(tài)分布為極限。這組定理是數(shù)理統(tǒng)計(jì)學(xué)和誤差分析的理論基礎(chǔ),,指出了大量隨機(jī)變量之和近似服從正態(tài)分布的條件,。 可見,對于一個(gè)未知分布總體均值的推斷,,我們必須倚賴中心極限定理和正態(tài)分布的假設(shè),。如果未知分布非常不規(guī)則或樣本數(shù)不足,則中心極限定理指出的均值近似為正態(tài)分布便難以成立,,而基于 t 分布計(jì)算出來的均值置信區(qū)間也不夠準(zhǔn)確,。 除了均值外,對于人們關(guān)心的許多其他統(tǒng)計(jì)量,,比如中位數(shù),、分位數(shù)、標(biāo)準(zhǔn)差,、或者相關(guān)系數(shù),,它們與均值不同,無法從 Normal Theory 中可以得到優(yōu)雅的解析表達(dá)式來計(jì)算其置信區(qū)間,因此上述傳統(tǒng)方法無能為力,。 從上面的分析可知,,僅僅掌握傳統(tǒng)的 Normal Theory 方法局限性很大,使得我們在求解置信區(qū)間的很多問題面前舉步維艱,。因此,,今天就給大家介紹一個(gè)利器 —— Bootstrap 方法。它在計(jì)算統(tǒng)計(jì)量的置信區(qū)間時(shí)大有可為,。 三,、經(jīng)驗(yàn)Bootstrap用 Bootstrap 進(jìn)行參數(shù)估計(jì)大有可為 我們以計(jì)算某未知分布均值的置信區(qū)間為例說明經(jīng)驗(yàn) Bootstrap 方法。假設(shè)我們從某未知分布的總體中得到下面 10 個(gè)樣本數(shù)據(jù):30,,37,,36,43,,42,,48,43,,46,,41,42,。 我們的問題有兩個(gè):(1)估計(jì)總體的均值(點(diǎn)估計(jì)),,(2)計(jì)算置信水平為 80% 的 Bootstrap 置信區(qū)間。 第一個(gè)問題很容易回答,,樣本均值 40.8(經(jīng)驗(yàn)均值) 就是總體均值 μ \mu μ 的點(diǎn)估計(jì),。對于第二個(gè)問題,由于樣本點(diǎn)太少(僅有 10 個(gè))且總體分布未知(無法做正態(tài)分布假設(shè)),,因此我們摒棄傳統(tǒng)的方法,,而采用經(jīng)驗(yàn) Bootstrap 方法計(jì)算其置信區(qū)間,。 計(jì)算 μ \mu μ 的置信區(qū)間的本質(zhì)是回答這樣一個(gè)問題:樣本均值 x  ̄ \overline{x} x 的分布是如何圍繞總體均值 μ \mu μ 變化的,。換句話說,我們想知道 $\delta = \overline{x} - \mu $ 的分布,。 δ \delta δ 就是當(dāng)我們使用 x  ̄ \overline{x} x 來估計(jì) μ \mu μ時(shí)的誤差,。(中心極限定理) 如果我們知道 δ \delta δ 的分布,則可以找到待求置信區(qū)間左右兩端的臨界值,。在本例中,,因?yàn)槲覀?strong>關(guān)心的是置信水平為 80% 的置信區(qū)間,因此 δ \delta δ 的臨界值是 10% 和 90% 分位對應(yīng)的 δ 0.9 \delta_{0.9} δ0.9? 和 δ 0.1 \delta_{0.1} δ0.1? ,。由此計(jì)算出 μ \mu μ 置信區(qū)間為 [ x  ̄ ? δ 0.1 , x  ̄ ? δ 0.9 ] [\overline{x} - \delta_{0.1},\overline{x} - \delta_{0.9}] [x?δ0.1?,x?δ0.9?] 這是因?yàn)椋?/p> 值得一提的是,,上面的概率是條件概率,它表示假設(shè)總體均值為 μ \mu μ 的條件下,樣本均值 x  ̄ \overline{x} x 圍繞總體均值 μ \mu μ 的變化在 δ 0.1 \delta_{0.1} δ0.1? 和 δ 0.9 \delta_{0.9} δ0.9? 之間的概率,。 不幸的是,,由于來自總體的樣本只有一個(gè)(上面的 10 個(gè)數(shù))且 μ \mu μ 的真實(shí)值未知,我們并不知道 δ \delta δ 的分布(因此也就不知道 δ 0.9 \delta_{0.9} δ0.9?和 δ 0.1 \delta_{0.1} δ0.1?),。但是我們?nèi)匀焕髟谑?,那就?Bootstrap 原則。它指出雖然我們不知道 x  ̄ \overline{x} x 如何圍繞 μ \mu μ 變化(即 δ \delta δ的分布),,但是它可以由 x  ̄ ? \overline{x}^\star x? 如何圍繞 x  ̄ \overline{x} x 變化(即 δ ? \delta^{\star} δ? 的分布)來近似,,這里 δ ? \delta^{\star} δ? 是利用 Bootstrap 樣本計(jì)算的均值與原始樣本均值之間的差: 通過進(jìn)行多次有置換的重采樣,得到多個(gè) Bootstrap 樣本,,每一個(gè)樣本中都可以計(jì)算出一個(gè)均值,。使用每一個(gè) Bootstrap 樣本均值減去原始樣本均值(40.8)就得到 δ ? \delta^{\star} δ? 的一個(gè)取值。利用計(jì)算機(jī),,很容易產(chǎn)生足夠多的 Bootstrap 樣本,,即足夠多的 δ ? \delta^{\star} δ? 的取值。根據(jù)大數(shù)定理(law of large numbers),, 當(dāng)樣本個(gè)數(shù)足夠多時(shí),, δ ? \delta^{\star} δ? 的分布是 δ \delta δ 的分布好的近似。 有了 δ ? \delta^{\star} δ? 的分布,,就可以找到 δ 0.9 ? \delta^\star_{0.9} δ0.9??和 δ 0.1 ? \delta^\star_{0.1} δ0.1??,,并用它們作為 δ 0.9 \delta_{0.9} δ0.9?和 δ 0.1 \delta_{0.1} δ0.1? 的估計(jì),從而計(jì)算出 μ \mu μ 的置信區(qū)間: 上述思路就是經(jīng)驗(yàn) Bootstrap 方法的強(qiáng)大所在,。 回到上面這個(gè)例子中,。利用計(jì)算機(jī)產(chǎn)生 200 個(gè) Bootstrap 樣本(下圖顯示了前 10 個(gè) Bootstrap 樣本,每列一個(gè)),。 由這 200 個(gè) Bootstrap 樣本計(jì)算出 200 個(gè) δ ? \delta^{\star} δ? ,,它們的取值范圍在 -4.4 到 4.0 之間, δ ? \delta^{\star} δ? 的累積密度函數(shù)如下圖所示,。 接下來,,從這 200 個(gè) δ ? \delta^{\star} δ? 中找出 δ 0.9 ? \delta^{\star}_{0.9} δ0.9?? 和 δ 0.1 ? \delta^{\star}_{0.1} δ0.1?? 。由于 δ 0.9 ? \delta^{\star}_{0.9} δ0.9?? 對應(yīng)的是 10% 分位數(shù),,而 δ 0.1 ? \delta^{\star}_{0.1} δ0.1??對應(yīng)的是 90% 分位數(shù)(方差小越集中),,我們將 200 個(gè) δ ? \delta^{\star} δ? 從小到大排序,其中第 20 個(gè)和第 181 個(gè)就是我們需要的數(shù)值: δ 0.9 ? = ? 1.9 \delta^{\star}_{0.9} = -1.9 δ0.9??=?1.9 以及 δ 0.1 ? = 2.2 \delta^{\star}_{0.1} = 2.2 δ0.1??=2.2,。由于原始樣本均值為 40.8,,因此求出 μ \mu μ 的 80% 的置信區(qū)間為: 四、Bootstrap百分位法詳細(xì)介紹參考 用 Bootstrap 進(jìn)行參數(shù)估計(jì)大有可為
經(jīng)驗(yàn) Bootstrap 法和 Bootstrap 百分位法的區(qū)別如下:
五,、python代碼我們舉個(gè)例子:假設(shè)我們的藍(lán)色點(diǎn)代表男生,;黃色點(diǎn)代表女生,我們想知道他們的比例是否大體相當(dāng),。那么我們采用bootstrap的步驟則是:
這里設(shè)置男女比例為1 : 0.8
1)經(jīng)驗(yàn)Bootstrap
2)Bootstrap百分位法
發(fā)現(xiàn)經(jīng)驗(yàn)Bootstrap和Bootstrap百分位法計(jì)算的置信區(qū)間還是有一定區(qū)別的,,但是個(gè)人建議使用經(jīng)驗(yàn)Bootstrap,。 |
|