當前位置:
首頁 > 知識 > 數據分析-殘酷的世界

數據分析-殘酷的世界


概要

最近讀了比爾蓋茨的夏日書單中的薦書《鄉下人的悲歌》,

數據分析-殘酷的世界

書中描述了貧窮、毒品和一系列陋習,像遺傳病一樣,困擾著一代又一代的美國底層人民,使得他們生活艱辛,充滿了各種不幸,並且很難向更高的階層遊動。

另一個是聽到網易蝸牛讀書的有聲讀物《如果不能改變階層,我們努力是為了什麼?》中,北京高考狀元對於階層固化的言論。

這些都讓我產生了深深的焦慮,碰巧這時在知乎看到一個熱議的遊戲,《房間內 100 個人,每人有 100 塊,每分鐘隨機給另一個人 1 塊,最後這個房間內的財富分布是怎樣的?》,來模擬社會財富分配。我覺得很有意思,不妨就來玩一下。

我初始了100個遊戲玩家。從18歲開始,這100個人帶著自己的財富,開始各自的人生旅程。每個人每天要隨機地找到另一個人,給他一筆錢。到65歲退休時,看看大家的資產情況。

為了增加遊戲的可玩性,讓每個觀眾都能在其中找到自己的位置,我設計了四種角色:

  • 普通人

  • 富二代

  • 努力的人

  • 有錢又努力的人

觀眾還自己可以調整一些參數,以模擬他所認為的這個世界。這些參數包括:

  • 各角色所佔的比例

  • 各角色的初始財富

  • 各角色每輪遊戲相對普通人的收支係數

  • 每輪遊戲要給別人的錢數

  • 是否允許負資產

設計

主要的變數及其類型:

  1. 玩家年齡,時間維度

  2. 玩家的財富值,定量變數

  3. 玩家財富的標準差,定量變數

因為這個遊戲的結果最終是要通過對比的形式進行解讀,比如不同角色的玩家的財富值對比,某一特定角色的玩家在不同特定階層的佔比多少等等。而對人的視覺處理系統而言,更善於量化刻度上的位置差異,所以我選擇在坐標軸上進行可視化。

主要變數的可視化形式

其中,玩家的年齡是時間維度,我用動畫的形式逐年遞增,來看另外兩個變數如何隨著年齡的增長而變化。

這裡有100個玩家,我們要看每一年不同玩家間財富的對比,所以我用條形圖來展示玩家的財富值。X軸是玩家的索引,Y軸是玩家的的財富值。

因為每年都會計算出一個標準差,所以它是一個時序數據,我用折線圖,來查看它的走勢。X軸是時間,Y軸是玩家財富的標準差。

可視化要傳達的主要觀點

通過這個可視化,我們簡單地模擬了在一個封閉環境中,人群的財富分配。

這個封閉環境中有100個遊戲玩家,從18歲開始,每人帶著100塊錢,開始各自的人生旅程。每個人每天要隨機地找到另一個人,給他1塊錢,可以理解為每天的生活成本。

如果不允許負債,那麼玩家資產變為0時,就不用給錢,但是可以收錢,可以理解為社會基本保障吧。

到65歲退休時,看看大家的資產情況。

Round One:100個普通人,不允許負債

遊戲一開始,我放了100個普通人。

數據分析-殘酷的世界

我們可以看到,30歲之前,人與人之間的差距已經完全拉開了。到65歲退休時,有一半的人資產縮水到100以下,有6個人的資產已經翻倍。最富有的人的資產接近初始值的4倍。

Round Two:100個普通人,允許負債

如果允許負債,會不會讓情況變得更好呢?

數據分析-殘酷的世界

我們可以看到,借債雖然能讓我們在走投無路時多一些周轉餘地,但最終會讓窮人變得更窮。

Round Three:10個富二代,90個普通人

如果加入富二代,情況會是怎樣的呢?富人初始資產500,每天要支付的錢是普通人的2倍,但是獲得收入的幾率也是普通人的2倍。

數據分析-殘酷的世界

我們可以看到,富二代的財富有一部分已經流動到了普通人那裡,但是大部分富二代依然位於財富排名前10%的位置。普通人要有極好的運氣,才能到達與富二代相同的高度。

Round Four:5個努力的普通人,10個富二代,85個普通人

如果我們加入一些努力的普通人,會是怎樣的呢?通過自己的努力,這部分人獲得收入的幾率是是普通人的1.01倍。

數據分析-殘酷的世界

我們看到,努力的普通人僅僅是每天多付出一點點汗水,比普通人多了0.01的獲得收入的幾率,經過時間的發酵,有2個人已經躋身資產排名前10%的位置。另外3個人位於資產排名中上的位置。

富二代中,有1個敗家子已經破產,1個敗家子將要破產,5個敗家子成為了普通人,只有3個守住了財富,依然位於富豪的行列。

有的同學可能覺得不對,富二代中除了敗家子,還有努力的富二代。

Round Five:5個努力的富二代,5個努力的普通人,5個富二代,85個普通人

努力的富二代,每天付出多一點的汗水,獲得收入的幾率是普通人的2.02倍。

數據分析-殘酷的世界

我們可以看到,努力的富二代全部位於資產排名前10%的位置,其中3個不僅守住了財富,而且創下新高。

其它的富二代中,有4個位於資產排名前20%的位置,只有1個掙扎在破產的邊緣。

努力的普通人依然混得還不錯,有1個躋身資產排名前5%,還有3個位於資產排名中上位置。

這個故事告訴我們,這個世界雖然很殘酷,但是努力的人一般運氣還不錯。


用戶們的反饋

可視化反饋

@靖靖:

從這個可視化中注意到的是,富二代基本上穩居上位的,不會掉下來,努力的富二代更是在最前端,從年齡上來看他們享受的是當下的。而普通人也有,也是可以晉陞為頂級的人物,但是他們消耗的時間是非常長的,富二代已經享受完了人生,普通人才能晉陞到頂級,這時看他們的年齡已經65歲,請問還能活多久呢?

在這個可視化中我看到的是一個輪迴,富二代已經享受完了人生,即使最後敗了,也是他的下一代敗了。普通人拼盡一生,即使拼到最頂層,也來不及享受,但是他的子孫會成為富二代。

為什麼最後資產最高的是個普通人?有點想不通?普通人為什麼會成功?覺得數據有問題。

既然是隨機,為什麼會形成這樣的差距呢?

@芒果? ???? 兔:

我調整了上面「每天支付5塊」,但是主界面顯示好像還是1塊。

觀察到的信息是:允許負債的情況下,資產的標準差隨時間逐漸增大;如果不允許負債,貧富不均的情況仍然會出現,但沒有那麼大,標準差會增加,但會趨向於平穩。每天支付的錢越多,標準差越大。

@lemontechmaster:

贊~ 界面炫酷

觀察到的結論:在默認參數下。隨著時間增長,每個人的資產標準差在擴大。但是修改了每天的支付金額後,標準差的變化就一波動,並沒有明顯趨勢。

問題:我點擊更多參數,發現程序對人數百分比並沒有做檢驗,,然後就顯示不太正常了。還有一點是運行時間偏長,開頭有點長,我一會就不記得開始的字幕了。

不明白:雖說標題是殘酷的世界,我以為模擬出來的結果只有富二代等可以生存,但最後顯示普通人和努力的普通人居然資產挺高的。。。

@xujunwei1879

厲害,膜拜。

我不明白的是四種身份的劃分,為什麼每次都不一樣,是每次運行後都隨機按比例重新設定身份嗎? 或許是我不明白你的意圖,我覺得是不是這種身份固定下來比較好?

還一個小小的意見是,面向大眾的話,我想大部分人可能不明白標準差是什麼含義,做個注釋類似於貧富差距是不是更好。

再次膜拜,看了你的我有種絕望的感覺。

反饋問題匯總與修改

1、遊戲運行時間過長,和每次運行結果都不一樣?

因為每次運行都是實實在在地運行了一萬七千多輪 x 100個人,所以快慢跟設備性能也有關係,兩次運行的結果也應該不會相同。

2、大多數人不明白標準差的含義?

是的,我會將 標準差 改成 人跟人之間的財富差距。

3、對不同角色的人數佔比合計超過100%沒有做校驗?

是的,我會添加這個校驗。

4、調整成每天支付5塊,但是主界面顯示好像還是1塊

經過確認發現,用戶是在播放開場字幕的時候調整的,發現字幕的內容沒有變化。

這是因為,參數控制項是設計用來控制遊戲圖表的,對字幕沒有作用。

所以為了避免用戶的困惑,我決定在播放開場字幕的時候,先隱藏掉參數控制項。

5、為什麼普通人會成功?

富人只是初始財富高,按照遊戲規則他們每天收入多,但是支出也同樣多。他們在遊戲的一開始會快速成長,並佔據優勢。

但是因為遊戲充滿了隨機性,普通人在一系列好運的眷顧之下,後期也有逆襲的可能。

我重新看了知乎上的遊戲規則,發現我的規則和原遊戲規則有出入。原遊戲規則是,富人單筆支出多,單比收入和普通人一樣,但是獲得收入的概率比普通人高。我的規則是富人單筆支出多,單比收入也多,但是獲得收入的概率與普通人一樣。可能是這個細微的差異,產生了不同的結果。

我將按照原遊戲的規則,使用帶權重的隨機演算法。

6、每人每天支付1塊錢的這個拖動條是什麼含義?數值是多少?

每輪遊戲需要支付給另一個人的錢數。數值顯示在Slider下面的文字描述中。

7、是否允許負債這個選項,我分別對兩個情況進行了嘗試,最後的圖形中100個人均沒有出現資產為負的情況,請確認一下是否正常工作。

負資產滑塊開關開啟後,會出現負資產的現象,沒有問題。


參考文獻

[1].房間內有 100 人,每人有 100 塊,每分鐘隨機給另一個人 1 塊,最後這個房間內的財富分布怎樣?

[2].Weighted/Biased Random Number Generation with JavaScript based on Probability

作者:Reinhard Hsu

來源:http://www.cnblogs.com/msdyna

可視化作品鏈接地址:http://reinhardhsu.com/game.html



2017優就業就業促進計劃:https://www.ujiuye.com/zt/jycj/?wt.bd=zt36716tt

中公教育「勤工儉學計劃」,給你一個真正0元學習IT的機會!

https://www.ujiuye.com/zt/qgjx/?wt.bd=zt36716tt

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

最簡單實用的JQuery實現banner圖中的text打字動畫效果!
初始原型鏈學習
心理測試:測一測你適合什麼職業

TAG:IT優就業 |