成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如果新冠病毒是在亞美尼亞爆發(fā)會(huì)發(fā)生什么?程序員用Python進(jìn)行模擬

開(kāi)發(fā) 開(kāi)發(fā)工具 后端
在這篇文章中,我們將討論當(dāng)流行病襲擊一個(gè)城市時(shí)會(huì)發(fā)生什么,應(yīng)該立即采取什么措施,以及這對(duì)城市規(guī)劃、政策制定和管理有什么影響。

[[316755]]

大數(shù)據(jù)文摘出品

來(lái)源:towardsdatascience

編譯:大萌、趙吉克、武帥、錢(qián)天培

2019年末,在中國(guó)武漢爆發(fā)的冠狀病毒疫情沖擊了整個(gè)金融市場(chǎng)和實(shí)體經(jīng)濟(jì)。這座總?cè)丝诔^(guò)千萬(wàn),春運(yùn)期間流動(dòng)人口超過(guò)500萬(wàn)的巨型城市的災(zāi)難在世界各地引發(fā)了一連串蝴蝶效應(yīng),也在全球普通民眾中引發(fā)恐慌。

2020年1月30日,2019-nCoV已被世界衛(wèi)生組織列為國(guó)際關(guān)注的突發(fā)公共衛(wèi)生事件(PHEIC)。在撰寫(xiě)本文時(shí),尚未發(fā)現(xiàn)經(jīng)過(guò)醫(yī)學(xué)研究驗(yàn)證的具體治療方法。

此外,一些關(guān)鍵的流行病學(xué)指標(biāo),如基本再生數(shù)(一個(gè)感染者傳染的平均人數(shù),即R0值)仍然未知。當(dāng)今時(shí)代,全球互聯(lián),這類(lèi)流行病更是借勢(shì)成為全球范圍內(nèi)的重大威脅之一。

可以推測(cè),如果2020年全球發(fā)生災(zāi)難性事件(大致定義為導(dǎo)致不少于1億人傷亡的事件),最有可能的原因恰恰是某種流行病——而不是核災(zāi)難,也不是氣候?yàn)?zāi)難,等等。全球范圍內(nèi)的快速城市化進(jìn)一步加劇了這一問(wèn)題,人口密集且頻繁流動(dòng)的城市儼然變成了疾病擴(kuò)散網(wǎng)絡(luò)的傳播節(jié)點(diǎn),使得防疫系統(tǒng)變得極為脆弱。

武漢的這場(chǎng)災(zāi)難也引發(fā)了全球?qū)τ诔鞘幸?guī)劃和防疫政策的思考。如果疾病不是在武漢,而是在另一座人口規(guī)模更小、人口流動(dòng)也更弱的城市,它的傳染性和感染人數(shù),又會(huì)是怎樣的故事?

在這篇文章中,我們將討論當(dāng)流行病襲擊一個(gè)城市時(shí)會(huì)發(fā)生什么,應(yīng)該立即采取什么措施,以及這對(duì)城市規(guī)劃、政策制定和管理有什么影響。

我們將以亞美尼亞首都,一個(gè)人口剛過(guò)百萬(wàn)、以鋼鐵和葡萄酒著名的城市埃里溫市為例進(jìn)行研究,建立數(shù)學(xué)模型并模擬冠狀病毒在該市的傳播,研究城市流動(dòng)模式如何影響疾病的傳播。

城市流動(dòng)性

有效、高效和可持續(xù)的城市流動(dòng)性對(duì)現(xiàn)代城市的運(yùn)作至關(guān)重要。它已經(jīng)被證明會(huì)直接影響城市的宜居性和經(jīng)濟(jì)產(chǎn)出(GDP)。然而,一旦發(fā)生疫情,它就會(huì)火上澆油,擴(kuò)大疾病的傳播。

那么,讓我們先來(lái)看看埃里溫市在一個(gè)平面坐標(biāo)系上的聚合OD流動(dòng)網(wǎng)絡(luò)(Origin-Destination),以了解城市流動(dòng)模式的空間結(jié)構(gòu):

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

接著,如果我們觀察網(wǎng)格的總流入量,我們會(huì)看到或多或少的單中心空間組織,其中一些網(wǎng)格的日流入量較高但位于中心之外:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

現(xiàn)在,假設(shè)一種流行病在城市的任意地點(diǎn)爆發(fā)。它將如何傳播?我們能做些什么來(lái)控制它?

流行病學(xué)建模

為了回答這些問(wèn)題,我們將建立一個(gè)簡(jiǎn)單的房室模型來(lái)模擬傳染病在城市中的傳播。

當(dāng)一種流行病爆發(fā)時(shí),其傳播動(dòng)力會(huì)有顯著變化,這取決于最初感染的地理位置及其與城市其他地區(qū)的連接性。這是最近關(guān)于城市人口流行病的數(shù)據(jù)驅(qū)動(dòng)研究得出的最重要見(jiàn)解之一。然而,正如我們將在下文進(jìn)一步看到的,各種結(jié)果都要求采取類(lèi)似的措施來(lái)控制疫情,并在規(guī)劃和管理城市時(shí)考慮到這種可能性。

注:compartmental model,房室模型,也稱(chēng)SIR模型,是一種簡(jiǎn)化的傳染病數(shù)學(xué)模型。

由于我們的目標(biāo)是展示城市流行病傳播的一般原理,而不是建立一個(gè)實(shí)時(shí)的精確模型,我將參考《自然》雜志的一篇文章,通過(guò)簡(jiǎn)單地修改經(jīng)典SIR模型即可滿(mǎn)足我們的需求。

相關(guān)鏈接:https://www.nature.com/articles/s41467-017-02064-4

這個(gè)模型把人口分成三部分。在時(shí)間t的每個(gè)位置i,其三個(gè)房室如下:

  • Si,t:尚未感染或易感的人數(shù);
  • Ii,t:感染疾病并有能力將疾病傳播給易感人群的人數(shù);
  • Ri,t:由于康復(fù)或者死亡,在被感染后從受感染組中移除的人數(shù)。這個(gè)群體中的個(gè)體沒(méi)有能力再次感染該疾病或?qū)⒏腥静魅窘o他人。

在我們的模擬中,時(shí)間將是一個(gè)離散變量,因?yàn)橄到y(tǒng)的狀態(tài)是以日為單位進(jìn)行建模的。在t時(shí)刻j點(diǎn)的完全易感人群中,感染病出現(xiàn)的概率為:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

βt是t時(shí)刻的傳輸率; mj,k是從k地到j(luò)地的流動(dòng)性, xk,t 和yk,t 代表t時(shí)刻k地和j地的感染和易感人群數(shù),其中xk,t = Ik,t / Nk,yj,t = Sj,t / Nj,Nk和Nj代表k地和j地的人口總數(shù)。然后,我們繼續(xù)模擬一個(gè)隨機(jī)過(guò)程,將這種疾病引入完全易感人群所在的地區(qū),其中Ij,t+1 是概率為h(t,j)的伯努利隨機(jī)變量。

一旦感染在隨機(jī)地點(diǎn)出現(xiàn),疾病不僅會(huì)在該地點(diǎn)傳播,還會(huì)通過(guò)攜帶者傳播到他處。這就是以O(shè)D流矩陣為特征的城市流動(dòng)模式發(fā)揮關(guān)鍵作用的地方。

此外,為了確定疾病是如何通過(guò)感染者傳播的,我們需要考慮其R0值。此處,其中y表示的是治愈率,也可以認(rèn)為是二次感染率。在撰寫(xiě)本文時(shí),新型冠狀病毒的基本再生數(shù)估計(jì)值在1.4到4之間。凡事做最壞的準(zhǔn)備,因此我們假設(shè)R0值為4。需要注意的是,R0值是一個(gè)有期望值的隨機(jī)變量。為了讓事情更有趣一點(diǎn),我們?cè)诿總€(gè)地區(qū)采用不同的R0值進(jìn)行模擬,其中R0值服從均值為4的伽瑪分布:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

現(xiàn)在我們來(lái)討論所建立的模型:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

βk,t是t時(shí)刻k地的轉(zhuǎn)移率,α是刻畫(huà)出行方式傾向的參數(shù)。

上述的模型十分簡(jiǎn)潔:為了求得t + 1時(shí)刻的j地的尚未感染或易感的人數(shù),我們需要從t時(shí)刻的j地的尚未感染或易感的人數(shù)中減去j地本地感染的人數(shù)(第一個(gè)方程的第二部分),還要減去從其他地方來(lái)到j(luò)地的感染者數(shù),這些外來(lái)的感染者通過(guò)其傳輸率進(jìn)行加權(quán)計(jì)算(第一個(gè)方程的第三部分)。由于總?cè)丝跀?shù)Nj = Sj + Ij + Rj,我們需要將減去的部分移至感染組,同時(shí)將治愈的部分移至Rj,t+1(第二個(gè)和第三個(gè)方程)。

仿真建立

在此分析中,我們將使用由當(dāng)?shù)毓渤斯緂g提供的GPS數(shù)據(jù)獲得的一個(gè)典型日的總OD流量矩陣作為埃里溫市交通模式的代表。

接下來(lái),我們需要每個(gè)250×250m網(wǎng)格單元的人口計(jì)數(shù),通過(guò)按比例縮放提取的流量計(jì)數(shù)來(lái)近似計(jì)算,從而使不同位置的總流入量之和接近埃里溫市110萬(wàn)人口的一半。這是一個(gè)大膽的假設(shè),但對(duì)結(jié)果影響不大。

減少公共交通?

第一次模擬,我們將模擬背景設(shè)定為一個(gè)高度依賴(lài)公共交通的未來(lái)城市,設(shè)定流動(dòng)率α=0.9:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

可以看到,經(jīng)過(guò)大約8-10天左右的時(shí)間感染人數(shù)比例迅速增加至70%,達(dá)到峰值,但此時(shí)僅有小部分(約10%)的人康復(fù)。至100天時(shí),疫情逐漸緩解,康復(fù)人數(shù)比例達(dá)到了驚人的90%!現(xiàn)在,我們?cè)賮?lái)看一下如果將公共交通強(qiáng)度α降低至0.2時(shí),是否有利于緩解傳染病的傳播。這可以解釋為采取嚴(yán)厲措施來(lái)降低城市流動(dòng)性(例如實(shí)施宵禁),或者增加私家車(chē)出行比例,以減少人們出行期間感染的機(jī)率。

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

可以發(fā)現(xiàn)在這種假設(shè)下,疫情在16至20天左右到達(dá)頂峰,峰值感染人數(shù)比例明顯降低(約45%),并且此時(shí)康復(fù)人數(shù)為之前的兩倍(約20%)。在疫情結(jié)行將結(jié)束時(shí),易感染人群比例也是之前的兩倍(約24% vs. 約12%),這意味著更多的人躲過(guò)了這場(chǎng)疫情。正如人們所期望的,通過(guò)實(shí)施嚴(yán)厲的管控措施來(lái)臨時(shí)降低城市的流動(dòng)性對(duì)于減少傳染病傳播有明顯作用。

隔離熱門(mén)區(qū)域?

接著,再來(lái)看另一個(gè)直觀想法——隔離一些關(guān)鍵區(qū)域能否得到預(yù)期的效果。為了測(cè)試這一想法,先挑選人流量位于前1%的區(qū)域:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

接著完全限制這些區(qū)域的進(jìn)出,建立有效的隔離制度。從這張圖我們可以看出,在埃里溫市這些位置主要位于市中心,另兩個(gè)位置是兩家最大的購(gòu)物商場(chǎng)。將α取中間值,即0.5,我們得到如下結(jié)果:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

感染人數(shù)比例的峰值更小了(約35%),并且更重要的是,在疫情行將結(jié)束時(shí),大約一半的人未被感染,說(shuō)明該種方法能夠幫助人們有效的降低感染風(fēng)險(xiǎn)!

如下動(dòng)圖顯示了高度依賴(lài)公共交通場(chǎng)景下的結(jié)果:

如果新冠病毒爆發(fā)在亞美尼亞會(huì)怎樣?程序員用Python進(jìn)行模擬

結(jié)論

該實(shí)驗(yàn)絕不是說(shuō)我們已經(jīng)構(gòu)建了準(zhǔn)確的傳染病模型(甚至模型中不涉及任何傳染病學(xué)的基礎(chǔ)知識(shí)),我們的目標(biāo)是在傳染病爆發(fā)時(shí)能夠即時(shí)了解城市交通網(wǎng)絡(luò)對(duì)傳染病傳播的影響。

隨著人口密度、流動(dòng)性和互動(dòng)性的增強(qiáng),我們的城市更容易發(fā)生“黑天鵝”事件,并且變得更加脆弱。例如,我們從這個(gè)模型可以發(fā)現(xiàn)在關(guān)鍵地區(qū)實(shí)施隔離制度或者采取嚴(yán)苛的措施來(lái)控制人員流動(dòng)能夠在疫情期間發(fā)揮巨大作用。

但還有一個(gè)十分重要的問(wèn)題就是,如何在執(zhí)行這些措施期間,使得城市功能和經(jīng)濟(jì)的損壞最小化?

此外,傳染病傳播機(jī)制也是一個(gè)活躍的研究領(lǐng)域,該領(lǐng)域的成果必須要滲透并整合到城市規(guī)劃、政策制定和城市管理當(dāng)中,以使我們的城市更安全更抗打擊。

上述模型代碼如下:

  1. import numpy as np 
  2.   # initialize the population vector from the origin-destination flow matrix 
  3.   N_k = np.abs(np.diagonal(OD) + OD.sum(axis=0) - OD.sum(axis=1)) 
  4.   locs_len = len(N_k)                 # number of locations 
  5.   SIR = np.zeros(shape=(locs_len, 3)) # make a numpy array with 3 columns for keeping track of the S, I, R groups 
  6.   SIR[:,0] = N_k                      # initialize the S group with the respective populations 
  7.  
  8.   first_infections = np.where(SIR[:, 0]<=thresh, SIR[:, 0]//20, 0)   # for demo purposes, randomly introduce infections 
  9.   SIR[:, 0] = SIR[:, 0] - first_infections 
  10.   SIR[:, 1] = SIR[:, 1] + first_infections                           # move infections to the I group 
  11.  
  12.   # row normalize the SIR matrix for keeping track of group proportions 
  13.   row_sums = SIR.sum(axis=1
  14.   SIRSIR_n = SIR / row_sums[:, np.newaxis] 
  15.  
  16.   # initialize parameters 
  17.   beta = 1.6 
  18.   gamma = 0.04 
  19.   public_trans = 0.5                                 # alpha 
  20.   R0 = beta/gamma 
  21.   beta_vec = np.random.gamma(1.6, 2, locs_len) 
  22.   gamma_vec = np.full(locs_len, gamma) 
  23.   public_trans_vec = np.full(locs_len, public_trans) 
  24.  
  25.   # make copy of the SIR matrices  
  26.   SIRSIR_sim = SIR.copy() 
  27.   SIR_nSIR_nsim = SIR_n.copy() 
  28.  
  29.   # run model 
  30.   print(SIR_sim.sum(axis=0).sum() == N_k.sum()) 
  31.   from tqdm import tqdm_notebook 
  32.   infected_pop_norm = [] 
  33.   susceptible_pop_norm = [] 
  34.   recovered_pop_norm = [] 
  35.   for time_step in tqdm_notebook(range(100)): 
  36.       infected_mat = np.array([SIR_nsim[:,1],]*locs_len).transpose() 
  37.       OD_infected = np.round(OD*infected_mat) 
  38.       inflow_infected = OD_infected.sum(axis=0
  39.       inflow_infected = np.round(inflow_infected*public_trans_vec) 
  40.       print('total infected inflow: ', inflow_infected.sum()) 
  41.       new_infect = beta_vec*SIR_sim[:, 0]*inflow_infected/(N_k + OD.sum(axis=0)) 
  42.       new_recovered = gamma_vec*SIR_sim[:, 1] 
  43.       new_infect = np.where(new_infect>SIR_sim[:, 0], SIR_sim[:, 0], new_infect) 
  44.       SIR_sim[:, 0] = SIR_sim[:, 0] - new_infect 
  45.       SIR_sim[:, 1] = SIR_sim[:, 1] + new_infect - new_recovered 
  46.       SIR_sim[:, 2] = SIR_sim[:, 2] + new_recovered 
  47.       SIR_sim = np.where(SIR_sim<0,0,SIR_sim) 
  48.       # recompute the normalized SIR matrix 
  49.       row_sums = SIR_sim.sum(axis=1
  50.       SIR_nsim = SIR_sim / row_sums[:, np.newaxis] 
  51.       S = SIR_sim[:,0].sum()/N_k.sum() 
  52.       I = SIR_sim[:,1].sum()/N_k.sum() 
  53.       R = SIR_sim[:,2].sum()/N_k.sum() 
  54.       print(S, I, R, (S+I+R)*N_k.sum(), N_k.sum()) 
  55.       print('\n') 
  56.       infected_pop_norm.append(I) 
  57.       susceptible_pop_norm.append(S) 
  58.       recovered_pop_norm.append(R) 

相關(guān)報(bào)道:

https://towardsdatascience.com/modelling-the-coronavirus-epidemic-spreading-in-a-city-with-python-babd14d82fa2

【本文是51CTO專(zhuān)欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號(hào)“大數(shù)據(jù)文摘( id: BigDataDigest)”】

     大數(shù)據(jù)文摘二維碼

戳這里,看該作者更多好文

 

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2020-06-08 15:15:26

程序員擺地?cái)?/a>技術(shù)

2020-05-11 08:36:21

程序員工作生活

2019-11-20 10:12:32

程序員 東漢崗位

2009-09-24 11:55:13

2020-02-17 11:37:05

Python 開(kāi)發(fā)編程語(yǔ)言

2022-08-16 13:41:24

穩(wěn)定幣加密世界攻擊

2013-08-30 09:54:18

2015-09-25 10:41:48

r語(yǔ)言

2014-08-20 10:14:14

程序員

2021-11-22 07:08:34

部隊(duì)程序員退伍

2023-05-15 10:27:53

人工智能AI

2021-08-19 17:27:41

IT數(shù)據(jù)中心災(zāi)難

2013-10-31 09:13:31

程序員生活

2020-05-21 09:56:54

語(yǔ)音技術(shù)新冠病毒人工智能

2021-12-27 08:24:08

漏洞網(wǎng)絡(luò)安全

2009-03-19 01:26:00

2021-12-08 12:05:21

MySQ磁盤(pán)數(shù)據(jù)庫(kù)

2020-07-08 10:26:23

IT英雄CIO新冠病毒

2020-06-23 14:29:34

數(shù)據(jù)分析新冠病毒數(shù)據(jù)

2016-04-08 15:13:29

人工智能阿里小Ai
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美精品一区二区三区在线播放 | 国产一区二区三区在线视频 | 久久最新| 国产精品日产欧美久久久久 | 国产成人啪免费观看软件 | 91久久国产综合久久 | 羞羞羞视频 | 久久国产成人精品国产成人亚洲 | 国产高清免费 | 日韩三级在线 | 青青久草 | 国产探花在线精品一区二区 | 欧美v在线| 久久免费精品 | 亚洲一区二区三区四区五区中文 | 日韩精品在线一区 | 中文字幕精品视频在线观看 | 欧美日韩在线成人 | 精品久久久久久久久久久 | 久久久www成人免费无遮挡大片 | 国产精品亚洲一区二区三区在线观看 | 成人a视频在线观看 | 人人射人人草 | 中文字幕一区二区三区四区五区 | 欧美一级黄色片 | 欧美极品少妇xxxxⅹ免费视频 | 毛色毛片免费看 | 免费在线视频一区二区 | 激情国产| 国产成人啪免费观看软件 | 黄色亚洲网站 | 成人影院免费视频 | 蜜桃黄网 | 欧美黑人巨大videos精品 | 亚洲精品一区在线 | 夜夜骑首页 | 99pao成人国产永久免费视频 | 国产不卡一区在线观看 | 亚洲精品18 | 精品久久久久久亚洲精品 | 中文字幕免费在线 |