各位同學們好,我們之前已經(jīng)發(fā)布了第一問的思路視頻,然后我們現(xiàn)在會詳細的進行代碼和結果的一個講解,然后同時我們之后還會錄制其他小問更詳細的思路以及代碼的手把手教學。
大家我們先看一下代碼這一部分,我們采用的軟件是Jupyter,大家可以下載Anaconda,然后選擇 Jupyter 進行一個我們代碼的運行。之所以選用這個軟件是因為可以更好展示我們的圖表,然后大家也可以看得更直觀一點。如果這些庫發(fā)現(xiàn)安裝的有問題的話,可以自己輸入 conda install 什么什么庫或者 pip install 什么什么庫,然后第一問需要我們使用的數(shù)據(jù)是表 1 到表4,我們先把這個表格進行一個讀取,就是用 PD.read_Excel 進行一個讀取,這個是相對路徑,大家只要把數(shù)據(jù)包和代碼放在一個文件夾下面就可以了。
問題一 :使用附件 1-4 中的數(shù)據(jù) ,預測出各商家在各倉庫的商品 2023-05- 16 至 2023-05-30 的需求量,請將預測結果填寫在結果表 1 并上傳競賽平臺,并對你們模型的預測性能進行評價。另外請討論:根據(jù)數(shù)據(jù) 分析及建模過程,這些由商家、倉庫、商品形成的時間序列如何分類,使同一類別在需求上的特征最為相似? 思路:
首先我們講第一問,首先問題一需要我們同時使,就是使用附件 1- 4 的數(shù)據(jù)進行一個需求量的預測,然后預測之后進行一個性能的評價,同時考察如何使這些類別在需求的特征上最為相似。
我們首先來觀察一下數(shù)據(jù)形式,就首先這是表格一,然后表格依靠的是 product name, product number 來和表 2 相連,同時表一依靠 seller number 和表 3 相連,然后通過 Warehouse number 來跟表 4 來相連。然后我們想要把表 1234 進行一個合并,我們想要把表 1234 進行一個相連,合成一個大表。然后最直觀想到的就是用 Python 中的 PD merge 這個函數(shù),那我們后續(xù)會在代碼中進行展現(xiàn),然后展示給大家,然后你合并完之后,這個表格就變成一個這樣子的大表,這里就是我們要預測的標簽,然后剩下的是它的特征,然后處理完數(shù)據(jù)之后我進行一個預測。
第一步就是合并表,然后是預處理,首先你觀察數(shù)據(jù)有沒有為零或者是明顯錯誤的值,然后你再進行一個相關性的分析,就是用,這個函數(shù)來觀察一下它的相關性,然后輸出相關性高的作為特征來進行后續(xù)的一個預測的函數(shù)。如果我們主要是考察這是一個時間上的一個預測,然后可以采用有典型的時序預測的 Arima 或者是用 LSTM 這樣子的。當然最簡單的就是線性回歸這種句都是可以采取的。然后性能界限提一個評價,我們可以輸出預測的那個結果圖和實際的增值的一個兩個圖線的一個圖片,或者是輸出我們的那個精確度,然后這一問它是好,就是問我們如何分類,可以使用它們作為相似分類。
和前對基本使用聚類分析,那當然后續(xù)更詳細的一個介紹,我們會根據(jù)代碼,然后還有結果圖標來跟大家介紹,okay,我們就先詳細的分析到一個問題一,然后問題 2 和問題 3 我們后續(xù)會進行展開,然后歡迎大家點點關注,我們會持續(xù)分享的。
我們把表 2 也輸入,表 3 也進行一個輸入,然后表 4 輸入進去之后,我們需要將表進行一個合并,我們可以發(fā)現(xiàn)表一和表 2 通過 product 的 number 進行一個合并,然后表一和表 3 是 sale number,表一和表 4 是 warehouse number,我們直接采用這個關鍵字段,然后調通過調取 Python 中的 PD.merge 這個包就可以直接進行合并。
可以看一下我們合并或者大表是這個樣子的,四個表的特征完全已經(jīng)在一個表里了。好的,我們接下來輸出一下各個列名的數(shù)據(jù)類型,還有它們的數(shù)量是這個圖,但是這個數(shù)字我們還需要進行一個預處理,因為它有一些,比如像這個東西,它是文本型數(shù)據(jù),不能進行后續(xù)特征的一個輸入,我們要把這些全部的文本數(shù)據(jù),還有這個手機通訊、手續(xù)配件這種類別全部轉化為數(shù)值,所以就調用了這個建立列表,構建一個字典,然后將這些特征全部轉化為了,這就是右邊的一列,就是左邊那一列是我們調取的值,然后右邊是我們轉化后的值。
當之后下面也是統(tǒng)領用 replace 的方法來替換這些值,那可以看到我們替換之后的結果都已經(jīng)給到了大家,當然大家也可以直接用 one hot 這個函數(shù),或者是就是直接特征轉化這個函數(shù),把這些類別轉化為123456,這個,這個你可以搜一下自己去解決。然后實在不行的話也可以用我們給到大家這個東西,然后我們結果圖表也會給到大家。
接下來我們處理好數(shù)據(jù)之后,就進行一個相關性的分析,這個是數(shù)相關性分析的一個數(shù)值,然后相關性分析的結果圖是這個樣子的,看到這些地方是顏色比較深的,然后我們分析完之后,接下來你可以通過相關性篩選一些特征,也可以不篩選保留所有的特征,進行一個后續(xù)的模型輸入。
在我們處理好數(shù)據(jù),然后分析好模型之后,就是分析好這個相關性之后,我們就需要輸入到模型里進行一個計算,然后模型經(jīng)典的時序模型就是 Arima 模型,我們也進行了一個跑,就是給大家看一下兒曼的效果,然后發(fā)現(xiàn)它效果其實并不是特別好,原因在哪里?因為大家可以看一下這個二維碼數(shù)據(jù),是單純的根據(jù)時間和每個時間對應的需求來進行一個后續(xù)十幾天的預測。我們覺得這個樣子做效果不好,一個是因為它直接是用一步來預測未來的 15 步,這個樣子是有問題的。然后第二個是因為在后面這段時間里,他我們用了預測數(shù)據(jù),基本上數(shù)值都非常小,就是0,然后這也造成了一個問題,所以我們后來會去進行模型進行一個調整。
同時還采用了其他的模型,比如LSTM,我們 LSTM 是構建了就是用調取 Tensorflow 的keras 包,然后來進行一個訓練,然后訓練后的結果我們也會給到大家,然后接下來就是下一個視頻,然后我們就是邊做然后邊給大家分析,希望大家持續(xù)關注。文章來源:http://www.zghlxwxcb.cn/news/detail-714445.html
問題二:現(xiàn)有一些新出現(xiàn)的商家+倉庫+ 商品維度(附件 5),導致這種 情況出現(xiàn)的原因可能是新上市的商品,或是改變了某些商品所存放的倉庫。 請討論這些新出現(xiàn)的預測維度如何通過歷史附件 1 中的數(shù)據(jù)進行參考,找 到相似序列并完成這些維度在 2023-05- 16 至 2023-05-30 的預測值。請把預測結果填寫在結果表 2 ,并上傳至競賽平臺。
思路:
問題二要求討論如何處理新出現(xiàn)的商家、倉庫、商品維度,以實現(xiàn)精準預測。對于新出現(xiàn)的商家、倉庫、商品維度,可以通過附件中的數(shù)據(jù)進行參考,找到相似序列并完成這些維度的預測值。具體來說,可以采用基于相似度的算法,如KNN算法、聚類算法等,對歷史數(shù)據(jù)進行分析和處理,找出與新出現(xiàn)維度相似的歷史數(shù)據(jù),從而預測未來的需求量。
問題三:每年 6 月會出現(xiàn)規(guī)律性的大型促銷,為需求量的精準預測以 及履約帶來了很大的挑戰(zhàn)。附件 6 給出了附件 1 對應的商家+倉庫+ 商品維 度在去年雙十一期間的需求量數(shù)據(jù),請參考這些數(shù)據(jù),給出 2023-06-01 2023-06-20 的預測值。請把預測結果填寫在結果表 3 ,并上傳至競賽平臺。
思路:
問題三要求根據(jù)歷史數(shù)據(jù),預測每年6月份的需求量。在實際的電商供應鏈預測任務中,每年6月份會出現(xiàn)規(guī)律性的大型促銷,為需求量的精準預測以及履約帶來了很大的挑戰(zhàn)。 問題三中給出了附件6,該附件給出了附件1對應的商家+倉庫+商品維度在去年雙十一期間的需求量數(shù)據(jù)。可以根據(jù)這些歷史數(shù)據(jù),采用時間序列分析、回歸分析、神經(jīng)網(wǎng)絡等算法,預測2023年6月1日至6月20日的需求量。
本次將全程提供B題題完整解題思路、代碼和完整文字,同時共享一些論文模板等資料,需要的小伙伴可以關注一下,持續(xù)更新!完整解題代碼可點擊此處獲取文章來源地址http://www.zghlxwxcb.cn/news/detail-714445.html
#https://
#mbd.pub/o/bread/mbd-ZZWalpty
到了這里,關于【代碼思路】2023mathorcup 大數(shù)據(jù)數(shù)學建模B題 電商零售商家需求預測及庫存優(yōu)化問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!