2013-02-19 52 views
2

你能幫我解決這些問題嗎?我使用Python抽樣方法

抽樣方法

採樣(或蒙特卡洛)方法形成的使用隨機數來提取有關(多元)的分佈和功能的信息技術一般的和有用的設置。在統計機器學習的情況下,我們通常關心的是從分佈中抽取樣本以獲得總結統計的估計值,例如有問題分佈的均值。當我們在單位間隔(rand中的rand或R中的runif)上訪問一個統一的(僞)隨機數發生器時,我們可以使用Bishop Sec。中描述的變換採樣方法。 11.1.1從更復雜的分佈中抽取樣本。實現變換方法指數分佈

$$ P(Y)= \拉姆達\ EXP - 使用在526頁的底部給出的表達式(\拉姆達y)時,Y \ GEQ 0 $$

在主教:切片採樣涉及用額外的變量u擴大z,然後從關節(z,u)空間中抽取樣本。

抽樣方法的關鍵點是需要多少樣本才能獲得可靠的感興趣數量估計值。讓我們說,我們感興趣的是估計的平均值,這是

$$ \ mu_y = 1/\拉姆達$$

在上述分配

,我們則使用樣本均值

$$ b_y作爲我們的估計量的L個樣本的平均值= \ frac1L \ sum^L_ {\ ell = 1} y(\ ell)$$

。由於我們可以根據需要生成大小爲L的樣本,因此我們可以調查這種估計的平均值如何收斂到真實平均值。要做到這一點正確,我們需要採取絕對迪FF erence

$$ | \ mu_y - b_y | $$

真實平均$μ_y$並估計$ b_y $ 之間平均超過很多,說1000,重複對於$ L $的幾個值,例如10,100,1000。 將預期的絕對偏差繪製爲$ L $的函數。 您可以繪製預期絕對偏差的一些變換值以獲得或多或少的直線,這是什麼意思?

我是新來的這種統計機器學習,真的不知道如何在Python中實現它。你能幫我嗎?

+0

有些言論:(1)這聽起來像是從作業中直接獲得的。如果是這樣,我們應該添加[tag:homework]標籤。(2)切片採樣生成指數隨機變量似乎是一種奇怪的方式,除非在您的機器上計算對數特別麻煩! (指數可以通過標準統一以非常簡單的方式獲得。)(3)均值$ b_y $是無偏的均勻最小方差,並且具有已知的分佈。 $ b_y/\ mu_y $是一個關鍵數量,所以推斷很容易,這就是爲什麼蒙特卡洛在這裏突出顯示的問題。 – cardinal 2013-02-19 19:20:40

+0

去年,作業標籤被淘汰。 – chepner 2013-02-20 14:27:19

+0

@chepner:我之前的評論是在遷移之前完成的。該標籤在[stats.SE](http://stats.stackexchange.com)上仍然存在(並且常用)。乾杯。 :) – cardinal 2013-02-20 15:38:49

回答

1

有幾個你可以採取的捷徑。 Python有一些內置的方法來進行採樣,主要在Scipy庫中。我可以推薦一個在Python中實現這個想法的手稿(聲明:我是作者),位於here

它是一本較大的書的一部分,但這個孤立的章涉及更一般的大數定律+收斂,這就是你所描述的。本文討論了泊松隨機變量,但您應該能夠根據自己的情況調整代碼。

+0

非常感謝,它確實有助於一些代碼而不是方程:-) – pythonnewbie 2013-02-19 16:50:05