Re: [問題] 如何用fortran去做bootstrap
如果要的是"不重複的 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章