作者Brahman (小狐汔濟)
看板Statistics
標題Re: [問題]請問有關跑sas的問題
時間Thu Nov 24 20:00:52 2005
※ 引述《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
1F:推 tinyred:太感動了~謝謝!! 11/25 18:20
2F:推 neoism:真謝謝這位大大~這題把我給考倒~看了你的提醒我也寫出來了 11/26 13:47