作者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