臭蟲的入侵:一張地圖描繪臭蟲20年的入侵

  • 2020 年 2 月 19 日
  • 筆記

誰沒有遇過臭蟲?可能更好的問題不是是否,而是何時。我清楚地記得我第一次遇見臭蟲的經歷——一部分原因是因為它們那刺鼻的像芫荽葉的味道,也是因為在我家鄉的卡特蘭語言中,它們被叫做Bernat pudent (「臭博納特」),而博納特正是我雙胞胎兄弟的名字。

所以當我在 Wolfram 科技大會訪問伊利諾伊香檳市又遇到了臭蟲的時候,很多童年的記憶又重現腦海。但是這一次,兩件事情有所改變:遇見臭蟲的頻率好像呈指數增長,而且現在我有了Wolfram語言,我可以更加全面地(以計算的方式)來滿足我對這些遭人唾棄的昆蟲的好奇心和這些昆蟲的增長對生態系統的影響的研究。所以為了對這種入侵昆蟲在全美的出現和擴張有更好的了解,我使用了已有的觀察數據,並用Wolfram語言製作了一張橫跨過去20年數據的地圖。

導入分布數據

在美國,有很多種本地的臭蟲品種,但是在這篇文章中,我會著重一個在過去20年人們不太熟悉但現在在北美很常見的非本地品種:茶翅蝽,學名叫做Halyomorpha halys (Stål, 1855)。為了拿到一個儘可能全面的數據,我們會從三個數據源導入臭蟲的數據。然後把數據文件保存在我們的筆記型電腦所在的文件夾,這樣我們就可以很好地設置目錄路徑:

我們導入從EPPO(歐洲和地中海植物保護組織)的全球資料庫中獲取的臭蟲分布數據。使用SemanticImport,我們可以指定對想要的數據列做詮釋,並獲取一個Dataset對象。在這個例子中,Interpreter[「Country」]作為純函數運行:

我們可以用Select快速看一下全球各個國家的數據(由帶有空白「state」屬性的項表示):

這個數據把每一個發現劃歸為六個不同的狀態水平之一——可能存在或者不存在,和對應的報告數量/密度:

我們可以使用GroupBy來按狀態查找國家:

使用GeoRegionValuePlot,我們就可以根據EPPO數據,創建一個每個國家的臭蟲分布和出現水平的地圖:

現在我們從iNaturalist和EDDMapS(早期探測和分布地圖系統)導入數據,這兩個數據源都包含眾包觀察數據。我們會再次用到SemanticImport。由於地址是由經緯度列出來的,所以不需要自定義說明:

iNaturalist數據包括了對很多臭蟲種類的觀察;在這個研究中,我們只需要入侵臭蟲的觀察數據,茶翅蝽(Halyomorpha halys):

有了我們導入的數據,我們現在可以創建一張分布地圖了。

繪製入侵過程

這個可視化圖的主要目的是為了研究隨著時間的變化臭蟲地理分布的變化。我想把最早圖形表示定為一個交互的顏色編碼地圖,顯示數年間的彙編數據。首先我們先給從1998年開始的每個年份分配一個顏色,這也是這種臭蟲最開始被發現的年份:

然後我們要提取坐標。因為不同的數據組有不同的形式,為了從每一個數據組選擇觀察數據,我們需要不同的函數。對於EDDMapS,我們按照觀察日期進行分組,並從每個數據點提取經度和緯度數據:

對於iNaturalist數據組而言,過程也是一樣的,只是名稱不同:

我們可以使用Merge和DeleteMissing來組合和清理列表:

然後我們可以使用GeoPosition創建一個測地位置的數組:

下例就是我們動畫的一個典型背景,使用GeoListPlot為每個州展示一個衛星影像的多邊形:

我們也想在最終的GIF動圖上加入臭蟲的縮略圖。下面的臭蟲樣品就曾嘗試在我巴塞羅那的公寓里過冬(我們在歐洲也有同樣的入侵臭蟲品種):

最後我們可以結合這些縮略圖,自定義顏色函數和之前在GeoListPlot中每年位置分布函數(連同其他在影像化程式碼中的格式調整)來展示自2001年起每年的觀察數據,使用Show可以把數據疊加在背景上:

從得到的地圖可以看出到給定年份的數據點累計,而且有一個註明年份的標籤:

既然我們能生成每年的分布圖,要把它們整合進一個動圖GIF也很容易。基本上我們對每年的地圖生成一個ParallelTable,然後以動畫的形式導出(重複最後一幀可以拉長觀看時間):

得到的結果被整合進來一個動圖裡,我們可以很清楚的看到隨著時間的推移臭蟲被發現的地區逐年增加。在過去的20年里,臭蟲數量的增長似乎無可遏制——原因可能是因為不存在比如武士黃蜂這樣的自然天敵,在他們原始居住地東亞臭蟲的數量就是這樣被控制住的。感謝像iNaturalist這樣平台上民間高手的貢獻,我們才得以使用這些數據並更精準的繪製地圖。

當我把我的動圖發布到Reddit時,彷彿觸動到了某根神經,超過41,000名用戶與我的這篇博文互動。再說回我的雙胞胎兄弟Bernat:他把這個GIF發給他當時的居住地——羅德島普羅維登斯——的一些朋友看,其中的兩位朋友告訴他,他們已經在Reddit的首頁上看過這個動圖了(這展示了另一種」入侵」分布——互聯網病毒式傳播!)。

不平衡權重

這個分布的圖為大家的經驗提供了一個簡潔明了的綜合確認:在過去的二十年間這種入侵的棕色臭蟲已經變成了大家普遍遇到的麻煩。但更重要的是,在那些國家主要糧食生產地的糧倉大州(比如伊利諾伊州),臭蟲已經變成了一個嚴重的威脅。而西岸,地理上而言是這些臭蟲原始到達地點的反方向,臭蟲的問題也在逐漸往嚴重的方向演變。甚至加州——那裡的果園和莊稼都已經受到火災和乾旱的威脅——也並不安全。西岸臭蟲到來的獨立事件(已由基因測試證實)在分布地圖數據中清楚地展現出來。

當我們自己遇到臭蟲的時候,成千上萬隻、五隻、甚至一隻就能把我們擾亂到心煩意亂,但是看一看這20年來全國性的從未減少的入侵生物物種,我們就可以看到生物多樣性上的不平衡。我鼓勵大家都去註冊一些像iNaturalist這樣的眾包網站,也成為民間高手,並以自己觀察到的數據向科學做出貢獻。當更多的人參與到觀察活動時,我們也許就能阻止一次歷時30年的臭蟲入侵回溯。

加入我們吧——通過由我發起的Wolfram社區執行緒(https://community.wolfram.com/groups/-/m/t/1834628)分享您對臭蟲觀察的計算研究,或者可以來看一看我關於生物多樣性的其他博文(https://community.wolfram.com/web/jofreep)。每一個數據點都很重要。

更多資料

「Brown Marmorated Stink Bug.」 National Invasive Species Information Center, USDA. www.invasivespeciesinfo.gov/profile/brown-marmorated-stink-bug.

Rice, K. B., C. J. Bergh, E. J. Bergmann, et al. 「Biology, Ecology, and Management of Brown Marmorated Stink Bug (Hemiptera: Pentatomidae).」 Journal of Integrated Pest Management 5.3 (2014): A1–A13.

使用Wolfram Mathematica 試用版可以體驗全部的Wolfram語言功能哦:https://www.wolfram.com/mathematica/trial/