蒙特卡洛方法模拟社会财富分配

本文利用蒙特卡洛方法探讨三种社会财富分配模型:可借贷、努力人生与叠加智商模型。实验结果显示,财富逐渐形成二八定律,努力与智商对成功有显著影响。阶层分布接近正态,且K-S检验支持这一结论。模型揭示了复杂社会现象背后的简单规律。
摘要由CSDN通过智能技术生成

一、实验内容

1.可借贷模型

100个人,每个人有100元钱,每一次财富分配需要每个人拿出1元钱随机分配给其他人,允许当某人手里没钱时向系统外的人,假设为亲戚等进行借贷,即允许财富值为负,进行17000次循环执行,模拟一个人18-65岁的财富积累。

2.努力人生模型

100个人,每个人有100元钱,每一次财富分配需要每个人拿出1元钱随机分配给其他人,允许当某人手里没钱时向系统外的人,假设为亲戚等进行借贷,即允许财富值为负,进行17000次循环执行,模拟一个人18-65岁的财富积累。
其中10个人通过努力取得了1%的竞争优势,通过调整分配概率进行实现。

3.叠加智商模型

100个人,每个人有100元钱,每一次财富分配需要每个人拿出1元钱随机分配给其他人,允许当某人手里没钱时向系统外的人,假设为亲戚等进行借贷,即允许财富值为负,进行17000次循环执行,模拟一个人18-65岁的财富积累。
假设10个人的竞争优势和为10%,10个人努力程度相同,为10个人设定不同的智商,根据智商分配竞争优势。
智商分布采用韦氏智商测量,均值100,标准差为15。
模型:竞争优势=努力程度*智商

二、python代码

1.可借贷模型

def Simulate(k,p=[1/100 for x in range(100)]):#k:循环次数,p财富分配概率
    wealth_s=DataFrame([100 for _ in range(100)]).T
    wealth=wealth_s
    for x in range(k):
        wealth=wealth-1
        rands=np.random.choice(100,size=100,p=p)
        for rand in rands:
            wealth[rand]=wealth[rand]+1
        wealth_s=pd.concat([wealth_s,wealth])
    return wealth_s
result=Simulate(17000)
result.to_csv("财富分配结果-可借贷.csv")

2.努力人生模型

#努力者id=[0-9]
#竞争优势:1%
def AdjustPbyHardwork():
    wealth_s=DataFrame([
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值