劉拓 俞鋮航 黃烈雨
問(wèn)卷調(diào)查是開(kāi)展衛(wèi)生健康標(biāo)準(zhǔn)研究的主要方法之一。既往衛(wèi)生健康標(biāo)準(zhǔn)研究中,問(wèn)卷調(diào)查數(shù)據(jù)的統(tǒng)計(jì)分析多采用描述性統(tǒng)計(jì)分析,對(duì)于調(diào)查對(duì)象選擇問(wèn)卷中各題目選項(xiàng)之間的關(guān)聯(lián)關(guān)系關(guān)注較少。既往研究表明,關(guān)聯(lián)規(guī)則(association rules)可以從大量數(shù)據(jù)中挖掘各屬性指標(biāo)或指標(biāo)組合之間的隱藏關(guān)聯(lián)關(guān)系,從而為優(yōu)化管理提供技術(shù)線(xiàn)索;而Apriori算法是其中最為常用的算法之一[1-5]。R語(yǔ)言作為一種免費(fèi)的開(kāi)源性數(shù)據(jù)分析工具,已有大量?jī)?yōu)秀的包(package),可以適用于多種場(chǎng)景和統(tǒng)計(jì)功能,且更加適合當(dāng)前知識(shí)產(chǎn)權(quán)保護(hù)意識(shí)及軟件正版化逐漸增強(qiáng)科研環(huán)境[6]。本研究擬以某次職業(yè)病診斷標(biāo)準(zhǔn)應(yīng)用情況調(diào)查數(shù)據(jù)為例,歸納Apriori算法在衛(wèi)生健康標(biāo)準(zhǔn)問(wèn)卷調(diào)查數(shù)據(jù)中的應(yīng)用方法、注意事項(xiàng)及R語(yǔ)言實(shí)現(xiàn)方法,為進(jìn)一步完善衛(wèi)生健康標(biāo)準(zhǔn)問(wèn)卷調(diào)查數(shù)據(jù)挖掘方法體系提供參考。
以課題組利用自制問(wèn)卷,于2019年5—9月在全國(guó)范圍開(kāi)展的職業(yè)病診斷標(biāo)準(zhǔn)應(yīng)用情況調(diào)查數(shù)據(jù)為例。該數(shù)據(jù)共有有效問(wèn)卷92份,調(diào)查92名對(duì)象,涉及11個(gè)省、自治區(qū)的37個(gè)機(jī)構(gòu),涵蓋疾控中心、職防院所、醫(yī)療衛(wèi)生、用人單位等機(jī)構(gòu)從事職業(yè)病診斷工作的人員。調(diào)查對(duì)象對(duì)115項(xiàng)職業(yè)病診斷標(biāo)準(zhǔn)的科學(xué)性、可操作性、實(shí)施效果、滿(mǎn)足需要等4個(gè)方面進(jìn)行評(píng)價(jià),采用Likert 5級(jí)計(jì)分法,以1分為完全不符合(最差),5分為完全符合(最好)。
1.2.1 關(guān)鍵規(guī)則的原理 關(guān)鍵規(guī)則是一種挖掘復(fù)雜事物中兩個(gè)或多個(gè)變量之間頻繁規(guī)律和關(guān)聯(lián)特征的方法。關(guān)聯(lián)規(guī)則是表達(dá)形式為X→Y,其中項(xiàng)集X為先決條件,即前項(xiàng);項(xiàng)集Y為對(duì)應(yīng)關(guān)聯(lián)結(jié)果,即后項(xiàng)。項(xiàng)集X與項(xiàng)集Y均為項(xiàng)集I的真子集,并且X與Y無(wú)交集,項(xiàng)集I為事務(wù)數(shù)據(jù)庫(kù)D的項(xiàng)集。有3個(gè)指標(biāo)用于描述關(guān)聯(lián)規(guī)則的關(guān)聯(lián)強(qiáng)度,即支持度(support)、置信度(confidence)、提升度(lift),分別度量關(guān)聯(lián)規(guī)則的普遍性、有效性和前項(xiàng)出現(xiàn)對(duì)后項(xiàng)出現(xiàn)的影響程度。一般以支持度>最小支持度且置信度>最小置信度為強(qiáng)關(guān)聯(lián)規(guī)則,詳見(jiàn)表1。
表1 關(guān)聯(lián)規(guī)則統(tǒng)計(jì)指標(biāo)計(jì)算公式表
1.2.2 Apriori算法原理 作為一種逐層搜索的迭代方法,Apriori是關(guān)聯(lián)規(guī)則計(jì)算中最常用的的算法之一,其主要利用最小支持度和最小置信度2個(gè)參數(shù)進(jìn)行控制,利用“任一頻繁項(xiàng)集的所有非空子集均為頻繁項(xiàng)集”的性質(zhì)進(jìn)行計(jì)算,算法流程詳見(jiàn)圖1。
圖1 Apriori算法流程圖
將調(diào)查數(shù)據(jù)用Excel 2013整理后導(dǎo)入Rstudio(版本號(hào):3.5.3),利用arules包(版本號(hào):1.6-4)的Apriori函數(shù)進(jìn)行關(guān)聯(lián)規(guī)則計(jì)算,設(shè)定最小支持度和最小置信度分別為0.3和0.8,以提升度排名前10名的規(guī)則作為有效強(qiáng)關(guān)聯(lián)規(guī)則。
將問(wèn)卷調(diào)查數(shù)據(jù)整理成如表2的形式,其中ID問(wèn)卷編號(hào),共計(jì)92份有效問(wèn)卷。為了方便Rstudio進(jìn)行數(shù)據(jù)分析,設(shè)標(biāo)準(zhǔn)用S表示,S1表示編號(hào)為1號(hào)的標(biāo)準(zhǔn),S2表示編號(hào)為2號(hào)的標(biāo)準(zhǔn),以此類(lèi)推,共計(jì)115項(xiàng)標(biāo)準(zhǔn);科學(xué)性、可操作性、實(shí)施效果、滿(mǎn)足需要分別用V1、V2、V3、V4表示;分值分別用A、B、C、D、E表示Likert得分為5、4、3、2、1分。則S1_V1表示編號(hào)為1號(hào)的標(biāo)準(zhǔn)的科學(xué)性,如其取值為S1_V1=A,則代表編號(hào)為1號(hào)的標(biāo)準(zhǔn)的科學(xué)性的Likert得分為5分。
表2 關(guān)聯(lián)規(guī)則數(shù)據(jù)導(dǎo)入樣表
如果所有的package都默認(rèn)已經(jīng)安裝。如未提前安裝,可直接通過(guò)菜單→Tools→Install Packages來(lái)安裝,或者利用install.packages()命令來(lái)進(jìn)行安裝。
2.2.1 數(shù)據(jù)導(dǎo)入 將整理好的Excel文件命名為“import172”,地址為“E:/Ranalysis”。打開(kāi)RStudio,輸入library()命令調(diào)用readxl包,并導(dǎo)入數(shù)據(jù)。代碼及其注釋如下:
library(readxl)# 調(diào)用 readxl包
import172<-read_excel("E:/Ranalysis/import172.xlsx")# 導(dǎo)入Excel文件并命名為import172
View(import172)#查看導(dǎo)入的數(shù)據(jù)
trans172<-as(import172,"transactions")#將導(dǎo)入數(shù)據(jù)轉(zhuǎn)為關(guān)聯(lián)規(guī)則可以分析的形式
View(trans172)#查看轉(zhuǎn)化后的數(shù)據(jù)
如轉(zhuǎn)化后的數(shù)據(jù)無(wú)問(wèn)題,則可以進(jìn)入下一步的分析中。
2.2.2 計(jì)算關(guān)聯(lián)規(guī)則 輸入library()命令調(diào)用arules包,將設(shè)定最小支持度和最小置信度分別為0.3和0.8,挖掘出的關(guān)聯(lián)規(guī)則命名為res172。代碼及其注釋如下:
本次挖掘共產(chǎn)生28條強(qiáng)關(guān)聯(lián)規(guī)則,取提升度排名前10名的強(qiáng)規(guī)則作為有效強(qiáng)關(guān)聯(lián)規(guī)則。則有效強(qiáng)關(guān)聯(lián)規(guī)則支持度、置信度和提升度的最小值分別是0.373 6、0.871 8和2.063 5,最大值分別是0.439 6、1和2.166 7,詳見(jiàn)表3。
表3 衛(wèi)生健康標(biāo)準(zhǔn)問(wèn)卷調(diào)查數(shù)據(jù)關(guān)聯(lián)規(guī)則表(按提升度排序)
通過(guò)關(guān)聯(lián)規(guī)則挖掘可知,有效強(qiáng)關(guān)聯(lián)規(guī)則的均涉及編號(hào)為91號(hào)的標(biāo)準(zhǔn)(以下簡(jiǎn)稱(chēng)S91標(biāo)準(zhǔn)),其在科學(xué)性、可操作性、實(shí)施效果、滿(mǎn)足需要4個(gè)維度上得分為5分(即S91_V1=A、S91_V2=A、S91_V3=A和S91_V4=A)之間出現(xiàn)較為頻繁,提示S91標(biāo)準(zhǔn)綜合可能評(píng)價(jià)較高。頻數(shù)統(tǒng)計(jì)發(fā)現(xiàn),分別有54、51、51、50名調(diào)查對(duì)象對(duì)S91標(biāo)準(zhǔn)的科學(xué)性、可操作性、實(shí)施效果、滿(mǎn)足需要4個(gè)維度(即S91_V1、S91_V2、S91_V3和S91_V4)進(jìn)行打分,分別占調(diào)查對(duì)象總數(shù)的58.7%、55.43%、55.43%、54.35%。其中有45、42、42、38名調(diào)查對(duì)象對(duì)科學(xué)性、可操作性、實(shí)施效果、滿(mǎn)足需要4個(gè)維度給出了5分,即S91_V1=A、S91_V2=A、S91_V3=A、S91_V4=A分別有45、42、42、38名,占對(duì)S91標(biāo)準(zhǔn)打分調(diào)查對(duì)象的83.33%、82.35%、82.35%、76.00%。綜上基于Apriori算法的關(guān)聯(lián)規(guī)則挖掘的結(jié)果與頻數(shù)統(tǒng)計(jì)結(jié)果基本相符。
輸入library()命令調(diào)用arulesViz包及其依賴(lài)的grid包。如挖掘出的關(guān)聯(lián)規(guī)則過(guò)多,不宜直接繪制散點(diǎn)圖,可以采用隨機(jī)抽樣的方式抽取一部分?jǐn)?shù)據(jù)繪制散點(diǎn)圖,散點(diǎn)圖以支持度和置信度為橫軸和縱軸,以提升度為三點(diǎn)顏色,顏色越深提升度越高,詳見(jiàn)圖2。代碼及其注釋如下。
library(grid)#調(diào)用arulesViz包依賴(lài)的grid包
library(arulesViz)# 調(diào)用 arulesViz包
set.seed(123)#設(shè)置隨機(jī)抽樣的種子
res172_smpl<-sample(res172,size=10,replace=FALSE)# 在產(chǎn)生的關(guān)聯(lián)規(guī)則中進(jìn)行抽樣,抽樣的樣本量為10,抽樣后產(chǎn)生的數(shù)據(jù)集為res172_smpl
plot(res172_smpl,measure=c("support","confidence"),shading="lift")#繪制關(guān)聯(lián)規(guī)則的散點(diǎn)圖
除了直接運(yùn)行代碼進(jìn)行關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘之外,還可以利用shinythemes包進(jìn)行交互式關(guān)聯(lián)規(guī)則挖掘。在交互界面,可以通過(guò)鼠標(biāo)拖動(dòng),設(shè)定最小支持度、置信度、提升度和規(guī)則長(zhǎng)度等參數(shù),實(shí)現(xiàn)自動(dòng)挖掘關(guān)聯(lián)規(guī)則。代碼及其注釋如下。
library(shinythemes)# 調(diào)用 shinythemes包
ruleExplorer(res172)#啟動(dòng)交互界面
調(diào)查問(wèn)卷在衛(wèi)生健康標(biāo)準(zhǔn)領(lǐng)域其多用于標(biāo)準(zhǔn)需求調(diào)研、實(shí)施效果評(píng)估等,具有應(yīng)用范圍廣、編制靈活、操作簡(jiǎn)單的優(yōu)點(diǎn),調(diào)查數(shù)據(jù)結(jié)果多為以二維表的形式呈現(xiàn)離散型數(shù)據(jù)。既往衛(wèi)生健康標(biāo)準(zhǔn)研究多數(shù)據(jù)研究中,多將問(wèn)卷調(diào)查數(shù)據(jù)中不同的題目之間視為成相互獨(dú)立的指標(biāo),統(tǒng)計(jì)方法以描述性統(tǒng)計(jì)分析為主,多采用概貌分析策略和差異性分析策略,前者主要是統(tǒng)計(jì)調(diào)查對(duì)象選擇問(wèn)卷中各題目選項(xiàng)的頻數(shù)或頻率,以獲取調(diào)查數(shù)據(jù)的概貌特征;后者主要是根據(jù)調(diào)查對(duì)象的不同特征(如專(zhuān)業(yè)背景、地域分布、行業(yè)來(lái)源)等進(jìn)行分組并構(gòu)建交叉表,利用卡方檢驗(yàn)等統(tǒng)計(jì)方法分析某一指標(biāo)不同分組之間的分布差異是否具有統(tǒng)計(jì)學(xué)意義。概貌分析策略和差異性分析策略忽略了不同題目的之間關(guān)聯(lián)信息,可能存在對(duì)數(shù)據(jù)分析不充分的問(wèn)題。隨著我國(guó)社會(huì)經(jīng)濟(jì)快速發(fā)展,標(biāo)準(zhǔn)在社會(huì)管理事務(wù)中發(fā)揮的作用越來(lái)越大,也越來(lái)越受到社會(huì)各界的重視[7],Apriori算法作為關(guān)聯(lián)規(guī)則最為經(jīng)典的算法,可以有效從衛(wèi)生健康標(biāo)準(zhǔn)相關(guān)調(diào)查問(wèn)卷數(shù)據(jù)中挖掘各項(xiàng)目之間隱藏的關(guān)聯(lián)知識(shí),提煉具有潛在價(jià)值的特定信息,為完善標(biāo)準(zhǔn)體系提供技術(shù)線(xiàn)索。
Apriori算法作為關(guān)聯(lián)規(guī)則最經(jīng)典算法,其存在著兩個(gè)主要缺陷,其一運(yùn)算過(guò)程中會(huì)產(chǎn)生大量候選項(xiàng)集,其二是需要多次遍歷掃描數(shù)據(jù)庫(kù),兩個(gè)缺陷會(huì)影響算法效率,導(dǎo)致算法適應(yīng)面偏窄[8]。特別是對(duì)于數(shù)據(jù)量較大的問(wèn)卷調(diào)查數(shù)據(jù),運(yùn)算時(shí)間可能較長(zhǎng),甚至出現(xiàn)內(nèi)存不足導(dǎo)致運(yùn)算中斷的情況。針對(duì)Apriori算法的缺陷,既往學(xué)者進(jìn)一步開(kāi)發(fā)了FP-growth算法、Relim算法和DHP算法用于提高算法效率。FP-growth算法通過(guò)構(gòu)造頻繁模式樹(shù)(FP-tree)以避免反復(fù)掃描數(shù)據(jù)庫(kù),提高算法效率;Relim算法是對(duì)FP-growth算法進(jìn)一步改進(jìn),其摒棄了構(gòu)建構(gòu)建頻繁模式樹(shù)的方法,而是通過(guò)構(gòu)造一個(gè)事務(wù)鏈表組來(lái)獲取挖掘結(jié)果;DHP算法主要通過(guò)哈希技術(shù)縮小候選項(xiàng)集的數(shù)量來(lái)提高算法效率[1]。
隨著網(wǎng)絡(luò)在線(xiàn)調(diào)查技術(shù)的普及,開(kāi)展標(biāo)準(zhǔn)相關(guān)調(diào)查成本越來(lái)越低,相關(guān)調(diào)查數(shù)據(jù)也在快速積累中[9-14]。衛(wèi)生健康標(biāo)準(zhǔn)管理人員如何充分運(yùn)用關(guān)聯(lián)規(guī)則等數(shù)據(jù)挖掘技術(shù),從問(wèn)卷調(diào)查數(shù)據(jù)中提取關(guān)聯(lián)知識(shí),提供標(biāo)準(zhǔn)管理線(xiàn)索,實(shí)現(xiàn)標(biāo)準(zhǔn)管理從經(jīng)驗(yàn)驅(qū)動(dòng)到數(shù)據(jù)驅(qū)動(dòng)的躍遷,成為亟待解決的問(wèn)題。關(guān)聯(lián)規(guī)則等數(shù)據(jù)挖掘?qū)儆谛畔W(xué)、統(tǒng)計(jì)學(xué)和衛(wèi)生健康標(biāo)準(zhǔn)專(zhuān)業(yè)知識(shí)的多領(lǐng)域交叉學(xué)科,而在既往衛(wèi)生健康標(biāo)準(zhǔn)研究中,應(yīng)用關(guān)聯(lián)規(guī)則等數(shù)據(jù)挖掘技術(shù)的研究相對(duì)較少。建議在未來(lái)可以著重培養(yǎng)具備多領(lǐng)域復(fù)合型標(biāo)準(zhǔn)研究團(tuán)隊(duì),充分發(fā)揮信息學(xué)、統(tǒng)計(jì)學(xué)和標(biāo)準(zhǔn)相關(guān)專(zhuān)業(yè)領(lǐng)域的優(yōu)勢(shì),為快速挖掘獲取有用的信息,提取管理線(xiàn)索打下堅(jiān)實(shí)基礎(chǔ)。
關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘結(jié)果受到其參數(shù)設(shè)定的影響較大,參數(shù)設(shè)置過(guò)高或過(guò)低均會(huì)對(duì)結(jié)果產(chǎn)生不良影響,且關(guān)聯(lián)規(guī)則得出的規(guī)則是否具有指導(dǎo)實(shí)踐意義,需要經(jīng)過(guò)專(zhuān)業(yè)判斷和管理實(shí)踐證實(shí),而不能單純只看數(shù)據(jù)挖掘結(jié)果。
本研究歸納了Apriori算法在衛(wèi)生標(biāo)準(zhǔn)問(wèn)卷調(diào)查數(shù)據(jù)挖掘中的應(yīng)用方法、注意事項(xiàng)及R語(yǔ)言實(shí)現(xiàn)方法,其挖掘的關(guān)聯(lián)信息可以為完善標(biāo)準(zhǔn)管理提供技術(shù)線(xiàn)索,但是也存在算法效率偏低,不適用于數(shù)據(jù)量較大的問(wèn)卷調(diào)查數(shù)據(jù)。