Re: [問題] 如何用fortran去做bootstrap

看板Fortran作者 (jsb)時間15年前 (2009/04/20 23:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
如果要的是"不重複的 1-60 的亂數",就複雜得多。 除了隨機取位置外,還要用到陣列內容互換。 1. 隨機選位置。 2. 陣列第一個元素和隨機位置的數字互換。 3. 除已經交換過的第一個元素外,其餘任選位置。 4. 陣列第二個元素和隨機位置的數字互換。 5. . . . ?. 陣列第 (n-3) 個元素和隨機位置的數字互換。 你的問題裡 n = 60。 不過我記得 bootstrapping 應該是可以重複選取, 只是要取很多很多次。你的題目裡面只取了 10 次, 不知道夠不夠充分。 你的題目設計的目的如果只是要呈現 bootstrapping 的概念, 那 10 次可重複樣本應該就夠了。 不過那就表示你這個問題可能是個統計作業, 建議你下次還是仔細想想、查查指令再上來問問題。 如果你的題目設計原本就是不能重複選取, 或是是想講求效率而且原樣本很大的話, 用不重複的方法可以較快達到效果。 ※ 引述《stanlin1118 (小鐵)》之銘言: : 如題 : 若我有個回歸模式y=6+1.5x+e e~cauchy(0,1) : 我要如何利用fortran去做bootstrap來估計beta0和beta1 : 過程大致是知道 : 但是對於隨機抽取樣本的位置不太清楚 : 例如從上述回歸模式取出60個x後 : 令為X1(1)~X1(60) : 重複抽10次 : 我的程式可以寫成底下的形式 : do j=2,10 : do i=1,60 : Xj=X1( ) : ↑如何表示成X1的隨機位置1~60阿?(重點是不懂這個) : end do : end do -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.211.5
文章代碼(AID): #19x9jRA2 (Fortran)
文章代碼(AID): #19x9jRA2 (Fortran)