由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Military版 - 万能的军版求问个数学问题
相关主题
作为路人,我为什么认为孙维是凶手(或重要帮凶)三哥得火星探测器什么状况了?
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)我设计了一个球面围棋
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)河北死亡人数统计
我操,小86的那个题,你们能不能不要胡证啊?最简单的智慧
周易的核心价值是看风水?中美手机网络覆盖其实差不多,区别在于索南去的地方不同
复旦大学数学情诗网上走红 意料之外的浪漫唐韦星 辜梓豪 22届世界三...
犹太人是不是数学不太行最糟糕的结果还是发生了
俯视一下数学大牛集体照 (转载)你搞大车去救虽然elegant
相关话题的讨论汇总
话题: 随机数话题: 10话题: random话题: 分布话题: 个数
进入Military版参与讨论
1 (共1页)
t******g
发帖数: 4044
1
要产生十个0到1随机数加一起是1
我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
.01,这种情况很难产生,请问有什么好办法?多谢了
w********e
发帖数: 8594
2
随机产生九个0到1之间的数(你十个随机数的自由度本来就只有九),然后用他们把0
到1之间的线段切成十份。每段的长度就是个随机数。
我觉得你还应当想清楚这些数到底要服从什么样的分布。总和为1的十个随机数可以有
很多种分布。
n*****t
发帖数: 22014
3
随机数平方、立方、四次方 。。。直到你满意为止

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

t******g
发帖数: 4044
4
你这个解法和我的解法是等价的,同样很难生成一个数0.99,其余九个加起来0.01这种
情况。

0

【在 w********e 的大作中提到】
: 随机产生九个0到1之间的数(你十个随机数的自由度本来就只有九),然后用他们把0
: 到1之间的线段切成十份。每段的长度就是个随机数。
: 我觉得你还应当想清楚这些数到底要服从什么样的分布。总和为1的十个随机数可以有
: 很多种分布。

l******t
发帖数: 55733
5
这什么问题?你加bias那还是随机吗?
s*****e
发帖数: 16824
6
你这么搞,最后是个正态分布,你需要一个平均分布。但是具体怎么产生一个平均分布
,我还没想好。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

l******t
发帖数: 55733
7
加起来不管什么数,都除以和
w********9
发帖数: 8613
8

是0
10个原始的(准)随机数(假设是在0和1之间)应该是比较均匀地分布在0和1之间。
但在scaling后,任何选定的9个以外的那个是个有关联的数,其实已经不是个随机数了
。即使改变方法,总有一个不是随机数。
重新考虑。10个随机数加起来必须是1,当然是去掉了加起来是【0,1)和(1,10】的
所有候选的10个数的数组。其中任何一个更难接近1的可能性本来就会小了很多。这很
好理解,想想极端的情况:如果不是10个数,而是1亿个数。

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

s********y
发帖数: 473
9
随即产生10个数,归一化不就好了。
你们这些廊庑,生物,振臂,就是少了正轨的数学训练。
t******g
发帖数: 4044
10
主要是想做risk return的frontier,所以希望尽可能sample所有可能,至于
distribution到不是太在乎。
我想了下,先生成十个0到1随机数,然后取对数,然后再求和scaling回来。这样结果
好一些。不过如果不是十个随机数,是一百个,一千个,效果就还是不好。

【在 s*****e 的大作中提到】
: 你这么搞,最后是个正态分布,你需要一个平均分布。但是具体怎么产生一个平均分布
: ,我还没想好。
:
: 是0

相关主题
复旦大学数学情诗网上走红 意料之外的浪漫三哥得火星探测器什么状况了?
犹太人是不是数学不太行我设计了一个球面围棋
俯视一下数学大牛集体照 (转载)河北死亡人数统计
进入Military版参与讨论
I*3
发帖数: 7012
11
点后两位小数和点后两百位小数是不一样的。
不说几位小数,这题尼玛能做吗?

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

j****i
发帖数: 68152
12
多个随机数的和服从正态分布。所以不存在十个随机数其和为一,每个数又服从平均分
n*******4
发帖数: 2285
13
产生10个随机数,再随机选取其中之一,把它乘上一个因子,比如100. 再用你的求和,
scaling不就行了?

【在 t******g 的大作中提到】
: 主要是想做risk return的frontier,所以希望尽可能sample所有可能,至于
: distribution到不是太在乎。
: 我想了下,先生成十个0到1随机数,然后取对数,然后再求和scaling回来。这样结果
: 好一些。不过如果不是十个随机数,是一百个,一千个,效果就还是不好。

t**d
发帖数: 6474
14
既然是随机数,又要求加起来等于1,是矛盾的。
如果严格要求等于1的话,可以产生10个0-0.1的随机数,如果和不等于1,可以把具有
中间值的两个增减一下使和等于1,不过随机性就破坏了一点。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

b*******8
发帖数: 37364
15
degree of freedom = 9
Q***5
发帖数: 994
16
随机取10个(0,1)间的数,每个数取N次方,再用和归一。
理论上,当N趋近无穷时,你可以以几乎1的概率得到其中一个>0.99
你可以按需要调整N。
m**********e
发帖数: 12525
17
我尻!
你们这帮文科屁民这数学功底之差,太令人震惊了
10个随机数,n1, n2, n3,...n10,满足n1+n2+...+n10=1,这说明这
里面只有9个是完全独立的,
所以你产生9个随机数,第十个按照1-n1-n2-,.,n9产生,不就完了?
妈的,蠢透了,连什么是独立随机变量都不懂

【在 j****i 的大作中提到】
: 多个随机数的和服从正态分布。所以不存在十个随机数其和为一,每个数又服从平均分
: 步

Q***5
发帖数: 994
18
那样,第十个可能是负的

【在 m**********e 的大作中提到】
: 我尻!
: 你们这帮文科屁民这数学功底之差,太令人震惊了
: 10个随机数,n1, n2, n3,...n10,满足n1+n2+...+n10=1,这说明这
: 里面只有9个是完全独立的,
: 所以你产生9个随机数,第十个按照1-n1-n2-,.,n9产生,不就完了?
: 妈的,蠢透了,连什么是独立随机变量都不懂

j****i
发帖数: 68152
19
笑死。这九个数加起来就超过1的可能性接近100%

【在 m**********e 的大作中提到】
: 我尻!
: 你们这帮文科屁民这数学功底之差,太令人震惊了
: 10个随机数,n1, n2, n3,...n10,满足n1+n2+...+n10=1,这说明这
: 里面只有9个是完全独立的,
: 所以你产生9个随机数,第十个按照1-n1-n2-,.,n9产生,不就完了?
: 妈的,蠢透了,连什么是独立随机变量都不懂

m**********e
发帖数: 12525
20
你妈的,normalization

【在 Q***5 的大作中提到】
: 那样,第十个可能是负的
相关主题
最简单的智慧最糟糕的结果还是发生了
中美手机网络覆盖其实差不多,区别在于索南去的地方不同你搞大车去救虽然elegant
唐韦星 辜梓豪 22届世界三...太监肯定跪舔皇上
进入Military版参与讨论
j****i
发帖数: 68152
21
normalize完了每个数就成normal分布了

【在 m**********e 的大作中提到】
: 你妈的,normalization
m**********e
发帖数: 12525
22
normalization,拜托,找本课本看看,受约束系统generating function怎么写

【在 j****i 的大作中提到】
: 笑死。这九个数加起来就超过1的可能性接近100%
Q***5
发帖数: 994
23
当变量数比10大很多的化,数值上有个小trick:
先找到最大数,所有数都先除以这个数。。。

【在 Q***5 的大作中提到】
: 随机取10个(0,1)间的数,每个数取N次方,再用和归一。
: 理论上,当N趋近无穷时,你可以以几乎1的概率得到其中一个>0.99
: 你可以按需要调整N。

j****i
发帖数: 68152
24
normalize之后,这些数全都是normal分布了。楼主的意思是想产生10随机数,总和是1
,每个数符合平均分布。这是不可能的,因为多个平均分布随机数的和符合正态分布。
文科生瞎想,不知道对不对

【在 m**********e 的大作中提到】
: normalization,拜托,找本课本看看,受约束系统generating function怎么写
Q***5
发帖数: 994
25
俺没注意,其实别人已经建议过俺说的办法了。

【在 n*****t 的大作中提到】
: 随机数平方、立方、四次方 。。。直到你满意为止
:
: 是0

m**********e
发帖数: 12525
26
当然不可能的,加了约束条件原始分布就变了
丫这个问题,物理里面有大量研究,约束条件不是总和为1,而是能量守恒
一个分子链,施加能量E后产生随机振动,各分子能量随机但是总和必须为E,
找本统计物理课本看看就知道了,分布是啥就知道了

是1

【在 j****i 的大作中提到】
: normalize之后,这些数全都是normal分布了。楼主的意思是想产生10随机数,总和是1
: ,每个数符合平均分布。这是不可能的,因为多个平均分布随机数的和符合正态分布。
: 文科生瞎想,不知道对不对

j****i
发帖数: 68152
27
到底是理科生,一下就点到本质,佩服

【在 m**********e 的大作中提到】
: 当然不可能的,加了约束条件原始分布就变了
: 丫这个问题,物理里面有大量研究,约束条件不是总和为1,而是能量守恒
: 一个分子链,施加能量E后产生随机振动,各分子能量随机但是总和必须为E,
: 找本统计物理课本看看就知道了,分布是啥就知道了
:
: 是1

Q***5
发帖数: 994
28
楼主应该把要求写清楚些。
估计除了和为1,还要求都非负,而且对称。
当然,满足这些条件的分布也有无穷多,估计楼主也就是找个比较容易实现的。
m**********e
发帖数: 12525
29
仔细看了下
楼主这问题,其实不简单,复杂程度超出楼主的想象,以目前楼主给出的条件,是
无法得到正确答案的,楼主需要提供更多的细节。

【在 j****i 的大作中提到】
: 到底是理科生,一下就点到本质,佩服
M********n
发帖数: 4650
30
什么玩意,你加了(和为1)这个限制,自由度就只有9了,不可能10个随机数。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

相关主题
感情不止china教授灌水。。。作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)
[转]用数据说话,看Google 怎样被陷害作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)
作为路人,我为什么认为孙维是凶手(或重要帮凶)我操,小86的那个题,你们能不能不要胡证啊?
进入Military版参与讨论
m**********e
发帖数: 12525
31
这个问题先假设N1,N2,...N10为随机变量,而且满足N1+N2+...+N10=1
第一步,必须求出Ni的分布
第二步,再设计程序,按分布产生随机数
楼主的问题是没搞清楚第一步的重要性,第一步怎么走,参见partition function:
http://en.wikipedia.org/wiki/Partition_function_(mathematics)
所以,怪不得华尔街的投行都需要招physics phd
G*******n
发帖数: 6889
32
B*Q
发帖数: 25729
33
你们理科生太牛比了
连坑王也都是理科生
x********e
发帖数: 35261
34
数学弱智问一下啊,为什么不能从0-1中生成一个随机数N1再从0-(1-N1)中生成随机数
N2直到N9?

【在 m**********e 的大作中提到】
: 这个问题先假设N1,N2,...N10为随机变量,而且满足N1+N2+...+N10=1
: 第一步,必须求出Ni的分布
: 第二步,再设计程序,按分布产生随机数
: 楼主的问题是没搞清楚第一步的重要性,第一步怎么走,参见partition function:
: http://en.wikipedia.org/wiki/Partition_function_(mathematics)
: 所以,怪不得华尔街的投行都需要招physics phd

t******g
发帖数: 4044
35
可以,但生成随机数的顺序就有关系了。先生成的数大的可能性就大,后生成的数大的
可能性就小了。



【在 x********e 的大作中提到】
: 数学弱智问一下啊,为什么不能从0-1中生成一个随机数N1再从0-(1-N1)中生成随机数
: N2直到N9?

m**********e
发帖数: 12525
36
因为约束条件会影响随机变量的分布函数
比如,一个方形弹性容器,里面一个运动分子在没有任何外力的情况下,
分布是均匀的,任何地方都有相同的出现概率,这个时候分子能量E对结
果不产生影响
但是,如果方形容器放在重力场里面,由于能量守恒,当分子往高处飞行
的时候,速度减小,这样会导致出现可能降低,这个时候,由于能量守恒
这个约束条件,能量E会对结果产生影响,最后分布不是均匀的了,变成指
数分布



【在 x********e 的大作中提到】
: 数学弱智问一下啊,为什么不能从0-1中生成一个随机数N1再从0-(1-N1)中生成随机数
: N2直到N9?

Q***5
发帖数: 994
37
你是要sample不同assets的权重吗?一般找frontier 是用有限制情况下的最优化。你
们用蒙特卡罗?

【在 t******g 的大作中提到】
: 可以,但生成随机数的顺序就有关系了。先生成的数大的可能性就大,后生成的数大的
: 可能性就小了。
:
: 数

x********e
发帖数: 35261
38
你这个比方不对。十个数是有权重的,而箱子的限制与加和为1不可类比。
你还不如说有1g沙抓九次呢。

【在 m**********e 的大作中提到】
: 因为约束条件会影响随机变量的分布函数
: 比如,一个方形弹性容器,里面一个运动分子在没有任何外力的情况下,
: 分布是均匀的,任何地方都有相同的出现概率,这个时候分子能量E对结
: 果不产生影响
: 但是,如果方形容器放在重力场里面,由于能量守恒,当分子往高处飞行
: 的时候,速度减小,这样会导致出现可能降低,这个时候,由于能量守恒
: 这个约束条件,能量E会对结果产生影响,最后分布不是均匀的了,变成指
: 数分布
:
: 数

x********e
发帖数: 35261
39
先后生成也有关系?生成后shuffle十个数不就行了。

【在 t******g 的大作中提到】
: 可以,但生成随机数的顺序就有关系了。先生成的数大的可能性就大,后生成的数大的
: 可能性就小了。
:
: 数

m**********e
发帖数: 12525
40
你这智商,箱子限制相当于Ni取值区间【0,1】
N1+N2+...+N10=1的限制,相当于能量守恒,这个约束我们可以写成哈密顿形式:
H=1-N1-N2-...N10
这个1,就是能量
妈的,这里除了坑王,别人都不行,肏,差距太大了

【在 x********e 的大作中提到】
: 你这个比方不对。十个数是有权重的,而箱子的限制与加和为1不可类比。
: 你还不如说有1g沙抓九次呢。

相关主题
我操,小86的那个题,你们能不能不要胡证啊?犹太人是不是数学不太行
周易的核心价值是看风水?俯视一下数学大牛集体照 (转载)
复旦大学数学情诗网上走红 意料之外的浪漫三哥得火星探测器什么状况了?
进入Military版参与讨论
x********e
发帖数: 35261
41
你到底看的是分子在箱子里的分布还是能量?你要是限制能量,跟分子在箱子里的位置
有什么关系?

【在 m**********e 的大作中提到】
: 你这智商,箱子限制相当于Ni取值区间【0,1】
: N1+N2+...+N10=1的限制,相当于能量守恒,这个约束我们可以写成哈密顿形式:
: H=1-N1-N2-...N10
: 这个1,就是能量
: 妈的,这里除了坑王,别人都不行,肏,差距太大了

f******k
发帖数: 297
42
classic problem. to sample uniformly from a n-dim simplex, first draw n
random variables independently from the exponential distribution, then
normalize.
m**********e
发帖数: 12525
43
随机函数F(X),X∈[0,1], F(X)∈[0,1]
ok?

【在 x********e 的大作中提到】
: 你到底看的是分子在箱子里的分布还是能量?你要是限制能量,跟分子在箱子里的位置
: 有什么关系?

x********e
发帖数: 35261
44
你的回答跟我的问题无关啊

【在 m**********e 的大作中提到】
: 随机函数F(X),X∈[0,1], F(X)∈[0,1]
: ok?

m**********e
发帖数: 12525
45
你看不懂而已

【在 x********e 的大作中提到】
: 你的回答跟我的问题无关啊
m**********e
发帖数: 12525
46
你这个是对的
N维线性约束的partition function,最后得到exponential distribution

【在 f******k 的大作中提到】
: classic problem. to sample uniformly from a n-dim simplex, first draw n
: random variables independently from the exponential distribution, then
: normalize.

d******r
发帖数: 16947
47
每次产生的数作为UB,重新作[0,ui]的均匀分布,10次后应该趋进于1

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

m**********e
发帖数: 12525
48
http://www.mitbbs.com/article/Military/44578463_0.html

【在 d******r 的大作中提到】
: 每次产生的数作为UB,重新作[0,ui]的均匀分布,10次后应该趋进于1
:
: 是0

x********e
发帖数: 35261
49
我都说了我是数学白痴
我就觉得你那个箱子的比喻不合理

【在 m**********e 的大作中提到】
: 你看不懂而已
d******r
发帖数: 16947
50
较复杂 lol 没我的直观

【在 m**********e 的大作中提到】
: http://www.mitbbs.com/article/Military/44578463_0.html
相关主题
我设计了一个球面围棋中美手机网络覆盖其实差不多,区别在于索南去的地方不同
河北死亡人数统计唐韦星 辜梓豪 22届世界三...
最简单的智慧最糟糕的结果还是发生了
进入Military版参与讨论
t******g
发帖数: 4044
51
多谢,那基本和我之前说的,先生成0,1均匀分布,再取对数是一样的了,就是lamda=
1的exponential distribution.

【在 f******k 的大作中提到】
: classic problem. to sample uniformly from a n-dim simplex, first draw n
: random variables independently from the exponential distribution, then
: normalize.

K*****2
发帖数: 9308
52
菌斑果然是joke版
joke版才是学术版
s****b
发帖数: 2039
53
我觉得,这是一个什么样的问题啊??就好像要找到一个圆球,它的形状必须是方的一
样:既然都是随机数,加起来怎么可能肯定等于1?理论上讲,10个随机数加起来等
于1的概率是0。如果是计算机生成点后三位随机数,10个加起来等于1的概率是在
0.000, 0.001, ..., 1.000, ..., 9.990 上某个离散概率分布在1.000上的值吧,估
计机会也很小,只能反复try了,没有别的办法吧?

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

s****b
发帖数: 2039
54
似乎这个办法比较正确

【在 m**********e 的大作中提到】
: 这个问题先假设N1,N2,...N10为随机变量,而且满足N1+N2+...+N10=1
: 第一步,必须求出Ni的分布
: 第二步,再设计程序,按分布产生随机数
: 楼主的问题是没搞清楚第一步的重要性,第一步怎么走,参见partition function:
: http://en.wikipedia.org/wiki/Partition_function_(mathematics)
: 所以,怪不得华尔街的投行都需要招physics phd

s****b
发帖数: 2039
55
比方说三位的随机数,从0-1中生成一个随机数N1的概率是1/1000(一般0-1是有
0没有1),如果N1是0.100,下面一个随机数N2将从0-0.9之间产生,概率是1/900
。N1和N2概率不相等了,所以就已经不是随机数了。



【在 x********e 的大作中提到】
: 数学弱智问一下啊,为什么不能从0-1中生成一个随机数N1再从0-(1-N1)中生成随机数
: N2直到N9?

m***n
发帖数: 12188
56
楼主没有给出要求什么分布。
除了约束,楼主似乎想要一个严重bias到1的分布。
我看这可以改写为discrete 随机分配问题。
长度为1的线段,随机分10段。
在假定是 [0,1],(0,1)可以小小修改。
首先,假定精度为小数点后一位。那就是有11个数:0,1,...,10
均匀随机选取11次。间距就是10个数。其中会有0,可以理解。
如果需要精度为2位,那就是有0, 1, ..., 11, ...,99, 100个数。
从此样本种,还是随机抽取11次。得到10个间距。
如是类推。
服从什么分布,也不难推出来。
d*****g
发帖数: 4364
57
归一化

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

f*****n
发帖数: 405
58
产生9个[0,0.1)之间随机数,另一个是1-这9个数之和。但产生一个数是0.99的概率是
1/10^9
W*******n
发帖数: 4140
59
At nighttime, you bring it to Wall Street. At daytime, you bring it to
Congress. They both give a fucking dollar. You get the answer?
If you still don't get it, go to the nearest church, which will give you a
fucking dollar too. You are fucked up, if you still don't get it.

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

P*T
发帖数: 17
60
你可以从这10个数里随机读取数据,就和顺序无关了。

【在 t******g 的大作中提到】
: 可以,但生成随机数的顺序就有关系了。先生成的数大的可能性就大,后生成的数大的
: 可能性就小了。
:
: 数

相关主题
你搞大车去救虽然elegant[转]用数据说话,看Google 怎样被陷害
太监肯定跪舔皇上作为路人,我为什么认为孙维是凶手(或重要帮凶)
感情不止china教授灌水。。。作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)
进入Military版参与讨论
b*******i
发帖数: 594
61
这个问题怎么不去数学或者统计版问?
问题本身不难,但楼主的要求是“每个随机数都很难到达边界附近,例如一个数是0.99
,其他9个数的和是0.01”。
原因在哪里?楼主用的产生随机数的分布不对,我猜楼主多半用的是均匀分布,那几乎
不可能达到要求。
我的算法:
1。产生9个服从Beta分布的随机数,Beta的参数取alpha=1,beta=100(beta取大数)
2。把这9个数从小到大排序y1,y2,...,y9
3。令x1=y1-0,x2=y2-y1,x3=y3-y2,...x10=1-y9
结束
I********x
发帖数: 858
62
如果我随机生成10个整数,然后求和,每个数除以这个和所得新数作为生产的结果,这
样不符合条件吗?

99

【在 b*******i 的大作中提到】
: 这个问题怎么不去数学或者统计版问?
: 问题本身不难,但楼主的要求是“每个随机数都很难到达边界附近,例如一个数是0.99
: ,其他9个数的和是0.01”。
: 原因在哪里?楼主用的产生随机数的分布不对,我猜楼主多半用的是均匀分布,那几乎
: 不可能达到要求。
: 我的算法:
: 1。产生9个服从Beta分布的随机数,Beta的参数取alpha=1,beta=100(beta取大数)
: 2。把这9个数从小到大排序y1,y2,...,y9
: 3。令x1=y1-0,x2=y2-y1,x3=y3-y2,...x10=1-y9
: 结束

l*******s
发帖数: 7316
63
菌斑太挫了,应该去笑版问学术问题。
你要搞清楚这10个随机数不可能是0到1之间均匀分布的。所以0.99出现的概率远小于0.
1出现的概率是正常的。
虽然没有明确的分布概率,但有些规律还是明显的。
至少你希望这10个随机数中每个数的概率分布是相同的,那么它们的期望值也是相同的
。而每次抽样的结果10个数加一起总是1, 也就是10个随机数的期望值的和是1。每个
随机数的期望值是0.1。
了解了这一点,你就知道你的方法没什么大问题,很难达到0.99是正常的。
归一或你说的scaling是可以的,如果不满意也可以用别的方法。
有一个ID说先产生的一个,再在剩余的范围内先产生第二个。 这样很明显,每个数的
期望值越来越小。有人说然后再shuffle,也许可以,但太麻烦了。
比归一稍微复杂一点的办法,可以按均匀概率在[0,1]产生之间9个随机数,把[0,1]
随机分为10段,取每段的长度为10个随机数的值。这个方法需要9个数排序。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

b*******i
发帖数: 594
64
10个随机数加起来是1很容易实现,你的方法就可以。关键在于楼主的要求是“1个接近
1,另外9个接近0”,这就要选择恰当的随机分布了,如果是按均匀分布生成随机数,
那就达不到楼主的要求。

【在 I********x 的大作中提到】
: 如果我随机生成10个整数,然后求和,每个数除以这个和所得新数作为生产的结果,这
: 样不符合条件吗?
:
: 99

l*******s
发帖数: 7316
65
LZ不知道自己要求什么,所以才来问。

【在 b*******i 的大作中提到】
: 10个随机数加起来是1很容易实现,你的方法就可以。关键在于楼主的要求是“1个接近
: 1,另外9个接近0”,这就要选择恰当的随机分布了,如果是按均匀分布生成随机数,
: 那就达不到楼主的要求。

l*******e
发帖数: 1869
66
你说的这种情况本来就是小概率事件,怎么可以强求随机数去打概率实现呢 ?
如果你非要这种边界,你干脆定一个数是 0.99, 然后其它数随机产生和 0.01 算了。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

s********l
发帖数: 439
67
我不知道你到底想要这10个数满足什么样的分布。如果你想把[0 1] ”均匀地“ 分成
10块,也就是所谓的uniform random partition的话,标准的做法有两种,一是生成10
个独立同分布的指数分布的随机数,也就是10个 EXP(1),然后rescaling;二是生成9
个均匀分布的随机数,然后排序,把这9个数作为partition,把[0 1]分成10块。可以
证明这两种做法生成的分布是一样的。
直接加起来rescaling是不对的,这样会有bias。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

n*******r
发帖数: 2010
68
hehe.
楼主想要的模型和他的物理世界一致吗

【在 s****b 的大作中提到】
: 我觉得,这是一个什么样的问题啊??就好像要找到一个圆球,它的形状必须是方的一
: 样:既然都是随机数,加起来怎么可能肯定等于1?理论上讲,10个随机数加起来等
: 于1的概率是0。如果是计算机生成点后三位随机数,10个加起来等于1的概率是在
: 0.000, 0.001, ..., 1.000, ..., 9.990 上某个离散概率分布在1.000上的值吧,估
: 计机会也很小,只能反复try了,没有别的办法吧?
:
: 是0

s********l
发帖数: 439
69
看了半天,这是第一个正确答案

【在 f******k 的大作中提到】
: classic problem. to sample uniformly from a n-dim simplex, first draw n
: random variables independently from the exponential distribution, then
: normalize.

s****b
发帖数: 2039
70
你不是问有没有什么好办法吗?跑下面这个程序就可以了,和是1,每个随机数乘0.
001。我
跑了半天还没得到结果。你自己用快的计算机去跑吧。
***
import java.util.Random;
public class Haha {
public static void main(String[] args) {
Random rn = new Random();
int t=0;
String s="";
while (t != 1000) {
t=0;
s="";
for (int i=0; i<10; i++) {
int r = rn.nextInt(1001);
t=t+r;
s=s+r+" ";
}
}
System.out.println("sum = "+t);
System.out.println("the random numbers are: "+s);
}
}
***

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

相关主题
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)周易的核心价值是看风水?
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)复旦大学数学情诗网上走红 意料之外的浪漫
我操,小86的那个题,你们能不能不要胡证啊?犹太人是不是数学不太行
进入Military版参与讨论
s****b
发帖数: 2039
71
10个数的和我不知道是什么分布,但是和从0到10,分布应该是以5为中心吧,似乎和
是5的概率很大。上面这个程序设成 t!=5000,很快就得到答案了:
sum = 5000
the random numbers are: 636 476 514 970 266 334 797 146 126 735
也就是(.636 .476 .514 .970 .266 .334 .797 .146 .126 .735), 和是5。
和是1的概率很小,所以跑半天还没有结果。
不知道你为什么一定要10个随机数的和是1,是不是要求达到必然发生事件有关?
如果不一定要求和是1,把和往5左右凑比较方便。

【在 s****b 的大作中提到】
: 你不是问有没有什么好办法吗?跑下面这个程序就可以了,和是1,每个随机数乘0.
: 001。我
: 跑了半天还没得到结果。你自己用快的计算机去跑吧。
: ***
: import java.util.Random;
: public class Haha {
: public static void main(String[] args) {
: Random rn = new Random();
: int t=0;
: String s="";

s****b
发帖数: 2039
72
用下面这个办法,可以看到每次的10个随机数,以及和是多少。最后到和是1000
停止。
***
import java.util.Random;
public class Ha {
public static void main(String[] args) {
Random rn = new Random();
int t=0;
String s="";
while (t != 1000) {
t=0;
s="";
for (int i=0; i<10; i++) {
int r = rn.nextInt(1001);
t=t+r;
s=s+r+" ";
System.out.println("sum = "+t);
System.out.println("the random numbers are: "+s);
}
}
}
}
***

【在 s****b 的大作中提到】
: 10个数的和我不知道是什么分布,但是和从0到10,分布应该是以5为中心吧,似乎和
: 是5的概率很大。上面这个程序设成 t!=5000,很快就得到答案了:
: sum = 5000
: the random numbers are: 636 476 514 970 266 334 797 146 126 735
: 也就是(.636 .476 .514 .970 .266 .334 .797 .146 .126 .735), 和是5。
: 和是1的概率很小,所以跑半天还没有结果。
: 不知道你为什么一定要10个随机数的和是1,是不是要求达到必然发生事件有关?
: 如果不一定要求和是1,把和往5左右凑比较方便。

I*a
发帖数: 297
73
我靠,就一简单随机数生成问题,就吵成这样。简单的说,在2维情况下,就是平面坐
标上一条45度斜角的线段x+y=1 (0 于啥分布,自然是看楼主喜欢,有了点在线段的相对位置,自然可以project到原来的
平面坐标中得到x and y。
在n维情况下,就是求一个在空间的锥体的底面的随机分布,这个分布是啥,自然还是
看楼主喜欢,有了这个平面上的分布,可以再投影到原n维空间,得到坐标x1,x2,...xn
特别要是需要这个面上的分布是均匀的,这早有现成的算法
1。快速的算法,利用次序统计量,就是生成9个0,1 之间均匀分布的数加 0 和1,然
后排序,相邻两个的差就是你要的x1,..,x10
2。利用指数分布,生成指数分布,然后相加再normalize 到1
n**********r
发帖数: 2061
74
用Excel解
第一列
A2:A10 =RAND()
第二列
B2:B10 =RANK(A2,$A$2:$A$10,1)
第三列
C2:C10 =IF(B2=1,A2,A2-INDEX($A$2:$A$10,MATCH(B2-1,$B$2:$B$10,0)))
C11 =1-SUM(C2:C10)
s********l
发帖数: 439
75
那个“锥体的底面”叫simplex,n >= 3的时候不是平面

xn

【在 I*a 的大作中提到】
: 我靠,就一简单随机数生成问题,就吵成这样。简单的说,在2维情况下,就是平面坐
: 标上一条45度斜角的线段x+y=1 (0: 于啥分布,自然是看楼主喜欢,有了点在线段的相对位置,自然可以project到原来的
: 平面坐标中得到x and y。
: 在n维情况下,就是求一个在空间的锥体的底面的随机分布,这个分布是啥,自然还是
: 看楼主喜欢,有了这个平面上的分布,可以再投影到原n维空间,得到坐标x1,x2,...xn
: 特别要是需要这个面上的分布是均匀的,这早有现成的算法
: 1。快速的算法,利用次序统计量,就是生成9个0,1 之间均匀分布的数加 0 和1,然
: 后排序,相邻两个的差就是你要的x1,..,x10
: 2。利用指数分布,生成指数分布,然后相加再normalize 到1

w********9
发帖数: 8613
76

老早我就在这个贴里,从两个角度,尽量用粗浅/“科普”的方式回答了楼主原始题目
里的问题和疑惑
。还争什么呢?

【在 w********9 的大作中提到】
:
: 是0
: 10个原始的(准)随机数(假设是在0和1之间)应该是比较均匀地分布在0和1之间。
: 但在scaling后,任何选定的9个以外的那个是个有关联的数,其实已经不是个随机数了
: 。即使改变方法,总有一个不是随机数。
: 重新考虑。10个随机数加起来必须是1,当然是去掉了加起来是【0,1)和(1,10】的
: 所有候选的10个数的数组。其中任何一个更难接近1的可能性本来就会小了很多。这很
: 好理解,想想极端的情况:如果不是10个数,而是1亿个数。

w********9
发帖数: 8613
77
第二个角度是:在理想的完全随机的情况下,与楼主的做法等效的是,如果生成10个完
全随机数之和不为1,它们就被抛弃;为1则取。这相当于破坏了那10个所选数的随机性。
I*a
发帖数: 297
78
你在国内读过数学吗,我知道叫simplex,在国内,这种东西就叫n维空间的超平面。
基本上在一个线形空间x1, x2, ..., xn
形如
a1x1+..,+anxn=c
就定义了n维空间的一个(超)平面

【在 s********l 的大作中提到】
: 那个“锥体的底面”叫simplex,n >= 3的时候不是平面
:
: xn

s****b
发帖数: 2039
79
??
在这种情况下,虽然10个数字不是随机取的,而是有目的的用和是1的条件选取的,
但是每个数字出现的概率是相同的。

性。

【在 w********9 的大作中提到】
: 第二个角度是:在理想的完全随机的情况下,与楼主的做法等效的是,如果生成10个完
: 全随机数之和不为1,它们就被抛弃;为1则取。这相当于破坏了那10个所选数的随机性。

g*******l
发帖数: 239
80
我能想到的一个最快的方法是直接选9个0到1之间的不同的随机数,从小到大排列,然
后将0和1也放入其中,这样11个数的间隔就是10个数了,而且其和是1。只是不知道这
样产生的10个数是不是随机(或者服从某种分布)

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

相关主题
俯视一下数学大牛集体照 (转载)河北死亡人数统计
三哥得火星探测器什么状况了?最简单的智慧
我设计了一个球面围棋中美手机网络覆盖其实差不多,区别在于索南去的地方不同
进入Military版参与讨论
s****b
发帖数: 2039
81
嗯,要考虑楼主在事情后面真正想要解决的那个问题,是不是有问题。

【在 n*******r 的大作中提到】
: hehe.
: 楼主想要的模型和他的物理世界一致吗

s****b
发帖数: 2039
82
OK,找到了一组,你自己随便用吧。
sum = 1000
the random numbers are: 109 50 10 305 82 95 11 76 215 47
就是(.109 .050 .010 .305 .082 .095 .011 .076 .215 .047)

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

s****b
发帖数: 2039
83
又找到一组。看来最好的办法就是出钱雇俺为你找了,呵呵。
sum = 1000
the random numbers are: 97 202 162 59 58 47 61 43 62 209
就是(.097 .202 .162 .059 .058 .047 .061 .043 .062 .209),和是1。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

s****b
发帖数: 2039
84
sum = 1000
the random numbers are: 94 47 70 20 32 34 156 197 313 37
sum = 1000
the random numbers are: 106 136 143 61 57 99 27 78 250 43
sum = 1000
the random numbers are: 140 118 370 46 107 67 27 34 49 42
修改一下我前面的程序,规定其中一个随机数必须 >=0.99,彻底解决问题!
烦死了!

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

v**o
发帖数: 4956
85
现在码工的数学素养怎么这么逊啊
有限个随机数加起来还是随机数,怎么会等于1?
随机数只有期望值,没有确定值的
尽管算法产生的叫伪随机数,说多了你还是不懂
m**********e
发帖数: 12525
86
你其实也是啥也不懂
10个均匀分布随机变量,受约束条件后只有9个独立随机变量了.由于约束条件,
分布函数可以用partition function求出来,对于线性约束,答案是exp函数
虽然是随机变量,但是约束条件总是严格成立的,举个例子,气体分子在大气层中
可以随机移动,但是无论移动到哪里,能量守恒(动能+引力势能)这个约束条件
永远严格成立

【在 v**o 的大作中提到】
: 现在码工的数学素养怎么这么逊啊
: 有限个随机数加起来还是随机数,怎么会等于1?
: 随机数只有期望值,没有确定值的
: 尽管算法产生的叫伪随机数,说多了你还是不懂

s****b
发帖数: 2039
87
这个,俺的数学素养也比较差。但是俺猜想如果几个随机数当中起码有一个是无理数的
话,加起来不可能等于1;如果都是有理数的话,加起来还是有可能等于1的,对吧?

【在 v**o 的大作中提到】
: 现在码工的数学素养怎么这么逊啊
: 有限个随机数加起来还是随机数,怎么会等于1?
: 随机数只有期望值,没有确定值的
: 尽管算法产生的叫伪随机数,说多了你还是不懂

m**********e
发帖数: 12525
88
我觉得你初中得重读

【在 s****b 的大作中提到】
: 这个,俺的数学素养也比较差。但是俺猜想如果几个随机数当中起码有一个是无理数的
: 话,加起来不可能等于1;如果都是有理数的话,加起来还是有可能等于1的,对吧?

s****b
发帖数: 2039
89
俺的意思是说,如果起码有一个是无理数,加起来等于1的概率就是0。如果都是有理
数,加起来等于1还是有可能的。这个可能和countable和uncountable有关。俺也不想
多说了。

【在 m**********e 的大作中提到】
: 我觉得你初中得重读
l*******s
发帖数: 7316
90
这里有一般性的有限制条件的采样方法。
http://stats.stackexchange.com/questions/30564/generating-rando
针对原LZ的问题,我来给个采样方法。
n个[0,c_n]之间的随机数 x_1,x_2,...x_n,要求x_1+x_2+...+x_n=c_n,
这n个随机数有相同的分布。
x_1+x_2+...+x_n=c_n 这个限制条件把采样空间从n维空间,变成了n-1维空间(或称为
n-1维超平面)。 假设要求采样在这n-1维空间里均匀分布。(这个假设大概最符合原
意)。
那么 y_n=x_1+x_2+...+x_(n-1) 这个在[0,c]之间随机数的概率分布应该是跟x_1+x_2
+...+x_(n-1)=y_n 在前面的n-1维超超平面上的面积呈正比。
PDF: f(y_n)= (n-1)/c_n * (y_n/c_n)^(n-2)
CDF: F(y_n)= (y_n/c_n)^(n-1)
所以在[0,1]之间均匀概率随机产生z_n,
然后由以下方法计算y_n 和 x_n
y_n=c_n*z_n^(1/(n-1))
x_n=c_n-y_n
之后问题转化为n-1个[0,c_(n-1)]之间的随机数 x_1,x_2,...x_(n-1),要求x_1+x_2+.
..+x_(n-1)=c_(n-1).其中,c_(n-1)就是前面y_n的采样结果。
相关主题
唐韦星 辜梓豪 22届世界三...太监肯定跪舔皇上
最糟糕的结果还是发生了感情不止china教授灌水。。。
你搞大车去救虽然elegant[转]用数据说话,看Google 怎样被陷害
进入Military版参与讨论
s****b
发帖数: 2039
91
读你的贴太麻烦了。建议你还是用LaTEX把你的贴做成pdf格式然后做个截屏图贴上来吧。

_2

【在 l*******s 的大作中提到】
: 这里有一般性的有限制条件的采样方法。
: http://stats.stackexchange.com/questions/30564/generating-rando
: 针对原LZ的问题,我来给个采样方法。
: n个[0,c_n]之间的随机数 x_1,x_2,...x_n,要求x_1+x_2+...+x_n=c_n,
: 这n个随机数有相同的分布。
: x_1+x_2+...+x_n=c_n 这个限制条件把采样空间从n维空间,变成了n-1维空间(或称为
: n-1维超平面)。 假设要求采样在这n-1维空间里均匀分布。(这个假设大概最符合原
: 意)。
: 那么 y_n=x_1+x_2+...+x_(n-1) 这个在[0,c]之间随机数的概率分布应该是跟x_1+x_2
: +...+x_(n-1)=y_n 在前面的n-1维超超平面上的面积呈正比。

l*******s
发帖数: 7316
92

吧。

【在 s****b 的大作中提到】
: 读你的贴太麻烦了。建议你还是用LaTEX把你的贴做成pdf格式然后做个截屏图贴上来吧。
:
: _2

t******g
发帖数: 4044
93
我可能问得抽象了点,具体问题是有一个投资组合,假设我知道了每种产品的权重,就
可以算出来整个组合的risk和return. 这样我就希望sample各种组合找出最优的risk
return的frontier。
问题是计算risk和return没有close form,所以我能想到的只能是sample10000遍,一
个个组合去算。但问题是假如最优组合是一个股票权重0.99,那这样的组合根本sample
不出来。组合内产品越多越难找出来。

乎和

【在 s****b 的大作中提到】
: 10个数的和我不知道是什么分布,但是和从0到10,分布应该是以5为中心吧,似乎和
: 是5的概率很大。上面这个程序设成 t!=5000,很快就得到答案了:
: sum = 5000
: the random numbers are: 636 476 514 970 266 334 797 146 126 735
: 也就是(.636 .476 .514 .970 .266 .334 .797 .146 .126 .735), 和是5。
: 和是1的概率很小,所以跑半天还没有结果。
: 不知道你为什么一定要10个随机数的和是1,是不是要求达到必然发生事件有关?
: 如果不一定要求和是1,把和往5左右凑比较方便。

Q***5
发帖数: 994
94
这种“corner solution"别人都拼了命躲避还来不及,你干嘛还必需要?

sample

【在 t******g 的大作中提到】
: 我可能问得抽象了点,具体问题是有一个投资组合,假设我知道了每种产品的权重,就
: 可以算出来整个组合的risk和return. 这样我就希望sample各种组合找出最优的risk
: return的frontier。
: 问题是计算risk和return没有close form,所以我能想到的只能是sample10000遍,一
: 个个组合去算。但问题是假如最优组合是一个股票权重0.99,那这样的组合根本sample
: 不出来。组合内产品越多越难找出来。
:
: 乎和

t******g
发帖数: 4044
95
老兄,我不是要找十个数加起来是1,那求和然后归一就好了。但这样生成的十个数是
有bias的,很多情况是遍历不到的。
我要的一个算法能大量生成这十个数,例如生成100万组十个数,并且尽可能均匀遍历
整个空间。我也并不是一定要一个0.99,其他所有数加起来0.1,只是举个例子,很多
可能性组合是很难遍历到的。

【在 s****b 的大作中提到】
: 你不是问有没有什么好办法吗?跑下面这个程序就可以了,和是1,每个随机数乘0.
: 001。我
: 跑了半天还没得到结果。你自己用快的计算机去跑吧。
: ***
: import java.util.Random;
: public class Haha {
: public static void main(String[] args) {
: Random rn = new Random();
: int t=0;
: String s="";

t******g
发帖数: 4044
96
学术问题,随便问问讨论一下,军版能人多么。都不用太corner,我这是sample了一千
组十个变量,求和归一,画其中两个变量A和B的散点图,可以看到基本不会出现大于0.
3的情况,这说明任何一个变量都被约束在0到0.3之间了

【在 Q***5 的大作中提到】
: 这种“corner solution"别人都拼了命躲避还来不及,你干嘛还必需要?
:
: sample

Q***5
发帖数: 994
97
当维数大时,不管怎么随机取样,都会有某些区域没被扫到。就算能找到办法,能以较
大概率扫到某个权重>0.99,这也不能说明”所有可能“都扫到了。恰恰相反,人为增
加在 corner 附近的概率密度必然是以牺牲其他地方的密度为条件的,只不过“其他地
方”不象corner这么好描述罢了。
当然,作为理论问题倒是有点意思。 你对上海老姜和俺建议的,先求N次方,再归一的
办法怎么看?

0.

【在 t******g 的大作中提到】
: 学术问题,随便问问讨论一下,军版能人多么。都不用太corner,我这是sample了一千
: 组十个变量,求和归一,画其中两个变量A和B的散点图,可以看到基本不会出现大于0.
: 3的情况,这说明任何一个变量都被约束在0到0.3之间了

l*******s
发帖数: 7316
98
变量大于a的概率是 (1-a)^(n-1).
n=10的时候,某个变量大于0.3的概率是4%, sample 1000组应该每个变量都有40个左右
大于0.3.
如果你的方法得不到类似的结果,可以试试我的方法。其实也很简单的。
就是在[0,1]中随机取个数,然后开9次方,得到y_10, 然后x_10=1-y_10
再在[0,1]中随机取个数,然后开8次方,再乘以y_10,得到y_9,然后x_9=y_10-y_9
再在[0,1]中随机取个数,然后开7次方,再乘以y_9,得到y_8,然后x_8=y_9-y_8
再在[0,1]中随机取个数,然后开6次方,再乘以y_8,得到y_7,然后x_7=y_8-y_7
再在[0,1]中随机取个数,然后开5次方,再乘以y_7,得到y_6,然后x_6=y_7-y_6
再在[0,1]中随机取个数,然后开4次方,再乘以y_6,得到y_5,然后x_5=y_6-y_5
再在[0,1]中随机取个数,然后开3次方,再乘以y_5,得到y_4,然后x_4=y_5-y_4
再在[0,1]中随机取个数,然后开2次方,再乘以y_4,得到y_3,然后x_3=y_4-y_3
再在[0,1]中随机取个数,然后开1次方,再乘以y_3,得到y_2,然后x_2=y_3-y_2
最后x_1=y_2

0.

【在 t******g 的大作中提到】
: 学术问题,随便问问讨论一下,军版能人多么。都不用太corner,我这是sample了一千
: 组十个变量,求和归一,画其中两个变量A和B的散点图,可以看到基本不会出现大于0.
: 3的情况,这说明任何一个变量都被约束在0到0.3之间了

l*******s
发帖数: 7316
99
所以出现至少一个变量>0.99的概率大约是10*(1-0.99)^9= 1E-17.

【在 l*******s 的大作中提到】
: 变量大于a的概率是 (1-a)^(n-1).
: n=10的时候,某个变量大于0.3的概率是4%, sample 1000组应该每个变量都有40个左右
: 大于0.3.
: 如果你的方法得不到类似的结果,可以试试我的方法。其实也很简单的。
: 就是在[0,1]中随机取个数,然后开9次方,得到y_10, 然后x_10=1-y_10
: 再在[0,1]中随机取个数,然后开8次方,再乘以y_10,得到y_9,然后x_9=y_10-y_9
: 再在[0,1]中随机取个数,然后开7次方,再乘以y_9,得到y_8,然后x_8=y_9-y_8
: 再在[0,1]中随机取个数,然后开6次方,再乘以y_8,得到y_7,然后x_7=y_8-y_7
: 再在[0,1]中随机取个数,然后开5次方,再乘以y_7,得到y_6,然后x_6=y_7-y_6
: 再在[0,1]中随机取个数,然后开4次方,再乘以y_6,得到y_5,然后x_5=y_6-y_5

l*******s
发帖数: 7316
100
100万组很难出现0.99以上的, 能出1个0.8以上的就算运气好了。

【在 t******g 的大作中提到】
: 老兄,我不是要找十个数加起来是1,那求和然后归一就好了。但这样生成的十个数是
: 有bias的,很多情况是遍历不到的。
: 我要的一个算法能大量生成这十个数,例如生成100万组十个数,并且尽可能均匀遍历
: 整个空间。我也并不是一定要一个0.99,其他所有数加起来0.1,只是举个例子,很多
: 可能性组合是很难遍历到的。

相关主题
作为路人,我为什么认为孙维是凶手(或重要帮凶)我操,小86的那个题,你们能不能不要胡证啊?
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)周易的核心价值是看风水?
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)复旦大学数学情诗网上走红 意料之外的浪漫
进入Military版参与讨论
s****b
发帖数: 2039
101
哦,原来是这样子,是要把产生的数作为权重。

sample

【在 t******g 的大作中提到】
: 我可能问得抽象了点,具体问题是有一个投资组合,假设我知道了每种产品的权重,就
: 可以算出来整个组合的risk和return. 这样我就希望sample各种组合找出最优的risk
: return的frontier。
: 问题是计算risk和return没有close form,所以我能想到的只能是sample10000遍,一
: 个个组合去算。但问题是假如最优组合是一个股票权重0.99,那这样的组合根本sample
: 不出来。组合内产品越多越难找出来。
:
: 乎和

s****b
发帖数: 2039
102
知道了。虽然我还不是完全明白整个用途,但是我觉得既然目的是尽可能均匀遍历空间
,为啥干脆不用随机数组,直接用在空间里平均预定的数值就行了么,然后各维变量的权
重排列组合一下。边界条件需要着重分析的,就在边界附近多取几个数值。就是基本上
接近统计中的stratified+systematic sampling的方式。

【在 t******g 的大作中提到】
: 老兄,我不是要找十个数加起来是1,那求和然后归一就好了。但这样生成的十个数是
: 有bias的,很多情况是遍历不到的。
: 我要的一个算法能大量生成这十个数,例如生成100万组十个数,并且尽可能均匀遍历
: 整个空间。我也并不是一定要一个0.99,其他所有数加起来0.1,只是举个例子,很多
: 可能性组合是很难遍历到的。

s********l
发帖数: 439
103
靠,你应该早点把具体的问题说出来。你这样子当然要sample一个simplex(中文叫单
纯形)上面的均匀分布,具体做法前面已经给了,或者用N个i.i.d 指数分布做
rescaling,或者就是N-1个均匀分布排序做[0 1]之间的等分点。
你sample 10000个当然是看不到这种1个0.99,其他9个都特别小的情况的。要知道维数
越高,单纯形的一个角占总体积的比例越小。如果是10个的话这种正好在单纯形一个角
上的概率大概是10^-18这个量级。
另外return和投资组合之间总应该有一点连续性的。随机取一个点然后用BiCG或者BFGS
之类的方法去找这个点周围的局部最优。多选几个随机的出发点,找到整体最优不会太
困难,至少比你这种在高维空间做穷举法简单太多了。

sample

【在 t******g 的大作中提到】
: 我可能问得抽象了点,具体问题是有一个投资组合,假设我知道了每种产品的权重,就
: 可以算出来整个组合的risk和return. 这样我就希望sample各种组合找出最优的risk
: return的frontier。
: 问题是计算risk和return没有close form,所以我能想到的只能是sample10000遍,一
: 个个组合去算。但问题是假如最优组合是一个股票权重0.99,那这样的组合根本sample
: 不出来。组合内产品越多越难找出来。
:
: 乎和

t******g
发帖数: 4044
104
其实当变量数量增加,已经不是某些区域扫不到的问题,而是扫来扫去都只扫某些特定
区域。我试过对随机数去对数再求负,基本上就是假设每个变量都是exponential
distribution,会好一些,能扫到0.6,0.7了

【在 Q***5 的大作中提到】
: 当维数大时,不管怎么随机取样,都会有某些区域没被扫到。就算能找到办法,能以较
: 大概率扫到某个权重>0.99,这也不能说明”所有可能“都扫到了。恰恰相反,人为增
: 加在 corner 附近的概率密度必然是以牺牲其他地方的密度为条件的,只不过“其他地
: 方”不象corner这么好描述罢了。
: 当然,作为理论问题倒是有点意思。 你对上海老姜和俺建议的,先求N次方,再归一的
: 办法怎么看?
:
: 0.

s****b
发帖数: 2039
105
random虽然好,但是需要遍历的时候,用systematic可能更合适吧(这里借用一下统计
术语
)。

【在 t******g 的大作中提到】
: 老兄,我不是要找十个数加起来是1,那求和然后归一就好了。但这样生成的十个数是
: 有bias的,很多情况是遍历不到的。
: 我要的一个算法能大量生成这十个数,例如生成100万组十个数,并且尽可能均匀遍历
: 整个空间。我也并不是一定要一个0.99,其他所有数加起来0.1,只是举个例子,很多
: 可能性组合是很难遍历到的。

t******g
发帖数: 4044
106
如果要遍历的话算法怎么做,复杂度是多少?
例如,十个股票,每种股票只能取整数的百分比,1%,2%,3%...,问一共有多少种组
合方式?如何穷举出来?

【在 s****b 的大作中提到】
: random虽然好,但是需要遍历的时候,用systematic可能更合适吧(这里借用一下统计
: 术语
: )。

s********l
发帖数: 439
107
你不是数学出身的吧?
最优化问题需要用穷举法去遍历的,我真的第一次见到。而且还是return对portfolio
这种连续性应该是非常好的函数。。。。。。

【在 t******g 的大作中提到】
: 如果要遍历的话算法怎么做,复杂度是多少?
: 例如,十个股票,每种股票只能取整数的百分比,1%,2%,3%...,问一共有多少种组
: 合方式?如何穷举出来?

l*******s
发帖数: 7316
108
choose 9 out of 109
109!/100!/9!

【在 t******g 的大作中提到】
: 如果要遍历的话算法怎么做,复杂度是多少?
: 例如,十个股票,每种股票只能取整数的百分比,1%,2%,3%...,问一共有多少种组
: 合方式?如何穷举出来?

s********l
发帖数: 439
109
你这人很有意思,水平差,又特别热心。。。。。。
10的10次方是一千万?你再算算?。。。。

【在 s****b 的大作中提到】
: random虽然好,但是需要遍历的时候,用systematic可能更合适吧(这里借用一下统计
: 术语
: )。

s****b
发帖数: 2039
110
楼主,俺忽然怀疑您是不是就是在家自己玩股票想模以一下吧,不像是职业分析 :):)

【在 t******g 的大作中提到】
: 如果要遍历的话算法怎么做,复杂度是多少?
: 例如,十个股票,每种股票只能取整数的百分比,1%,2%,3%...,问一共有多少种组
: 合方式?如何穷举出来?

相关主题
复旦大学数学情诗网上走红 意料之外的浪漫三哥得火星探测器什么状况了?
犹太人是不是数学不太行我设计了一个球面围棋
俯视一下数学大牛集体照 (转载)河北死亡人数统计
进入Military版参与讨论
T****t
发帖数: 11162
111
九个随机, 最后一个用1去减
l*******s
发帖数: 7316
112
4.26E12

【在 t******g 的大作中提到】
: 如果要遍历的话算法怎么做,复杂度是多少?
: 例如,十个股票,每种股票只能取整数的百分比,1%,2%,3%...,问一共有多少种组
: 合方式?如何穷举出来?

s****b
发帖数: 2039
113
哦,是100亿。

【在 s********l 的大作中提到】
: 你这人很有意思,水平差,又特别热心。。。。。。
: 10的10次方是一千万?你再算算?。。。。

l*******s
发帖数: 7316
114
不是10^10,
是choose 9 out of 19
=19!/10!/9!=92378

【在 s****b 的大作中提到】
: 哦,是100亿。
t******g
发帖数: 4044
115
明显不是呀,有constraint的,要十个权重加起来得1呀。怎么做穷举?

【在 s****b 的大作中提到】
: 哦,是100亿。
s****b
发帖数: 2039
116
对对我的计算是有问题,想都没想就给答案了
不过说我水平差,恐怕没有根据吧?

【在 s********l 的大作中提到】
: 你这人很有意思,水平差,又特别热心。。。。。。
: 10的10次方是一千万?你再算算?。。。。

s****b
发帖数: 2039
117
yes, yes, I made a mistake, I too quick to answered your question.

【在 t******g 的大作中提到】
: 明显不是呀,有constraint的,要十个权重加起来得1呀。怎么做穷举?
t******g
发帖数: 4044
118
你这怎么算的?如何保证十个数加起来是1的?

【在 l*******s 的大作中提到】
: 不是10^10,
: 是choose 9 out of 19
: =19!/10!/9!=92378

s****b
发帖数: 2039
119
I am sorry, I forgot it has to be 1 total. :(:(

【在 l*******s 的大作中提到】
: 不是10^10,
: 是choose 9 out of 19
: =19!/10!/9!=92378

T****t
发帖数: 11162
120
产生10个随机数,然后归一化吧。
就是每个随机数除以总和。
最后一个去减前面的和。
相关主题
最简单的智慧最糟糕的结果还是发生了
中美手机网络覆盖其实差不多,区别在于索南去的地方不同你搞大车去救虽然elegant
唐韦星 辜梓豪 22届世界三...太监肯定跪舔皇上
进入Military版参与讨论
l*******s
发帖数: 7316
121
把每个数先乘以10,
这样就有10个0到10之间的整数,加起来等于10,
在把没个数加1, 就有10个1到11直间的整数,加起来等于20.
把20写成1+1+1+。。。+1, 20个1由19个加号连起来。
在这19个加号中选9个圈起来,把其9个9个圈起来的加号分开的10段表达式的值求出来,
就得到一种由10个1到11直间的整数加起来等于20。

【在 t******g 的大作中提到】
: 你这怎么算的?如何保证十个数加起来是1的?
n*******r
发帖数: 2010
122
stbmit已经讲了, 你明明看到一个正方体的塑料块,你非要跑过来和大家讲“菌斑大
神们帮我建模一个球体3d打印模型, 这个球体的体积必须是直径的三次方“。 然后菌
斑一群半吊子吭哧吭哧帮你画。
你必需把前面的十个随机分布数这个条件去掉就好了。 你不就是想遍历吗? 太简单了
, 前面有人给出答案了, 就是第一个数n1在[0,1]随机取一下, 第二个数n2在[0, 1-
n1]随机取一下, 第三个数n3在[0, 1-n1-n2]随机取一下, 依此次类推随机取到n9.
最后n1到n10再排列组合一下.
不过十维空间,你要有你家机器硬盘爆掉的可能。

sample

【在 t******g 的大作中提到】
: 我可能问得抽象了点,具体问题是有一个投资组合,假设我知道了每种产品的权重,就
: 可以算出来整个组合的risk和return. 这样我就希望sample各种组合找出最优的risk
: return的frontier。
: 问题是计算risk和return没有close form,所以我能想到的只能是sample10000遍,一
: 个个组合去算。但问题是假如最优组合是一个股票权重0.99,那这样的组合根本sample
: 不出来。组合内产品越多越难找出来。
:
: 乎和

n*******r
发帖数: 2010
123
三维空间的simulation, 你大概要跑1million次才显得有诚意。10维的你要多少硬盘
, 你可以估计一下。

【在 n*******r 的大作中提到】
: stbmit已经讲了, 你明明看到一个正方体的塑料块,你非要跑过来和大家讲“菌斑大
: 神们帮我建模一个球体3d打印模型, 这个球体的体积必须是直径的三次方“。 然后菌
: 斑一群半吊子吭哧吭哧帮你画。
: 你必需把前面的十个随机分布数这个条件去掉就好了。 你不就是想遍历吗? 太简单了
: , 前面有人给出答案了, 就是第一个数n1在[0,1]随机取一下, 第二个数n2在[0, 1-
: n1]随机取一下, 第三个数n3在[0, 1-n1-n2]随机取一下, 依此次类推随机取到n9.
: 最后n1到n10再排列组合一下.
: 不过十维空间,你要有你家机器硬盘爆掉的可能。
:
: sample

l*******s
发帖数: 7316
124
再回复一次LZ。
这里有很多人一知半解,还喜欢忽悠。
按LZ的原贴要求,LZ的方法应该是统计界普遍采用的方法。本人是门外汉,只从网上能
找到的资料为依据。
LZ要的分布其实是Dirichlet分布的一个所有参数都为1的特例。
https://en.wikipedia.org/wiki/Dirichlet_distribution#Random_number_
generation
在wiki上给出的Dirichlet的采样方法,就是产生n各不相干的随机数,然后归一。
下面这个网页也采用相同的方法。
http://stats.stackexchange.com/questions/69210/drawing-from-dir
我在91楼给出了一个不需归一的方法,(97楼有实施步骤),其实效果跟LZ的方法是一
样的。
但是随机抽样的方法不能满足LZ的应用要求。101楼提出的每个变量取离散值,然后遍
历的方法比较能满足LZ的应用要求。
如果每个变量只{0, 0.1,0.2,...0.9,1.0}等11个值,则满足要求的样本数为92378。
113楼有公式,120楼有解释。
如果觉得不够精确,在得到的最优解附近再细化。
最后提醒LZ,有问题找买卖提唯一的学术版。

是0

【在 t******g 的大作中提到】
: 要产生十个0到1随机数加一起是1
: 我现在用的办法是分别十个随机数求和,再分别把每个随机数除以和重新scaling
: 这样的问题是每个随机数都很难到达边界附近,例如一个数是0.99,其他9个数的和是0
: .01,这种情况很难产生,请问有什么好办法?多谢了

d*********u
发帖数: 2952
125

不是这么回事吧? 10个完全独立 加起来还是1,这零难度阿。
(n1...n10)
另 nx为其中最小, ny为其中最大 (n1-nx*a)/b*(ny-nx)
存在 a b 使得 sigma(ni-nx*a) =1

【在 m**********e 的大作中提到】
: 我尻!
: 你们这帮文科屁民这数学功底之差,太令人震惊了
: 10个随机数,n1, n2, n3,...n10,满足n1+n2+...+n10=1,这说明这
: 里面只有9个是完全独立的,
: 所以你产生9个随机数,第十个按照1-n1-n2-,.,n9产生,不就完了?
: 妈的,蠢透了,连什么是独立随机变量都不懂

1 (共1页)
进入Military版参与讨论
相关主题
你搞大车去救虽然elegant周易的核心价值是看风水?
太监肯定跪舔皇上复旦大学数学情诗网上走红 意料之外的浪漫
感情不止china教授灌水。。。犹太人是不是数学不太行
[转]用数据说话,看Google 怎样被陷害俯视一下数学大牛集体照 (转载)
作为路人,我为什么认为孙维是凶手(或重要帮凶)三哥得火星探测器什么状况了?
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)我设计了一个球面围棋
作为路人,我为什么认为孙维是凶手(或重要帮凶) (转载)河北死亡人数统计
我操,小86的那个题,你们能不能不要胡证啊?最简单的智慧
相关话题的讨论汇总
话题: 随机数话题: 10话题: random话题: 分布话题: 个数