姜曉明
遼寧機電職業技術學院 遼寧丹東 118000
數學建模是聯系數學與應用的重要橋梁,是數學走向應用的必經之路。從實際問題出發,采取問題驅動的教學模式,可以引導學生思維,激發學生主動學習的潛質。數學建模首先要進行數據處理。以2018年全國大學生數學建模大賽C題為例,用Excel進行數據分析。
根據附件5數據字典將附件1~4首行改寫如下形式,并進行首行凍解。

圖1
1.首先刪除重復項
將給定的附件2、附件3中的重復項刪除。
2.在附件3中使用VLOOKUP函數=VLOOKUP(A2,D:數學建模數學建模賽題2018-C-Chinese[附件1-會員信息表.xlsx]附件1-會員信息表!$A:$D,4,FALSE)得到附件1中的會員登記時間,設置單元格格式為日期,不是本店會員的登記時間信息顯示#N/A,以會員登記時間按升序排序,刪除不是本店會員的消費信息,得到本店會員消費信息520508條記錄。[1]
將附件2和附件3的數據按消費產生的時間進行排序,附件2的消費流水時間從2016/1/1 10:43至2017/9/23 20:05,附件3記錄的會員消費時間從2015/1/1 0:06至2015/8/30 21:44;2015/12/17 10:46至2015/12/19 20:33;2016/1/9 10:10至2016/1/11 17:14;2016/3/11 10:17至2018/1/3 21:38;取共同的時間段2016年1月,2016年3月至2017年9月30日一共20個月的數據進行數據分析。
在附件2中進行數據統計得到2016年1月,2016年3月至2017年9月30日一共20個月會員的商場流水消費金額為1138194437元,單次最大消費金額為1342515元,消費次數933381條記錄,平均消費金額為1219.431761元。對附件3會員消費記錄在相同的時間區間中進行數據統計得到會員消費金額為438397407.2600元,單次消費最大金額為1342515.00元,消費次數325867條記錄,平均每次消費1345.3262元,會員的消費金額占商場總流水金額的38.5169%;非會員消費金額為699797029.7400元,占消費流水金額的61.4831%。如圖2圖3所示。

圖2

圖3
1.針對附件3中的數據建立數據透視表,獲得每位會員在統計時間內的消費總金額、消費次數、會員積分總和、會員會令、單次消費的最大金額等數據。

圖4
2.數據標準化處理
對數據進行統計分析之前,由于各變量的量綱和數量級不同,當各指標間的水平相差很大時,如果直接用原始指標值進行分析,就會突出數值較高的指標在綜合分析中的作用,相對削弱數值水平較低指標的作用。因此,為了保證結果的可靠性,需要對原始指標數據進行標準化處理。
用Excel進行z-score標準化的方法:這種方法基于原始數據的均值(mean)和標準差(standard deviation)進行數據的標準化處理。
新數據=(原數據-均值)/標準差,Excel進行z-score標準化的方法沒有現成的函數,需要自己分步計算:
本題要求針對會員的消費情況建立能夠刻畫每一位會員購買力的數學模型,以便能夠對每個會員的價值進行識別。
1.導入EXCEL數據
將標準化處理的數據導入Matlab。
A=xlsread(D:數學建模數學建模賽題2018-C-Chinese附件3-會員消費明細表處理.xlsx,數據處理最終表,$I2:$M39041);
2.畫散點圖如下所示
采用plot語句畫出每個自變量與消費總金額的散點圖。
3.多元函數線性回歸模型
針對步驟1讀取的數據進行回歸分析
Y=A(:,5);X=[ones(39040,1),A(:,2),A(:,3),A(:,4)];
[b,bint,r,rint,stats]=regress(Y,X)
運行得到
本文希望盡可能用簡單的EXCEL、Matlab操作方法揭示數學建模中對數據的分析處理方法。高職院校學生數學基礎相對薄弱,采取實踐中邊做邊練,用具體實例對學生進行訓練,在實戰中加深對數學方法的理解和領悟,有助于學生對數學建模的熱愛和探索。