qianping522 发表于 2010-8-6 16:52 
如果有这样的一个经验概率分布
| 损失比例(LGD)的概率分布(%) |
| [0,0.1] | (0.1,0.2] | (0.2,0.3] | (0.3,0.4] | (0.4,0.5] | (0.5,0.6] | (0.6,0.7] | (0.7,0.8] | (0.8,0.9] | (0.9,1.0] |
| 18.56 | 20.36 | 8.38 | 8.98 | 11.98 | 7.19 | 5.39 | 5.99 | 9.58 | 3.59 |
怎么根据以上损失分布的经验值,进行随机模拟?是否先要拟合一个分布,然后再进行模拟。由于这样的经验概率分布有50组,我要根据这50组经验概率分布随机模拟50组样本,可能每一组服从的分布都不一样,怎么做这样的一个循环?
You can use random generation function RANTBL. Here is an example.
proc format;
value range
1='[0,0.1]'
2='(0.1,0.2]'
3='(0.2,0.3]'
4='(0.3,0.4]'
5='(0.4,0.5]'
6='(0.5,0.6]'
7='(0.6,0.7]'
8='(0.7,0.8]'
9='(0.8,0.9]'
10='(0.9,1.0]'
;
run;
data tmp;
array p (10) (0.1856 0.2036 0.0838 0.0898 0.1198
0.0719 0.0539 0.0599 0.0958 0.0359);
seed=1;
do i = 1 to 50000;
x= rantbl(seed,of p1-p10);
output;
end;
run;
**verify***;
proc freq data=tmp ;
table x;
format x range.;
run;