社会财富分配问题模拟(蒙特卡洛思想)

本文通过蒙特卡洛模拟方法探讨财富分配问题。在初始模型中,每人100元,每日随机分配,结果显示最富有人财富翻了3.60倍,10%的人掌握0.284的财富。允许借贷后,最富有人财富翻了4.43倍,10%的人掌握0.311的财富,50%的人财富缩水至100元以下。研究发现,尽管存在逆袭机会,但难度较大,财富离散程度随游戏进行增加。当10人额外努力并获得竞争优势后,多人进入富人行列,表明努力可能改变财富地位。
摘要由CSDN通过智能技术生成
  1. 财富分配模型
    模型假设:
    ① 每个人初始基金100元
    ② 从18岁到65岁,每天玩一次,简化运算按照一共玩17000轮
    ③ 每天拿出一元钱,并且随机分配给另一个人
    ④ 当某人的财富值降到0元时,他在该轮无需拿出1元钱给别人,但仍然有机会得到别人给出的钱

构建财富分配模型

fortune = pd.DataFrame([100 for i in range(1,101)],index = person_n)
def game1(data,roundi):
    for i in range(0,roundi):
        round_i = pd.DataFrame({'pre_fortune':fortune[i],'lost':0})
        con = round_i['pre_fortune'] > 0
        round_i['lost'][con] = 1
        players = pd.Series(np.random.choice(person_n,len(round_i[round_i['lost'] == 1])))
        gain_i = pd.DataFrame({'gain': players.value_counts()})
        round_i = round_i.join(gain_i).fillna(0)
        data[i+1] = round_i['pre_fortune'] - round_i['lost'] + round_i['gain']
    return data

start = time.time()
data1 = game1(fortune,17000)
end &
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值