日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

2021 年 五一数学建模比赛 B 题(第四问至第六问)

發(fā)布時(shí)間:2023/12/9 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021 年 五一数学建模比赛 B 题(第四问至第六问) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 第四問(wèn)
    • 第一理解
    • 第二理解
  • 第五問(wèn)
  • 第六問(wèn)
    • PageRank 算法
    • 應(yīng)用 PageRank
    • J 和 N 設(shè)置消防站后
    • 逐年建立消防站(失敗的嘗試)
    • 改進(jìn)方案
  • 代碼與提問(wèn)


本人專(zhuān)挑數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)和 NLP 類(lèi)型的題目做,有興趣也可以逛逛我的 數(shù)據(jù)挖掘競(jìng)賽專(zhuān)欄

如果本篇博文對(duì)您有所幫助,請(qǐng)不要吝嗇您的點(diǎn)贊 😊

賽題官網(wǎng):http://51mcm.cumt.edu.cn/


返回目錄

第一題到第三題鏈接

第四問(wèn)

題目是找出不同區(qū)域,相關(guān)性最高的事件。我們首先整理出事件類(lèi)型-事件發(fā)生密度表格,如下所示:

什么是相關(guān)性,我覺(jué)得有兩個(gè)理解:

  • 相關(guān)性是否指:事件對(duì)區(qū)域而言呢?也就是找出,該區(qū)域某事件發(fā)生的密度,在其他區(qū)域時(shí),發(fā)生密度相差很大的事件,可否如此理解?
  • 相關(guān)性是否指:事件-事件呢?也就是,不同區(qū)域,事件 A 和事件 B 的相關(guān)性最大,找出 A 和 B 呢?
  • 第一理解

    對(duì)于第一個(gè)理解,可以沿著上表的行,求出事件的方差,方差最大的那個(gè),就是啦。求出方差如下:

    于是,事件 7 是不同區(qū)域相關(guān)性最大的。

    第二理解

    第二個(gè)理解,沿著行,求出數(shù)據(jù)的相關(guān)性矩陣,找出最大的那個(gè)相關(guān)性,對(duì)應(yīng)的兩個(gè)事件,就是啦。

    計(jì)算偏相關(guān)矩陣(使用Pearson相關(guān)系數(shù)),偏相關(guān)系數(shù)可以刪除其他因素的影響,所以使用偏相關(guān)系數(shù):

    從上圖可以找出,事件 3 和 事件 7 在不同區(qū)域的相關(guān)性最高。

    第五問(wèn)

    找出人口密度和事件密度的關(guān)系,首先就得統(tǒng)計(jì)出數(shù)據(jù)咯:

    其中事件密度是根據(jù) 16-20 年的總數(shù)據(jù)算出來(lái)的。

    如何找出關(guān)系呢?還記得問(wèn)題二的方法嗎?

    我們首先畫(huà)出數(shù)據(jù):

    大致可以猜測(cè)出,人口密度越大,事件密度(16-20年)越大。

    采用第二問(wèn)的一元回歸方法,用線(xiàn)性函數(shù)去擬合數(shù)據(jù),可得:

    我們可以用 R 方來(lái)評(píng)價(jià)模型的效果,計(jì)算出模型的 R 方為:0.9996,可見(jiàn)模型的效果很好。

    于是,人口密度和事件密度(16-20):y=0.4116x?0.02374y=0.4116 x - 0.02374y=0.4116x?0.02374

    第六問(wèn)

    第六問(wèn)是:

    目前該地有兩個(gè)消防站,分別位于區(qū)域J和區(qū)域N,請(qǐng)依據(jù)附件1和附件2,綜合考慮各種因素,建立數(shù)學(xué)模型,確定如果新建1個(gè)消防站,應(yīng)該建在哪個(gè)區(qū)域?如果在2021-2029年每隔3年新建1個(gè)消防站,則應(yīng)依次建在哪些區(qū)域?

    從第四問(wèn)可知,由于人口密度和事件密度呈現(xiàn)線(xiàn)性關(guān)系,且是正相關(guān),所以我們只需要考慮人口密度即可。

    先看第一問(wèn):該地已經(jīng)有兩個(gè)消防站,另一個(gè)消防站該建在哪里?

    我們不妨先考慮簡(jiǎn)單的:如果沒(méi)有消防站,那么消防站應(yīng)該建在哪里?

    若沒(méi)有消防站,那么,我們可以用谷歌的網(wǎng)頁(yè)排行算法來(lái)解決這個(gè)問(wèn)題。具體是:

  • 把每一個(gè)節(jié)點(diǎn)看成網(wǎng)頁(yè)
  • 把邊看成是網(wǎng)頁(yè)到網(wǎng)頁(yè)的鏈接,邊的權(quán)重視為鏈接的權(quán)重
  • 把人口密度視為網(wǎng)頁(yè)的權(quán)重
  • 于是:就可以搜索出最重要的網(wǎng)頁(yè),也就是,最重要的節(jié)點(diǎn)!

    那么,邊的權(quán)重,以及網(wǎng)頁(yè)的權(quán)重,該如何設(shè)置呢?

    首先得來(lái)看看 PageRank 算法的原理:

    PageRank 算法

    PageRank 算法要求每一個(gè)節(jié)點(diǎn)的權(quán)重之和是 1,權(quán)重是為了模擬每個(gè)網(wǎng)頁(yè)被點(diǎn)擊的概率(所有網(wǎng)頁(yè)被點(diǎn)擊的概率當(dāng)然是 1)

    PageRank 算法要求每一個(gè)節(jié)點(diǎn),散發(fā)出的所有邊,的權(quán)重之和,為 1。

    然后,PageRank 的算法如下(篇幅原因,就用專(zhuān)業(yè)的語(yǔ)言描述吧):

    設(shè)每一個(gè)節(jié)點(diǎn)的權(quán)重為 NiN_iNi?iii 是節(jié)點(diǎn)編號(hào),為了方便,就即為 {1,2,?,n}\{1,2,\cdots,n\}{1,2,?,n}nnn 為節(jié)點(diǎn)的數(shù)量;若 iii, jjj 存在邊,記邊的權(quán)重為 wijw_{ij}wij?。設(shè)收斂標(biāo)準(zhǔn)為:tol,最大迭代步長(zhǎng)為:T,當(dāng)前步長(zhǎng)為:t,設(shè)權(quán)重傳遞時(shí)的損失參數(shù)為 α\alphaα算法如下:


    initialNi(0)t=0for???i???in???n:for???j???in???wi:Nj(t+1)+=α?Ni(t)?wijift≤T:breakwhile∑∣Ni(t?1)?Ni(t)∣≤tol\begin{aligned} &initial N_i(0) \\ &t=0 \\ &\text{for ~ }\text{i ~ in ~ }n: \\ &\text{~~~~~~~~for ~ }\text{j ~ in ~ } w_i: \\ &\text{ ~~~~~~~~~~~~~ ~~~~ } N_j(t+1) += \alpha \cdot N_i(t) \cdot w_{ij}\\ &if \text{~~~~}t \leq T:\\ &\text{~~~~~~~~}break\\ &while \sum|{N_i(t-1)-N_i(t)}|\leq tol \end{aligned} ?initialNi?(0)t=0for???i???in???n:????????for???j???in???wi?:????????????????????Nj?(t+1)+=α?Ni?(t)?wij?if????tT:????????breakwhileNi?(t?1)?Ni?(t)tol?

    應(yīng)用 PageRank

    如何應(yīng)用呢?

    首先如何將節(jié)點(diǎn)設(shè)置為總和為 1?我認(rèn)為直接將人口密度進(jìn)行標(biāo)準(zhǔn)化即可。

    如何將某節(jié)點(diǎn)的邊,設(shè)置為總和為 1?

    當(dāng)兩個(gè)點(diǎn)的距離越大時(shí),應(yīng)該賦予一個(gè)較大的權(quán)重。因?yàn)榫嚯x越遠(yuǎn),意味著越需要消防站。因此,如某點(diǎn)到 1,2, 3 的距離為 40,50,10,則權(quán)重分別為 0.4, 0.5, 0.1;

    帶入 PageRank 算法,可得結(jié)果如下:

    因此,當(dāng)沒(méi)有消防站時(shí),最重要的節(jié)點(diǎn)是 D。此時(shí)應(yīng)該在 D 中設(shè)置消防站。從這個(gè)結(jié)果來(lái)看,還算是比較合理,畢竟 D 節(jié)點(diǎn)鏈接的邊最多,而且人口密度也比較多:

    J 和 N 設(shè)置消防站后

    沒(méi)有設(shè)置消防站是,我們用人口密度的標(biāo)準(zhǔn)化,作為節(jié)點(diǎn)的權(quán)重。

    在 J 和 N 設(shè)置消防站后,只需要將 J 和 N 的權(quán)重設(shè)置為 0 即可(或負(fù)數(shù),意味著其鏈接的點(diǎn)的權(quán)重也會(huì)在迭代過(guò)程中下降),這里設(shè)置為負(fù)數(shù)也即,標(biāo)準(zhǔn)化后,J 和 N 的權(quán)重為 $ n(w)/15$。其中 n(w)n(w)n(w) 為該節(jié)點(diǎn)的邊數(shù)。

    之所以設(shè)置為 ?2/15-2/15?2/15,是因?yàn)閳D的節(jié)點(diǎn)總數(shù)為 15 個(gè),而我們認(rèn)為一個(gè)消防站所起到的撲滅功能,頂?shù)纳?strong>平均意義上的 n(w)n(w)n(w) 個(gè)節(jié)點(diǎn)權(quán)重。當(dāng)然,這個(gè)數(shù)值的設(shè)置有主觀(guān)性,it depends。

    此時(shí)依舊使用 PageRank 算法,可得:

    逐年建立消防站(失敗的嘗試)

    因?yàn)椴恢廊丝诿芏鹊淖兓?#xff0c;所以按照我們的理論,這是一個(gè)靜態(tài)模型。2021 到 2029 一共 9 年,三年一次,迭代三次。按照上述算法,迭代三次即可:

    在運(yùn)行代碼時(shí),我們發(fā)現(xiàn)連續(xù)三次都需要在 I 中設(shè)置消防站,這明顯是不合理的。究其原因,就是因?yàn)樨?fù)數(shù)在迭代過(guò)程中,對(duì)周?chē)木€(xiàn)條的影響,超出了我們主觀(guān)上的預(yù)估。

    但筆者在將有消防站的節(jié)點(diǎn)的權(quán)重,設(shè)置為 0 時(shí),則出現(xiàn)下面的情況:

    改進(jìn)方案

    本文所講解的 PageRank 是最簡(jiǎn)單形式。實(shí)際上還有許多復(fù)雜的算法。對(duì)于設(shè)置了消防站的節(jié)點(diǎn),我們可以將其視為懸浮節(jié)點(diǎn),也即對(duì)所有節(jié)點(diǎn)都看成有鏈接,且鏈接是單向的,并根據(jù)距離,設(shè)置單獨(dú)地權(quán)重。

    至于如何實(shí)現(xiàn),就要看大家啦!

    代碼與提問(wèn)

    若需要代碼,請(qǐng)點(diǎn)贊,關(guān)注、私信、說(shuō)明題目和年份

    如果有其他問(wèn)題,請(qǐng)到評(píng)論區(qū)留言,私信提問(wèn),概不回答。也在此鼓勵(lì)大家獨(dú)立思考。

    本人不會(huì)回訪(fǎng),不互關(guān),不互吹,以及謝絕諸如此類(lèi)事

    總結(jié)

    以上是生活随笔為你收集整理的2021 年 五一数学建模比赛 B 题(第四问至第六问)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。