如果一个女生说,她集齐了十二个星座的前男友,我们应该如何估计她前男友的数量?

在知乎上看到这个问题,觉得挺有意思~用SAS玩了一下。

 1 options symbolgen mprint mlogic;
 2 %let a=1;
 3 %let b=12;
 4 %GLOBAL flag;
 5 %macro girl(n,m);
 6 %if ^%symexist(flag) %then %let flag=0;
 7 %do yt= 1 %to &m;
 8     data girl&yt.;
 9 /*        call streaminit(0+&yt);*/
10         do i = 1 to &n;
11             x=rand("Uniform");
12             y=round(&a*(1-x)+&b*x);
13             output;
14         end;
15     run;
16     proc sql noprint;
17         select count(distinct y) into: boyfriend&yt
18         from girl&yt
19         ;
20     quit;
21     %if &&boyfriend&yt =&b. %then %do;
22         %let flag=%eval(&flag+1);
23     %end;
24 %end;
25 %mend;
26 
27 %macro test(g,h,w);
28 %do o=12 %to &g;
29     dm log "clear";
30     %do t= 1 %to &w;
31         %girl(&o,&h);
32         %let flag&t= &flag;
33         data test&o;
34           %if %eval(&t)>1 %then %do;
35             set test&o;
36           %end;
37             sum_flag++&&flag&t.;
38             %if &t=&w %then %do ;
39                 average_flag=sum_flag/&t.;
40                 percent_flag=average_flag/&h.;
41                 boyfriend_n=&o.;
42             %end;
43         run;
44         %let flag=0;
45     %end;
46 %end;
47 
48 data want; set test:; run;
49 
50 proc options option=RLANG;run;
51 proc iml;
52     run ExportDatasetToR("want","want");
53     submit/R;
54     library(ggplot2)
55     plot=ggplot(data=want,aes(x=boyfriend_n,
56     y=percent_flag,color=percent_flag))+
57     geom_point(alpha=0.8)+
58     geom_smooth(method=lm,formula=y~I(poly(x,2)),
59     se=FALSE,fullrange=TRUE)+
60     annotate("text",y=0.5,x=38,label="average")+
61     labs(title="Percent per Number of BoyFriend",
62     x="BoyFriend N",y="Percent")+
63     scale_x_continuous(limits=c(12,100),
64     breaks=seq(10,100,5))
65     plot
66     endsubmit;
67 *quit;
68 %mend;
69 
70 %test(100,10,20); 

 

 

得出结论~平均交往38个男朋友,可以收集满12星座~如果男朋友的数量超过85个...

但是,其实每个星座的分布并不是均匀的,而且女生对男生的星座也是有偏好的~所以有bias~

 

 

by  yant07

posted @ 2016-06-21 15:40  yant07  阅读(1451)  评论(0编辑  收藏  举报