Re: [程式] 請問有關跑sas的問題

看板Statistics作者 (小狐汔濟)時間20年前 (2005/11/24 19:28), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《tinyred (我是小紅@.@)》之銘言: : 有一題目想請問各位版大: : 1.假設你有兩枚硬幣a、b,一枚是有偏誤的,另一枚是公正的,不過很不巧的你 : 完全不知道那一枚是有偏誤的,那一枚是公正的,不過如果a 硬幣是偏誤,那 : 麼他出現正面的機率是3/4,那麼b 硬幣出現正面的機率是1/2。請使用sas 模 : 擬100 次實驗,其步驟如下: : 首先你有1/2 的機會選擇a 硬幣並記錄下設為1,有1/2 的機率選擇b 硬幣並記 : 錄下來設為2。選完硬幣同時,開始投擲銅板,並記錄其正面或反面,如果出 : 現正面則記作1,如果出現反面則記做0,然後開始下一個循環,選擇a 硬幣 : 或b 硬幣,再投擲看看出現正面還是反面,如此循環下去…,一共100 次實驗, : 可參考圖1: : 最後將模擬的結果利用proc freq 的指令列出所有可能的情況。 我假設你已經會使用基礎的SAS data step指令. 你的作業必須創造三個變項, 第一變項是實驗的次數編號, n=1 to 100. 第二個變項紀錄選擇哪一個硬幣, 因為隨機選擇硬幣的結果是二項分配, 可以用ranbin這個二項隨機函數製造出結果( 0與1 ), 函數中機率的參數設為0.5. 用if then指令將跑出來的結果轉換為1與2(即a與b). 第三個則是擲硬幣結果. 同樣是二項分配, 同樣用ranbin這個函數. 不過如果第二變項結果是1, 機率參數設為0.75, 如果是2, 機率參數設為0.5. 用if then指令來區別這兩個不同的機率過程. 跑出來的資料集應該長得像這樣: obs coin outcome 1 1 0 2 2 1 3 2 1 4 1 1 5 2 0 6 1 1 : : (略) : 100 1 1 然後用proc freq; tables coin*outcome; 來展示結果即可. -- 達摩西來一字無 只憑心意用功夫 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 82.20.27.125

11/25 18:20, , 1F
太感動了~謝謝!!
11/25 18:20, 1F

11/26 13:47, , 2F
真謝謝這位大大~這題把我給考倒~看了你的提醒我也寫出來了
11/26 13:47, 2F
文章代碼(AID): #13XQFd47 (Statistics)
文章代碼(AID): #13XQFd47 (Statistics)