查看原文
其他

Python|用随机数进行精准扶贫与征税模拟可视化

陈鸥辉 信息科技时代 2024-03-15

Python|随机模拟财富流向的可视化编程

Python|如果只给部分人发钱会如何?

    先哲们早就造就了一套压平贫富差距的机制:给穷人扶贫,给富人征税。那么今天我就来模拟一下为什么要这么做,这样做在随机数模型中会产生怎样的效果?

import randomfrom pyecharts import Lines = [100 for i in range(100)] # 一开始人手100元t=[[],[],[],[],[],[],[],[]]for i in range(200000): # 执行20万次 for id in range(8): t[id].append(s[id]) for j in range(100): # 模拟100个人每次随机给别人一块钱 x = random.randint(0, 99) # 可以随机给任何一个人        if(s[j]>0):#扶贫,没钱的发一块 s[j] -= 1 # 假设第j个人随机给别人一块钱 s[x] += 1 # 第j个人的一块钱钱给第x个人        if(s[x]>1000): s[x]-=0.5#总财富超过1000,每收入1元征税50%attr = [i+1 for i in range(200000)]line = Line("模拟100人随机给他人一元二十万次的效果", "财富值变化")for id in range(8): xid=id+1 line.add("第"+str(xid)+"个人", attr, t[id])line.render()

    上图为前8人财富在经历20万次交易加扶贫与收税下的效果。对比一下下图中不收税,不扶贫的数据,贫富差距压平了一半以上,从财富曲线来看,数据相对平稳,但是仍然可以看到逆袭现象,虽然只呈现了前8人的财富变化,但是外部条件对个体数据的影响产生了明显的影响效果,当然数据并没有破坏正太分布。

    税收+扶贫的正太分布图:

    尝试了我想到的几种模式,让我不得不感叹数形之奇妙之处。“风可以吹起一大张白纸,却无法吹走一只蝴蝶,因为生命的力量在于不顺从。”对于人类来说,近几百年来在科技上的探索正在将谜底一个个地揭开,让所有人看到了无限的可能性。

    最后,由于电脑性能限制,放一个50个人随机2万次不加任何干预的效果图,可以看出其中少数数据出现恒富、恒穷趋势,大部分都是挤在中间波动。而从方差定义来看:方差越小数据越稳定,其中“劫富济贫”未尝不是保证数据稳定的一种简单方法。

    根据原始数据我进行了一次方差与标准差的数据计算:

数据的(最大值-最小值)没有明显接近的绝对规律,可以参考《Python|随机模拟财富流向的可视化编程》图表,同样的运行次数(最大值-最小值)差值约200左右。我再次运行查看方差与标准差,与之前的数据也有明显的差别,虽然随机次数可能导致数据离散趋势扩大,但是同样的随机次数的数据规律我还没有弄明白,以下为我两次随机二十万次的运行结果。

可视化系列:Python|如果只给部分人发钱会如何?
Python|随机模拟财富流向的可视化编程Python|国家统计局人口数据动态图表可视化Python|国家统计局CPI数据动态图表可视化Python|国家统计局居民人均收入数据动态图表可视化Python|爬取淘宝热卖商品并对数据进行柱形图可视化python的pyecharts绘制各种图表详细(代码)Python绘制六种可视化图表详解,三维图最炫酷!Python|绘制个性化数据的动态图表及解决中文显示问题……Python|绘制动态图表的问题的解决过程看完这篇文章,我彻底爱上了Python动态图表!

Python编程案例|词频云图

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存