 | 本帖最后由 Irene 于 2019-1-19 18:50 编辑
无聊写的玩意:
[@开始]
#if
SMALL $STR(P2) 30 ;30次独立同分布随机试验即认为符合中心极限定理
#act
MOVR P0 100;数量大即可认为是连续型随机变量,经过多次试验发现100最好
INC P1 $STR(P0)
INC P2 1
goto @开始
break
#if
equal $STR(P2) 30 ;现在的P1服从N(1500,25000),于是根据3σ准则,分布在(1026,1974)的概率为99.7%
#act
DIV P1 25; 比如我现在想在20-60之间取个数字,而且希望比较稳定,那么考虑20-60 , 加上稳定常数20,那么就是40-80,这个25是由1500(P1的均值)除以60(40-80的均值)得来的,为什么加上20是为了让分布的上限等于下限2倍,因为我们的P1是这样的。
DEC P1 20 ; 这个变量若在40-80上服从正态分布就可以写作 P1/25,最后减去20
SENDMSG 5 $STR(P1)
20-60的正态分布观测值:
49 40 37 32 40 34 39 36 41 37 30 28 30 32 39 34 37 43 39 48 44 42 30 44 33 39 34 35 37 46 34 35
44 46 39 43 39 35 42 37 23 45 40 39 35 37 37 35 42 38 35 50 32 51 24 50 32 45 37 25 33 30 35 40
可以发现20开头比50开头的多,而且偏差大。均值差不多为37.7,即使加上四舍五入的期望0.5也不过38.2,肯定不是正态了,是个偏左态,估计是因为MOVR的分布并不是真的均匀,因此该模型会低估2个点,在最后DEC P1 20 后面补上INC P1 2这样应该就修正了。 50-100的值大概会低估2,100以上低估1,300以上不低估。
这个脚本或许对数字比较大的情况下取一个相对稳定值比较有用,数字太小肯定不行。
| |