分钱问题

Posted on Wed 09 August 2017 in ProbStat

设总钱数为$M$,总人数为$N$,第$i$个人的钱数为$m_i$。

我们需要随机抽满足以下约束的格点$(m_1,\ldots, m_N)$: $$\sum_{i=1}^N m_i = M, m_i\ge 0$$

$m_i$为第$i$个人的钱数,

  • 求第$i$个人的钱数$m_i$取值的概率分布
  • 求对某固定钱数$m$,抽到这个钱数的人的数量$n_m=\sum (m_i = m)$

每个人的钱数分布

首先,定义归一化钱数$x_i=m_i/M$。如果我们取极限近似,假设钱数足够大即$M\gg n$,那么$x_i …


Continue reading

又双叒叕——汉字的堆叠

Posted on Tue 16 May 2017 in ProbStat

你可能会有这样的问题:类似“又双叒叕”这样子的汉字有多少?本文就是对此问题的分析。

数据来源

原始数据来源于参考维基百科条目二叠字三叠字四叠字

格式化后的的数据,参见源文件

本页面含有Unihan新版用字。有关字符可能会错误显示,详见Unicode扩展汉字。

数据分析

使用pandas进行数据表连接查询,可以找到同时具有多种叠字的字。

In [1]:
import pandas as pd
from functools import reduce
In [2]:
data=[pd.read_table('%d.txt'%i) for i in range(2, 5)]
In [3]:
def merge_out(x …

Continue reading

对换钱悖论的贝叶斯分析

Posted on Tue 04 April 2017 in ProbStat

问题的提出

现在邀请你和一位路人甲来做一个游戏:我拿出两个信封分别递给你们,并告诉你 们一个装着的钱是另一个的两倍(但不知道哪个多哪个少)。你们有一次互相交换 的机会,想交换吗?然后打开信封,看一下自己拿到的钱数(但不要让对方知道),现在还想交换吗?

——引自0x01.me

这段话似乎可以引出一个悖论:

换钱后,有一半的概率钱变成原来的两倍,一半概率钱减少到原来的一半,因此期望收益是大于零的。然而另一方面,两份钱显然是对称的,因此不可能总是由换钱带来收益。

下面我们用贝叶斯来分析这个悖论。

贝叶斯分析

假设发钱时,钱少的那个钱数取$y$的先验分布为$\rho(y)$。设某人抽到了钱数是$x$,则此时$y$的取值可以是$x$或者$x/2$。

参数$y$下$x$的分布是 $$p …


Continue reading