【新手村专属】亚太杯数模参赛经验
作者:20屆 ERIC
這篇文章也是【新手村專屬】系列,本人依然是作為一支沒有任何數模背景的小白隊伍的隊長帶隊參加比賽。雖然亞太的含金量不是很高,但是很適合新手試水。也是一次很難忘的經歷,特此記錄,希望對讀者有裨益。
前期準備
組隊
不論是什么比賽,團隊是我認為最重要的key factor。對于一項我比較重視的比賽,我往往會選擇作為隊長參加,因為我想自己選擇我最信任的朋友來組隊和奮斗。
這里插一句題外話,我真的很感激一路上的合作伙伴們:寫書的時候的李帕、冰糖、zang、juns、kouzong;服創時候的諶總、cyy、ruia、佳寧姐,后期加盟的林導林鐵蛋;互聯網+的時候被強勢帶飛的Jacob學長;亞太數模的cherish和ruia…感謝隊友們對我的信任,也感謝很多人一路上不離不棄。
說回亞太,一般來說,數模比賽的隊友會是這么一個配置模式:
建模手(編程手亦可) * 1
數學手(個人理解是出solution的人) * 1
英語 * 1
當時我組隊的時候也沒想太多,比起按照配置對號入座,我認為還是能把話說到一塊去的人更合適,于是找了熟悉且靠譜的朋友開干。其實整體做下來,感覺這個配置模式是可以靈活替換的,也并不是一個基準(當然,也很可能是因為我們都是第一次參加,比較混亂)。實際上我們隊伍的實際情況是:
Day 1:我和cherish是數學手思考solution,ruia做數據的收集
Day 2:我和cherish是編程手,通宵把solution付諸實踐,ruia變成論文手兼數據收集
Day 3:ruia變成數學手,針對solution做modify,cherish繼續編程建模,我變成論文手寫摘要
Day 4:ruia提出一個很有趣的解決方案,我又變成編程手實現,cherish寫論文。
所以實際上呢,職責是跳脫的,也是混亂的。從一個新手的角度出發,我還是鼓勵大家從綜合實力強合得來的朋友組隊,第一次很難做到職責分明,所以需要大家都能時刻統一意見然后具有多面的解決問題的能力,及時幫忙救火。
前一個月
沒錯,我們提前一個月就開始有一些規劃。大抵是一個月或者是三個星期吧,記不太清楚。這是我當時認為很重要的事情,因為我們都是沒有參加過數模比賽的小白,**所以我認為需要對基礎的一些模型進行涉獵和了解,對一些數學概念做基本的學習。**于是當時我統計了一些很常見的在數模比賽中比較基礎的方法,然后每個人分門別類地安排去學習,每周匯報一次(類似組會),把這個模型有關的知識記錄下來,大家都能看到。
上圖是第一次開會后分配的任務。
下面截取一部分我們每周的一些總結:
當然,事實上比賽最后絕大部分的算法沒有用到,但是畢竟我們的目的是學習嘛,學到了就不虧,何況還拿了獎。
現在回過頭來看看,大家還是很努力的,棒!
比賽開始
Timeline
先說一下時間線。
借用一下甘特圖,使用不是很嚴謹,不過大體流程八九不離十。我把“完善解決方案”標紅了,因為這個部分我認為是當時比較關鍵的一件事情,把四個問題的解決方案串了起來。
總體上,最耗時的工作是:**數據搜集、編程、寫作。**而且比賽第一天正好我是滿課,基本上沒有做特別多的工作。主要的部分都是第二天通宵和周六周日做完的。接下來,我也會圍繞這幾個耗時最長的部分談談感受。
數據搜集
由于我們選了技術含量相對最低的C題,分析塞罕壩的環境影響并且對研究結果做遷移,我們需要搜集特別多的數據來進行分析。
一些傳送門:
國家統計局
氣候數據
NOAA
這個網站也不錯,搜集數據集,但是好像要科學上網
…
很多網站也記不清了,大體上就是廣撒網式搜刮數據。北京市的沙塵天氣數據甚至是在一篇報告中獲得的,總的來說就是,各種搜索引擎一起使用,有必要的話可以借助爬蟲。
數據搜集起碼占了我們前兩天75%的時間,沒有數據,無從開始。
這里也有一點個人建議:數據總是很零碎的,尤其是環境題,不要強求從解決方案的角度搜集所需要的數據,而是要從搜索到的數據上建立解決方案。
編程建模
獲取一定數量的數據后,就是建模環節。因為我們這次第一第二題的方向是做分析,所以基本上是一些分析方法的使用。
很多人說,層次分析法、灰度預測等等,都是很簡單老套的模型,沒有任何競爭力,但其實它們也有存在的意義。剛拿到手的數據,可以用簡單的方法跑一下看看結果是否和自己猜測的接近,做一個初步的判定之后也能為解決方案確定方向。這里大概說一下我們要解決的問題以及最后我們的整體設計:
問題:
Q1:根據各種環境因子建立塞罕壩環境評估模型,對比分析塞罕壩治理前與治理后對周邊環境的影響。
Q2:評估塞罕壩治理對北京抗風沙能力的影響,量化評估塞罕壩在其中的作用。
Q3:對塞罕壩的治理模式做遷移,找到國內適合的地點建立自然保護區。
Q4:同Q3,但是在亞太地區做遷移,給出技術性報告。
解決思路:
我們先對塞罕壩四十年來的幾項數據做了層次分析,得出了大概的因子權重,“土壤含水量”是所有塞罕壩帶來的環境變化中最重要的一個因子。然后基于此,我們進行了進一步的主成分分析與熵權法分析,確實獲得了相同的結果。
接著,我們以承德市平均氣溫作為塞罕壩周圍環境的評估標準,用牛頓插值去擬合曲線觀察氣溫變化,發現確實越來越趨于穩定,證明塞罕壩有起到一定的調理作用。
針對第二題,我們試圖在塞罕壩的環境因子與北京市的沙塵天氣數據之間建立聯系。基于第一題的結果,我們選取含水量和二氧化碳吸收量作為代表,計算其與北京沙塵天氣變化的關系系數,發現結果為0.8,證明了塞罕壩對北京市抵御風沙確實起到重要作用。
基于第一題的結果,對塞罕壩模式進行遷移的基礎,是找到自然環境相似的地點。我們考慮了三項重要區位特征:水土流失、土地荒漠化、植被類型。邏輯是這樣的:通過opencv對全國水土流失與土地荒漠化地圖進行掩膜,提取和塞罕壩色塊特征相同的區域,再比較它們與塞罕壩的植被特征(這里是基于我們找到的LiDAR數據)是否相似,來選取合適的地點。
最后,選取榆林市作為例子進行自然保護區尺度評估。**借助榆林市政府公開的政府工作報告中的各類用地面積,**使用簡單的灰度預測來預測近年來可用于建設自然保護區的區位面積。
問題四的解決思路和三相同,找相同區位特征,最后選取了澳大利亞的中部與西南部。
論文寫作
有了solution,最后就是形成論文。實際上,摘要是最重要的部分,最好是想好一個問題的解決方案就進行記錄。可以先通過谷歌機翻,然后再人工潤色。
除了摘要,后面大體上的寫作邏輯就是:問題描述、模型描述、算法原理、實驗結果、分析結論。這樣的邏輯寫到最后,其實比想象中要順利很多。強力推薦新手們就算以前沒接觸過,也要入門一下latex,寫起來真的比word方便很多,也有很多現成的模板可以使用。
到了論文寫作這一部分,其實也都是很細節的問題。比如圖的腳注、表格的格式等等,很折磨人。因為前幾天通了一次宵,把很多精力都留在了建模上,最后細扣論文的時候我簡直像一具行尸走肉。
如果下次還參加的話,我給自己的建議是:**論文寫作可以提前開始。**在建模的過程中就可以及時記錄結果和素材,不要等最后再回過頭來看自己的代碼和結果。
賽后碎碎念
人生第一次真正意義上的通宵,獻給了這次比賽。說實話,打完比賽之后那周,上早八的時候都能感受到心律不齊,還患上了“塞罕壩”PTSD,剛交完論文第二天,形策課上聽到塞罕壩竟然不自覺地有點反胃…Anyway,當初是很難受,但是現在想想也都是很有趣的經歷:
和cherish通宵前,我大放闕詞:“我不可能睡著”。他嘲諷我說,一般這么說的人三點就睡了。事實上,我們最后都干到了天亮,然后同時昏倒在桌前。
和ruia、cherish在咖啡廳,吃了黃燜雞、雞公煲,大家閑聊些有的沒的。
寫論文的時候回看模型,突然發現跑的結果和我預想中完全相反,也和cherish的結果完全相反,嚇得我一頭冷汗,結果一看是數據集給錯了。
ruia說到可以用土地荒漠化地圖這種來做分析的時候,大家都很高興,因為把所有題目都串起來了,所以我在“完善模型”那里表了紅色。
正賽第一天遇到zngg,我不緊不慢的拿著圣代去實驗室,他說:“你怎么這么悠閑!”可他不知道,我當時也慌的一批。
想找我們的建模課老師當指導老師,結果直到比賽結束我們才聯系上他。
最后一天晚上,交作品前,我突然發現論文腳注標錯了,是cherish的部分,趕緊看看他睡了沒,結果真睡了,笑死,差點去他宿舍爆破他。
總之,很有趣,很有收獲。
總結
以上是生活随笔為你收集整理的【新手村专属】亚太杯数模参赛经验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米笔试题 风口的猪-中国牛市
- 下一篇: dreamweavercc 数据库_dr