◎白 余
(昆明鐵道職業(yè)技術(shù)學(xué)院,云南 昆明 650000)
CUMCM全稱為China Undergraduate Mathematical Contest In Modeling,即全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽.賽題內(nèi)容涉及工業(yè)、經(jīng)濟(jì)、醫(yī)療、環(huán)境、資源、管理等眾多領(lǐng)域,參賽者囊括了各本科及??圃盒5脑谛4髮W(xué)生.數(shù)學(xué)建模是從實(shí)際問(wèn)題出發(fā),通過(guò)數(shù)學(xué)語(yǔ)言對(duì)實(shí)際問(wèn)題進(jìn)行簡(jiǎn)化、抽象和描述,根據(jù)某種定律建立變量和參數(shù)間的數(shù)學(xué)關(guān)系(即數(shù)學(xué)模型),再利用計(jì)算機(jī)軟件對(duì)該數(shù)學(xué)模型進(jìn)行分析和求解,并對(duì)求解出的結(jié)果進(jìn)行分析和檢驗(yàn),最終找到解決實(shí)際問(wèn)題的方案.在賽題中經(jīng)常會(huì)提供出大量信息或海量數(shù)據(jù),從這些問(wèn)題中尋求所需問(wèn)題的答案就是數(shù)據(jù)建模.對(duì)大量實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理,就需要利用計(jì)算機(jī)軟件來(lái)輔助以快速整理和分析,這一過(guò)程即為數(shù)據(jù)建模中的數(shù)據(jù)處理.即利用一定的處理方法從海量數(shù)據(jù)中發(fā)現(xiàn)其內(nèi)在規(guī)律,甚至找出表面上看起來(lái)毫無(wú)關(guān)聯(lián)的數(shù)據(jù)之間的內(nèi)在關(guān)系.
從CUMCM(專科組)近六年的賽題來(lái)看(見(jiàn)表1)每年至少有一道賽題涉及數(shù)據(jù)分析及數(shù)據(jù)處理.本文以部分真題為例介紹了Excel數(shù)據(jù)處理方法及Matlab數(shù)據(jù)處理在高職數(shù)學(xué)建模競(jìng)賽中的應(yīng)用.
表1 CUMCM(??平M)部分賽題表
1.Excel數(shù)據(jù)分析
數(shù)學(xué)建模競(jìng)賽題目給出的原始數(shù)據(jù)大多數(shù)都是以Excel文件的形式保存.Excel軟件具有數(shù)據(jù)格式化、數(shù)據(jù)排序篩選分類匯總、公式與函數(shù)的應(yīng)用、可視化分析各種圖表、數(shù)據(jù)透視表與數(shù)據(jù)透視圖等諸多功能,可用來(lái)對(duì)數(shù)據(jù)進(jìn)行分析與處理.如按關(guān)鍵字排序,按指定條件篩選數(shù)據(jù),按不同類別匯總數(shù)據(jù),快速計(jì)算最值、和值、均值、方差,快速繪制散點(diǎn)圖、折線圖、直方圖,對(duì)數(shù)據(jù)的變化趨勢(shì)進(jìn)行觀察分析,等等.
例如2019年D題——空氣質(zhì)量數(shù)據(jù)的校準(zhǔn).空氣污染對(duì)生態(tài)環(huán)境和人類健康危害巨大,通過(guò)對(duì)“兩塵四氣”(PM2.5、PM10、CO、NO2、SO2、O3)濃度的實(shí)時(shí)監(jiān)測(cè)可以及時(shí)掌握空氣質(zhì)量,對(duì)污染源采取相應(yīng)措施.現(xiàn)提供一段時(shí)間內(nèi)某個(gè)國(guó)家監(jiān)測(cè)控制站點(diǎn)(國(guó)控點(diǎn))每小時(shí)的數(shù)據(jù)和該國(guó)控點(diǎn)近鄰的一個(gè)自建點(diǎn)數(shù)據(jù)(相應(yīng)于國(guó)控點(diǎn)時(shí)間且間隔在5分鐘內(nèi)),要求對(duì)自建點(diǎn)數(shù)據(jù)與國(guó)控點(diǎn)數(shù)據(jù)進(jìn)行探索性數(shù)據(jù)分析,并監(jiān)測(cè)溫度、濕度、風(fēng)速、氣壓、降水等氣象參數(shù)對(duì)空氣質(zhì)量的影響.
從附件1、2中刪掉測(cè)量數(shù)據(jù)差異性較大的部分,選取時(shí)間相近、次數(shù)較為匹配的數(shù)據(jù)作為研究對(duì)象,根據(jù)監(jiān)測(cè)數(shù)據(jù)計(jì)算出每一天國(guó)控點(diǎn)和自建點(diǎn)每個(gè)空氣質(zhì)量濃度的數(shù)據(jù)平均值,通過(guò)Excel圖表制作出國(guó)控點(diǎn)和自建點(diǎn)的空氣質(zhì)量濃度折線圖及柱狀圖(見(jiàn)圖1、圖2),就可以直觀地進(jìn)行國(guó)控點(diǎn)數(shù)據(jù)和自建點(diǎn)數(shù)據(jù)初步的差異性和相關(guān)性分析.
圖1 PM2.5國(guó)控點(diǎn)與自建點(diǎn)的濃度數(shù)據(jù)對(duì)比圖
圖2 PM2.5濃度平均值與溫度平均值的關(guān)系對(duì)比圖
由圖1可知,自建點(diǎn)的PM2.5濃度普遍高于國(guó)控點(diǎn)的PM2.5濃度,根據(jù)問(wèn)題信息我們了解到國(guó)控點(diǎn)的布控較少且花費(fèi)較大,不能夠?qū)崟r(shí)大范圍的監(jiān)測(cè)到PM2.5的濃度數(shù)據(jù),故國(guó)控點(diǎn)的濃度數(shù)值普遍較低,國(guó)控點(diǎn)的PM2.5濃度監(jiān)測(cè)平均值最低達(dá)到19.46 μg/m3.根據(jù)圖2,我們可以知道溫度與PM2.5濃度在2019年1月3日-2019年3月14日的變化關(guān)系.
2.Matlab數(shù)據(jù)擬合
在數(shù)學(xué)建模競(jìng)賽中經(jīng)常會(huì)用數(shù)據(jù)擬合進(jìn)行數(shù)據(jù)處理.在生產(chǎn)和科學(xué)實(shí)驗(yàn)中,很多實(shí)際問(wèn)題的觀測(cè)數(shù)據(jù)并不完全在一條直線上或曲線上,即不能直接寫(xiě)出自變量與因變量關(guān)系的函數(shù)表達(dá)式.那么如何根據(jù)散點(diǎn)圖的變化趨勢(shì),選定一條曲線近似表達(dá)數(shù)據(jù)的相互關(guān)系呢?解決的辦法就是根據(jù)散點(diǎn)圖的變化趨勢(shì)選定近似函數(shù)y=φ(x),不要求它通過(guò)所有已知樣本點(diǎn),但要求在某種準(zhǔn)則(如最小二乘法)下讓這個(gè)近似函數(shù)與這些散點(diǎn)最為接近或總偏差最小,即數(shù)據(jù)擬合.數(shù)據(jù)擬合可分為多項(xiàng)式函數(shù)擬合、非線性擬合.在Matlab中可通過(guò)命令Polyfit( )、Polyval( )和Lsqcurvefit( )或Matlab曲線擬合工具箱cftool實(shí)現(xiàn).命令的調(diào)用格式為:
polyfit(x,y,n);
polyval(p,x);
Lsqcurvefit(fun,x0,xdata,ydata)
為了確定適合擬合的模型,一般先做散點(diǎn)圖觀察數(shù)據(jù)的分布情況再確定模型的選取.
例如2018年C題——大型百貨商場(chǎng)會(huì)員畫(huà)像描繪.在零售行業(yè)中,會(huì)員價(jià)值體現(xiàn)在持續(xù)不斷地為零售運(yùn)營(yíng)商帶來(lái)穩(wěn)定的銷(xiāo)售額和利潤(rùn),同時(shí)也為零售運(yùn)營(yíng)商策略的制定提供數(shù)據(jù)支持.零售行業(yè)會(huì)采取各種不同方法來(lái)吸引更多的人成為會(huì)員,并且盡可能提高會(huì)員的忠誠(chéng)度.結(jié)合附件數(shù)據(jù)針對(duì)會(huì)員的消費(fèi)情況建立能夠刻畫(huà)每一位會(huì)員購(gòu)買(mǎi)力的數(shù)學(xué)模型,以便能夠?qū)γ總€(gè)會(huì)員的價(jià)值進(jìn)行識(shí)別.
為了刻畫(huà)出每一位會(huì)員的購(gòu)買(mǎi)力,可建立會(huì)員購(gòu)買(mǎi)力與會(huì)員會(huì)齡的數(shù)學(xué)模型X(t)=f(t).根據(jù)題目附件選出在一定時(shí)間內(nèi)所有會(huì)員在同一時(shí)間的購(gòu)買(mǎi)數(shù)據(jù)進(jìn)行整理分析,得到會(huì)員購(gòu)買(mǎi)力數(shù)據(jù)采樣表(見(jiàn)表2),并進(jìn)行Matlab曲線擬合.
表2 會(huì)員購(gòu)買(mǎi)力數(shù)據(jù)采樣表
t0=[14 13 12 11 10 9 8 7 6 5 4 3 2 1];
y0=[7717.38 10074.62 17143.99 10667.25 10579.01 8560.46 13008.42 11878.19 12198.11 12768.99 9180.20 21104.70 19207.61 7863.03];
n=10;
p=polyfit(t0,y0,n)
tt=1:0.1:14;
yy=polyval(p,tt);
plot(tt,yy,’-b’,t0,y0,’.r’,’Markersize’,20)
legend(’擬合曲線’,’原始數(shù)據(jù)’)
xlabel(’會(huì)齡’);
ylabel(’購(gòu)買(mǎi)力’)
運(yùn)行該程序得到如下擬合函數(shù)及擬合圖像(見(jiàn)圖3)
圖3
X(t)=-0.0005t7+0.0062t6-0.0471t5+0.2308t4-0.7150t3+1.3134t2-1.2576t+0.4777
本次擬合采用了10次多項(xiàng)式擬合,從圖像上分析大部分原始數(shù)據(jù)都經(jīng)過(guò)了擬合函數(shù),其余數(shù)據(jù)點(diǎn)和擬合函數(shù)滿足最小二乘法則,故擬合效果較好.
3.Matlab數(shù)據(jù)插值
當(dāng)受實(shí)驗(yàn)條件限制或?qū)嶒?yàn)數(shù)據(jù)量不足時(shí),在已有數(shù)據(jù)可信的基礎(chǔ)上,通常利用函數(shù)插值方法插值出兩數(shù)據(jù)點(diǎn)之間的一系列數(shù)據(jù)點(diǎn),所繪制的數(shù)據(jù)曲線會(huì)嚴(yán)格的經(jīng)過(guò)每一個(gè)實(shí)驗(yàn)數(shù)據(jù)點(diǎn).這就是數(shù)據(jù)插值.如信息技術(shù)中的圖像重建、圖像放大過(guò)程中為避免失真而做的插值補(bǔ)點(diǎn)等.常用的插值法有拉格朗日多項(xiàng)式插值、牛頓插值多項(xiàng)式、分段線性插值、樣條插值.Matlab提供的插值函數(shù)有interp1( )、interp2( )等命令分別可進(jìn)行一維插值、二維插值……n維插值,其調(diào)用格式為:
yi=interp1(x,y,xi,’method’);
z=interp2(x,y,z,x0,y0,’method’)
如在1994年賽題計(jì)算山體海拔高度中用到了數(shù)據(jù)插值方法,2005年賽題雨量預(yù)報(bào)的評(píng)價(jià)也用到了插值計(jì)算.
4.Matlab回歸分析
變量之間的關(guān)系大致分為兩類,一類是確定性的關(guān)系,另一類是非確定性的關(guān)系.對(duì)于某些非確定性關(guān)系,當(dāng)自變量x確定后,因變量y的值并不隨之確定,而是按照一定的統(tǒng)計(jì)規(guī)律取值.我們將它們之間的關(guān)系表示為y=f(x)+ε,其中f(x)稱為回歸函數(shù),ε稱為隨機(jī)項(xiàng).這樣的數(shù)據(jù)分析即為回歸分析.回歸分析不僅可以揭示自變量對(duì)因變量的影響大小,還可以用回歸方程進(jìn)行預(yù)測(cè)和控制.回歸分析按照涉及變量的多少可分為一元線性回歸、多元線性回歸.Matlab軟件中的regress( )、nlinfit( )、stepwise( )命令即可實(shí)現(xiàn),其調(diào)用格式為:
[b,bint,r,rint,stats]=regress(y,x,alpha);
[b,r,J]=nlinfit(x,y,’model’,b0);
rcoplot(r,rint);
stepwise(x,y,inmodel,alpha)
例如2016年C題——鉛酸電池作為電源被廣泛用于工業(yè)、軍事、日常生活中.在鉛酸電池以恒定電流強(qiáng)度放電過(guò)程中,電壓隨放電時(shí)間單調(diào)下降,直到額定的最低保護(hù)電壓.在電流為50 A時(shí),測(cè)得電壓x和放電時(shí)間y的數(shù)據(jù)如表3所示.請(qǐng)建立放電時(shí)間隨電壓變化的回歸模型.
表3 鉛酸電池電壓x和放電時(shí)間y的數(shù)據(jù)表
首先把數(shù)據(jù)導(dǎo)入Matlab,再輸入如下程序:
figure(1);
scatter(x,y)
xlabel(′x(電壓)′)
ylabel(′y(時(shí)間)′)
X=[ones(length(y),1),x];
[b,bint,r,rint,stats]=regress(y,X);
figure(2);
rcoplot(r,rint)
運(yùn)行結(jié)果、散點(diǎn)圖及殘差圖如下所示(見(jiàn)圖4、圖5).
圖4 散點(diǎn)圖
圖5 殘差圖
b=1.0e+04 * 1.9703 -0.1870
bint=1.0e+04 * 1.8833 2.0573 -0.1953 -0.1787
stats=1.0e+03 * 0.0010 2.3417 0.0000 0.0006
從各項(xiàng)參數(shù)及散點(diǎn)圖來(lái)看回歸模型顯著,但從殘差圖來(lái)看第七個(gè)數(shù)據(jù)異常,多次刪除異常數(shù)據(jù)后再運(yùn)行程序,運(yùn)行結(jié)果及殘差圖、擬合圖(見(jiàn)圖6、圖7)效果較好.
圖6 殘差圖
圖7 擬合圖
b=1.0e+04 * 1.9611 -0.1861
bint=1.0e+04 * 1.9162 2.0061 -0.1904 -0.1818
stats=1.0e+03 * 0.0010 9.1470 0.0000 0.0001
因此時(shí)間隨電壓變化的回歸模型為:
y=19611-1861x
當(dāng)下是信息爆炸的時(shí)代,大數(shù)據(jù)應(yīng)用于生產(chǎn)生活的各個(gè)領(lǐng)域.數(shù)據(jù)處理在高職數(shù)學(xué)建模中亦發(fā)揮著非常關(guān)鍵的作用,合理選擇數(shù)據(jù)處理方法能提高數(shù)據(jù)分析的準(zhǔn)確性.借助相關(guān)數(shù)學(xué)軟件(Excel、Matlab、Python、SPSS等)進(jìn)行數(shù)據(jù)處理可大大提高數(shù)學(xué)建模的效率.
數(shù)學(xué)學(xué)習(xí)與研究2022年29期