程雪平,賴(lài)慶
(廣州華商學(xué)院數(shù)據(jù)科學(xué)學(xué)院,廣州 511300)
隨著時(shí)代與經(jīng)濟(jì)發(fā)展,我國(guó)高校的家庭經(jīng)濟(jì)困難學(xué)生資助體系日趨完善[1]。但就家庭經(jīng)濟(jì)困難學(xué)生認(rèn)定工作而言,大多數(shù)高校仍沿用人工評(píng)定的方法。人工評(píng)定方法在實(shí)際應(yīng)用中存在諸如貧困申請(qǐng)材料真?zhèn)坞y辨、信息源單一等問(wèn)題,因此導(dǎo)致高校家庭經(jīng)濟(jì)困難學(xué)生的準(zhǔn)確性和資助效果大打折扣。
校園一卡通記錄的是學(xué)生日常消費(fèi)數(shù)據(jù),根據(jù)學(xué)生的消費(fèi)行為判斷學(xué)生的家庭收入情況在所有學(xué)生中所處的水平有一定的幫助。本文以某高校(簡(jiǎn)稱(chēng)A高校)校園一卡通的消費(fèi)數(shù)據(jù)為基礎(chǔ),采用聚類(lèi)分析[2]對(duì)學(xué)生消費(fèi)數(shù)據(jù)進(jìn)行分類(lèi),從而為家庭經(jīng)濟(jì)困難學(xué)生的認(rèn)定提供輔助決策支持。
采用一卡通消費(fèi)特征[3]數(shù)據(jù)對(duì)家庭經(jīng)濟(jì)困難學(xué)生進(jìn)行認(rèn)定,基于以下幾點(diǎn)常識(shí)和假設(shè):①家庭經(jīng)濟(jì)困難學(xué)生使用校園卡在校內(nèi)消費(fèi)的頻率較非貧困學(xué)生多。②家庭經(jīng)濟(jì)困難學(xué)生在校使用校園卡消費(fèi)的總金額相對(duì)較小。③家庭經(jīng)濟(jì)困難學(xué)生使用校園卡消費(fèi)的日均消費(fèi)金額和次均消費(fèi)金額較小,且使用校園卡消費(fèi)的頻率較為穩(wěn)定。
因此,本文選用的消費(fèi)特征數(shù)據(jù)包括以下四類(lèi)[4]:月均消費(fèi)次數(shù)、月均消費(fèi)金額、日均消費(fèi)金額、次均消費(fèi)金額。
A高校設(shè)有專(zhuān)門(mén)的信息中心,其一卡通數(shù)據(jù)庫(kù)中積累了大量的教職工和學(xué)生的日常消費(fèi)數(shù)據(jù)。本文真實(shí)采集了A高校28867名在校本科生2019年度總共6287134條消費(fèi)數(shù)據(jù)。其中,學(xué)生消費(fèi)類(lèi)型包括餐費(fèi)支出、賬號(hào)充值、水電費(fèi)支出、圖書(shū)館借閱、認(rèn)證考試培訓(xùn)費(fèi)用支出等各個(gè)方面。
學(xué)生原始消費(fèi)數(shù)據(jù)內(nèi)容如圖1所示。
圖1 校園一卡通原始消費(fèi)數(shù)據(jù)(部分)
其中,消費(fèi)數(shù)據(jù)中總共包括一卡通賬號(hào)、學(xué)號(hào)、學(xué)生姓名、交易金額、交易類(lèi)型、交易時(shí)間等23個(gè)字段,為了保護(hù)學(xué)生隱私,在此將學(xué)生姓名隱去。
如前所述,一卡通消費(fèi)數(shù)據(jù)中總共有23個(gè)字段,其中部分字段與本文研究?jī)?nèi)容無(wú)關(guān),因此對(duì)這些無(wú)關(guān)字段可以進(jìn)行規(guī)約。
根據(jù)研究需要,規(guī)約后的消費(fèi)數(shù)據(jù)表結(jié)構(gòu)如表1所示。
表1 數(shù)據(jù)規(guī)約后的歷史消費(fèi)數(shù)據(jù)表結(jié)構(gòu)
數(shù)據(jù)導(dǎo)出之后,需要對(duì)異常數(shù)據(jù)進(jìn)行必要的預(yù)處理,將異常數(shù)據(jù)去除,從而提升數(shù)據(jù)的準(zhǔn)確性和有效性。
經(jīng)分析發(fā)現(xiàn)主要存在兩類(lèi)數(shù)據(jù)異常情況:一類(lèi)是student_id為空的消費(fèi)數(shù)據(jù),student_id為空,意味著這類(lèi)消費(fèi)記錄無(wú)法關(guān)聯(lián)到具體的學(xué)生,且該類(lèi)異常數(shù)據(jù)在總樣本中占比較小,故而選擇刪除;另一類(lèi)異常情況是存在一定比例的數(shù)據(jù),其消費(fèi)金額為0.01元,通過(guò)進(jìn)一步查詢(xún)分析,發(fā)現(xiàn)這類(lèi)數(shù)據(jù)為系統(tǒng)測(cè)試數(shù)據(jù),同樣予以刪除。
為保證數(shù)據(jù)完整性,以及方便研究與對(duì)比,從學(xué)生信息表中抽取2018級(jí)數(shù)科院882名本科生與進(jìn)行預(yù)處理后的2019年度總體消費(fèi)數(shù)據(jù)進(jìn)行關(guān)聯(lián),總共篩選出233667條消費(fèi)數(shù)據(jù)構(gòu)建家庭經(jīng)濟(jì)困難學(xué)生指標(biāo)模型。
K-Means聚類(lèi)算法(K-means clustering algo?rithm)是一種迭代求解的算法,其核心思想和基本原理在諸多資料和文獻(xiàn)中均有具體描述,在此不再贅述。該算法具有原理簡(jiǎn)單、便于處理大量數(shù)據(jù)等優(yōu)點(diǎn),其聚類(lèi)效果和性能均優(yōu)于多種其他聚類(lèi)算法[5]。
選用K-means聚類(lèi)算法解決實(shí)際問(wèn)題,其難點(diǎn)在于找到一個(gè)最接近于真實(shí)情況的K值,從而實(shí)現(xiàn)數(shù)據(jù)的最優(yōu)聚類(lèi)。
把經(jīng)過(guò)前述預(yù)處理之后的18級(jí)數(shù)科院882名本科生2019年度的一卡通消費(fèi)數(shù)據(jù)導(dǎo)入IBM數(shù)據(jù)挖掘(建模)軟件SPSS MODELER,從而構(gòu)造出該882名學(xué)生的消費(fèi)特征數(shù)據(jù)。
本文根據(jù)18級(jí)數(shù)科院學(xué)生2019年度的消費(fèi)總額、消費(fèi)總次數(shù)以及總消費(fèi)天數(shù)和學(xué)生一年中有消費(fèi)記錄的月份數(shù)構(gòu)造出每名學(xué)生的月均消費(fèi)次數(shù)、月均消費(fèi)金額、日均消費(fèi)金額、次均消費(fèi)金額等消費(fèi)特征數(shù)據(jù),為后續(xù)K-means算法中的家庭經(jīng)濟(jì)困難學(xué)生聚類(lèi)提供數(shù)據(jù)基礎(chǔ)。
如前所述,采用一卡通消費(fèi)特征數(shù)據(jù)進(jìn)行聚類(lèi),其前提條件之一,是家庭經(jīng)濟(jì)困難學(xué)生使用一卡通消費(fèi)頻率較高。
對(duì)樣本數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)樣本數(shù)據(jù)中有部分學(xué)生整個(gè)年度的消費(fèi)記錄較少,例如,某學(xué)生整個(gè)2019年度只有一條消費(fèi)記錄,這種情況下的消費(fèi)金額存在著較大的偶然性,甚至可能會(huì)孤立成類(lèi),如果將類(lèi)似的消費(fèi)數(shù)據(jù)一并帶到模型中進(jìn)行聚類(lèi)分析,勢(shì)必會(huì)影響聚類(lèi)結(jié)果的客觀性與合理性,因此在進(jìn)行聚類(lèi)分析之前,對(duì)樣本中消費(fèi)次數(shù)過(guò)少的情況應(yīng)該加以過(guò)濾。
為了將消費(fèi)次數(shù)較少的樣本數(shù)據(jù)過(guò)濾,又不至于因過(guò)濾的數(shù)據(jù)太多而影響聚類(lèi)效果,在參考國(guó)內(nèi)外有關(guān)一卡通消費(fèi)行為研究文獻(xiàn)的基礎(chǔ)上,引入年度必要消費(fèi)次數(shù)[6]概念——如果樣本數(shù)據(jù)消費(fèi)次數(shù)小于必要消費(fèi)次數(shù),則將樣本數(shù)據(jù)剔除,否則,樣本數(shù)據(jù)保留。
必要消費(fèi)次數(shù)的計(jì)算公式如下:
年度必要消費(fèi)次數(shù)=全部學(xué)生年度平均消費(fèi)次數(shù)×必要消費(fèi)控制因子
通常,必要消費(fèi)因子控制在0.71~0.85[7]之間較為合適,由于A高校各種消費(fèi)場(chǎng)所支持的支付方式不僅包括校園一卡通,也包括各種移動(dòng)支付,如微信、支付寶等,為了盡可能保留有效記錄,本文選取的必要消費(fèi)控制因子為其取值范圍的下限,即0.71。
在此基礎(chǔ)上通過(guò)計(jì)算,構(gòu)建模型之前,首先要過(guò)濾掉年度消費(fèi)次數(shù)小于262的樣本,然后再去構(gòu)造消費(fèi)特征數(shù)據(jù)模型。
使用SPSS MODELER數(shù)據(jù)挖掘工具過(guò)濾并構(gòu)建的學(xué)生一卡通消費(fèi)特征模型如圖2所示。
圖2 一卡通消費(fèi)特征數(shù)據(jù)模型構(gòu)造
其計(jì)算結(jié)果如圖3所示。
圖3 18級(jí)數(shù)科院學(xué)生19年度消費(fèi)特征數(shù)據(jù)(部分)
如前所述,K-means聚類(lèi)算法的主要問(wèn)題,在于找到一個(gè)最優(yōu)的K值,從而達(dá)到最佳聚類(lèi)效果。
K-means聚類(lèi)算法中關(guān)于最優(yōu)K值的確定,通常有兩種方法,即拐點(diǎn)法[8](elbow method)和輪廓系數(shù)法。
拐點(diǎn)法通過(guò)計(jì)算簇內(nèi)誤方差(sum of squares due to error,SSE)作為目標(biāo)函數(shù)劃分簇確定最佳的K值[9]。
由于SPSS Modeler數(shù)據(jù)挖掘工具本身自帶的聚類(lèi)效果評(píng)價(jià)算法就是輪廓系數(shù)測(cè)量法,因此本文主要采用簇內(nèi)誤方差法確定K值,然后在此基礎(chǔ)上觀察該K值在SPSS Modeler的聚類(lèi)效果。
拐點(diǎn)法確定K值的基本思想如下:若K值小于真實(shí)聚類(lèi)數(shù),隨著K值增大,每個(gè)簇簇內(nèi)的聚合度會(huì)大幅提升,代表簇內(nèi)誤方差的SSE值則會(huì)猛烈下降;而當(dāng)K值比較接近真實(shí)聚類(lèi)數(shù)時(shí),K值若再增加,簇內(nèi)聚合程度就會(huì)大幅減小,此時(shí)SSE的下降幅度會(huì)驟然減小,在此基礎(chǔ)上K值再增加,SSE的值便會(huì)趨于平緩,而在驟減和趨于平緩的曲線圖中可以得到一個(gè)較為明顯的拐點(diǎn),這個(gè)拐點(diǎn)對(duì)應(yīng)的K值,就是比較合適的聚類(lèi)數(shù)。
拐點(diǎn)法的核心指標(biāo)是簇內(nèi)誤方差(sum of squares due to error,SSE),
其中,X i指K-means中的第i個(gè)簇,p是X i的樣本點(diǎn),m i是X i的質(zhì)心(X i中所有樣本的均值),S S E是所有樣本的聚類(lèi)誤差[10],代表著聚類(lèi)質(zhì)量的高低。
綜上,利用簇內(nèi)誤方差法(SSE)確定K-means參數(shù)的算法流程如下:
(1)讀取預(yù)處理過(guò)后的特征數(shù)據(jù)。
(2)讓K從1開(kāi)始取值,直到取到比較合適的上限(通常這個(gè)上限值不會(huì)太大,一般在10以?xún)?nèi))。
(3)對(duì)每一個(gè)K值按照特定條件進(jìn)行聚類(lèi)(本文使用學(xué)生消費(fèi)特征數(shù)據(jù)進(jìn)行聚類(lèi),包括學(xué)生的月均消費(fèi)次數(shù)、月均消費(fèi)金額、日均消費(fèi)金額,次均消費(fèi)金額),并記錄相對(duì)應(yīng)的S S E值。
(4)畫(huà)出K和S S E的曲線關(guān)系圖。
(5)根據(jù)圖形特征,選取曲線拐點(diǎn)對(duì)應(yīng)的K值作為最佳聚類(lèi)數(shù)。
根據(jù)以上理論和算法,本文利用jupyter Note?book平臺(tái)編寫(xiě)Python程序,將2018級(jí)數(shù)科院學(xué)生2019年度的一卡通消費(fèi)特征數(shù)據(jù)的肘部曲線圖描繪出來(lái),程序運(yùn)行結(jié)果如圖4所示。
圖4 使用肘部法確定K值
從圖4可以看出,當(dāng)K的值取4時(shí),明顯是該肘部曲線的拐點(diǎn),由此可以判定,K=4是比較接近真實(shí)情況的聚類(lèi)數(shù)。
據(jù)此,在使用spss modeler數(shù)據(jù)挖掘工具進(jìn)行K-means建模時(shí),聚類(lèi)數(shù)K可直接設(shè)置為4,并以學(xué)生消費(fèi)特征數(shù)據(jù)月均消費(fèi)總次數(shù)、月均消費(fèi)金額、次均消費(fèi)金額、日均消費(fèi)金額作為輸入條件進(jìn)行聚類(lèi)分析。
考慮到歷史消費(fèi)數(shù)據(jù)中,絕大多數(shù)數(shù)據(jù)屬于食堂餐費(fèi)支出,而餐費(fèi)支出中男生和女生的消費(fèi)特點(diǎn)具有一定的差異性,因此,在使用聚類(lèi)算法對(duì)消費(fèi)特征數(shù)據(jù)進(jìn)行挖掘時(shí),將男生和女生的數(shù)據(jù)分別進(jìn)行聚類(lèi),從而得出一個(gè)更加客觀和接近真實(shí)情況的聚類(lèi)結(jié)果。
圖5是2018級(jí)數(shù)科院男生2019年度一卡通消費(fèi)特征數(shù)據(jù)的聚類(lèi)結(jié)果,其聚類(lèi)數(shù)為K=4。
圖5 2018級(jí)數(shù)科院男生2019年度一卡通消費(fèi)特征數(shù)據(jù)聚類(lèi)結(jié)果
其中預(yù)測(cè)變量的重要性如圖6所示。
圖6 2018級(jí)數(shù)科院男生2019年度消費(fèi)特征數(shù)據(jù)預(yù)測(cè)變量重要性
取K=4時(shí),SPSS Modeler數(shù)據(jù)挖掘工具聚類(lèi)效果評(píng)價(jià)如圖7所示。
圖7 取K=4時(shí)聚類(lèi)質(zhì)量評(píng)價(jià)
從聚類(lèi)結(jié)果評(píng)價(jià)來(lái)看,本文采用簇內(nèi)誤方差確定K值的方法達(dá)到了良好的聚類(lèi)效果。
如前所述,用一卡通消費(fèi)特征數(shù)據(jù)建模判定家庭經(jīng)濟(jì)困難學(xué)生所假設(shè)的前提是,家庭經(jīng)濟(jì)困難學(xué)生在校使用校園卡消費(fèi)的頻次較高,并且日均消費(fèi)金額和次均消費(fèi)金額均比較低的,綜合數(shù)據(jù)的聚類(lèi)結(jié)果分析,圖5中的聚類(lèi)2符合家庭經(jīng)濟(jì)困難學(xué)生的消費(fèi)特征,而其他聚類(lèi)為不貧困的三種情況。
混淆矩陣(confusion matrix),是一種用來(lái)評(píng)判模型結(jié)果的指標(biāo),屬于模型評(píng)估的一部分,多用于判斷分類(lèi)器的優(yōu)劣,非常適用于分類(lèi)型的數(shù)據(jù)模型,其中二分類(lèi)問(wèn)題是混淆矩陣最典型也是最簡(jiǎn)單的應(yīng)用場(chǎng)景[11]。
本文根據(jù)學(xué)生消費(fèi)特征構(gòu)造的聚類(lèi)模型,最終將學(xué)生分為貧困與非貧困兩大類(lèi),是典型的二分類(lèi)問(wèn)題,因此可以采用混淆矩陣來(lái)判斷聚類(lèi)分析結(jié)果的質(zhì)量。
在混淆矩陣的二分類(lèi)問(wèn)題中,模型最終需要判斷樣本的結(jié)果是0或者1,或者是positive(正例)還是negative(負(fù)例)。
通過(guò)樣本采集,可以了解在真實(shí)情況下,哪些數(shù)據(jù)結(jié)果是正例,哪些結(jié)果是負(fù)例。同時(shí),通過(guò)樣本數(shù)據(jù)跑出分類(lèi)型模型的結(jié)果,也可以指導(dǎo)模型對(duì)正例和負(fù)例進(jìn)行分類(lèi),由此可以得到如下四個(gè)基礎(chǔ)指標(biāo):
真實(shí)值是正例,模型認(rèn)為是正例的數(shù)量(True Positive=T P)
真實(shí)值是正例,模型認(rèn)為是負(fù)例的數(shù)量(False Negative=F N)
真實(shí)值是負(fù)例,模型認(rèn)為是正例的數(shù)量(False Positive=FP)
真實(shí)值是負(fù)例,模型認(rèn)為是負(fù)例的數(shù)量(True Negative=TN)
將以上四個(gè)基礎(chǔ)指標(biāo)構(gòu)造如下混淆矩陣表。
表2 混淆矩陣表
混淆矩陣的準(zhǔn)確率是一個(gè)二級(jí)指標(biāo),其通過(guò)統(tǒng)計(jì)正例與反例的數(shù)量衡量整個(gè)聚類(lèi)模型質(zhì)量的好壞,而為了進(jìn)一步度量聚類(lèi)模型識(shí)別家庭經(jīng)濟(jì)困難學(xué)生的精確度,需要引入混淆矩陣中另外兩個(gè)二級(jí)指標(biāo)——精確率(precision)和召回率(re?call)。
其中精確率針對(duì)預(yù)測(cè)結(jié)果而言,用來(lái)計(jì)算預(yù)測(cè)為正的樣本中有多少是真正的樣本,而召回率則是針對(duì)原來(lái)的樣本數(shù),表示樣本中有多少正例數(shù)被正確的預(yù)測(cè)到。
高校制定家庭經(jīng)濟(jì)困難學(xué)生資助體系的初衷,就是最大限度地照顧到所有家庭經(jīng)濟(jì)困難的學(xué)生,資助其順利完成學(xué)業(yè),因此,根據(jù)本文研究場(chǎng)景和目標(biāo),選擇召回率作為衡量家庭經(jīng)濟(jì)困難學(xué)生識(shí)別率的指標(biāo)更為合理。
混淆矩陣中,召回率計(jì)算公式如下:
將A高校學(xué)生處提供的真實(shí)的2018級(jí)數(shù)科院性別為男的家庭經(jīng)濟(jì)困難學(xué)生名單與前述聚類(lèi)3中的數(shù)據(jù)放入到混淆矩陣,結(jié)果如表3所示。
表3 混淆矩陣表
根據(jù)上表中的數(shù)據(jù),通過(guò)簡(jiǎn)單計(jì)算,該聚類(lèi)模型的準(zhǔn)確率約為88.9%,而家庭經(jīng)濟(jì)困難學(xué)生識(shí)別率約為64.4%。
單從結(jié)果數(shù)據(jù)來(lái)看,該聚類(lèi)模型與實(shí)際情況存在一定的差距,經(jīng)過(guò)對(duì)數(shù)據(jù)進(jìn)一步分析發(fā)現(xiàn),原因主要有以下兩點(diǎn):
(1)在學(xué)生處提供的62名家庭經(jīng)濟(jì)困難男學(xué)生名單中,有少部分同學(xué)因?yàn)?019年度使用一卡通消費(fèi)的次數(shù)沒(méi)有達(dá)到年度必要消費(fèi)次數(shù),而直接被模型過(guò)濾掉。
(2)在做數(shù)據(jù)對(duì)比的過(guò)程中,發(fā)現(xiàn)有些實(shí)際被評(píng)為家庭經(jīng)濟(jì)困難的學(xué)生,并不屬于模型中的貧困類(lèi),甚至這類(lèi)學(xué)生的消費(fèi)水平還比較高;而有些在模型中屬于貧困類(lèi)的學(xué)生,實(shí)際并沒(méi)有被評(píng)定為家庭經(jīng)濟(jì)困難學(xué)生。這在很大程度上說(shuō)明,當(dāng)前實(shí)際工作中對(duì)家庭經(jīng)濟(jì)困難學(xué)生的認(rèn)定方法和流程客觀上存在一定的問(wèn)題,而這也恰恰說(shuō)明本文使用的聚類(lèi)模型具有一定的合理性與實(shí)用性。
總體來(lái)看,本文采用的一卡通消費(fèi)特征數(shù)據(jù)和聚類(lèi)模型具有一定的識(shí)別率和準(zhǔn)確性,能對(duì)應(yīng)用型本科院校的家庭經(jīng)濟(jì)困難學(xué)生認(rèn)定提供一些的決策支持,為更好的發(fā)放家庭經(jīng)濟(jì)困難學(xué)生補(bǔ)助提供理論依據(jù)。
當(dāng)然,由于學(xué)校各種場(chǎng)所的支付方式不僅僅支持校園一卡通支付,還包括其他移動(dòng)支付方式,而這些支付方式并沒(méi)有接入信息中心的數(shù)據(jù)庫(kù),因此會(huì)導(dǎo)致一定數(shù)量的實(shí)際數(shù)據(jù)丟失,從而導(dǎo)致模型的計(jì)算結(jié)果與實(shí)際情況存在一定的偏差。
在今后的研究中,如果能夠?qū)@些移動(dòng)支付數(shù)據(jù)進(jìn)行接入并加以采集并使用更優(yōu)的方法,相信能夠取得更好的結(jié)果。