回歸分析(Regression Analysis)是一種統(tǒng)計(jì)學(xué)上對(duì)數(shù)據(jù)進(jìn)行分析的方法, 主要是希望探討數(shù)據(jù)之間是否有一種特定關(guān)系。線性回歸分析是最常見的一種回歸分析, 它用線性函數(shù)來對(duì)因變量及自變量進(jìn)行建模(自變量和因變量都必須是連續(xù)型變量), 這種方式產(chǎn)生的模型稱為線性模型。線性回歸模型由于其運(yùn)算速度快、直觀性強(qiáng)以及參數(shù)易于確定等特點(diǎn), 在實(shí)踐中應(yīng)用最為廣泛,也是建立預(yù)測(cè)模型的重要手段之一。
IBM SPSS Modeler 是一組數(shù)據(jù)挖掘工具,通過這些工具可以采用商業(yè)技術(shù)快速建立預(yù)測(cè)性模型, 并將其應(yīng)用于商業(yè)活動(dòng),從而改進(jìn)決策過程。在后面的文章中,將通過一個(gè)理賠欺詐檢測(cè)的實(shí)際 商業(yè)應(yīng)用來介紹如何用 IBM SPSS Modeler 建立、分析及應(yīng)用線性回歸分析模型。
在本例中,用于建立模型的數(shù)據(jù)存放在 InsClaim.dat 中,該文件是一個(gè) CSV 格式的數(shù)據(jù)文件, 存儲(chǔ)了某醫(yī)院以往醫(yī)療保險(xiǎn)理賠的歷史記錄。該文件共有 293 條記錄,每條記錄有 4 個(gè)字段, 分別是 ASG(疾病嚴(yán)重程度)、AGE(年齡)、LOS(住院天數(shù))和 CLAIM(索賠數(shù)額)。 圖 1 顯示了該數(shù)據(jù)的部分內(nèi)容。
基于已有的數(shù)據(jù),我們的任務(wù)主要有如下內(nèi)容:
根據(jù)經(jīng)驗(yàn)及對(duì)數(shù)據(jù)進(jìn)行的初步分析(這個(gè)數(shù)據(jù)初步分析可以通過 IBM SPSS Modeler 的功能實(shí)現(xiàn),此處不是重點(diǎn), 故不做深入介紹),可以猜測(cè)理賠金額與疾病嚴(yán)重程度、住院天數(shù)以及年齡存在線性相關(guān)關(guān)系,因此我們將首先 選用線性回歸模型進(jìn)行建模,因此可以得到下面這樣一個(gè)初步計(jì)劃:
基于上面的分析,我們?nèi)菀椎玫侥繕?biāo)模型的因變量為 CLAIM,自變量為 ASG、AGE 和 LOS。在建立模型之前,我們可以 對(duì)該模型進(jìn)行一些猜測(cè),以下是根據(jù)經(jīng)驗(yàn)?zāi)芟氲降囊恍┘僭O(shè):
在建立好模型后,我們會(huì)根據(jù)模型來驗(yàn)證或推翻這些假設(shè)。
根據(jù)任務(wù)要求,我們?cè)?IBM SPSS Modeler 中建立如圖 2 所示的 stream 文件。在該 stream 中,InsClaim.dat 作為數(shù)據(jù)源節(jié)點(diǎn), 它通過一個(gè)類型節(jié)點(diǎn)(type)進(jìn)行數(shù)據(jù)處理后輸入到模型節(jié)點(diǎn)(CLAIM),在本例中,輸出節(jié)點(diǎn)(table)作為一個(gè)測(cè)試節(jié) 點(diǎn),可以用于查看類型節(jié)點(diǎn)處理后產(chǎn)生的數(shù)據(jù)。
從前面的分析可見,CLAIM 是因變量,在類型節(jié)點(diǎn)中須作為目標(biāo)變量(Target),而其余三個(gè)字段(ASG、AGE 和 LOS) 則是自變量,在類型節(jié)點(diǎn)中須設(shè)置為輸入變量(Input)。
需要注意的是,在線性回歸分析模型中,要求所有變量(包括自變量和因變量)都是連續(xù)類型。 如果數(shù)據(jù)中有非數(shù)字類型,比如 Category 或者 Flag,則需要預(yù)先轉(zhuǎn)換為數(shù)字型。圖 3 顯示了類型節(jié)點(diǎn)設(shè)置的具體情況。
在設(shè)置好類型節(jié)點(diǎn)后,我們可以雙擊 CLAIM 節(jié)點(diǎn),對(duì)模型節(jié)點(diǎn)進(jìn)行設(shè)置。首先設(shè)置 Model 標(biāo)簽頁中的選項(xiàng)。 從圖 4 可以看到設(shè)置的具體信息,Model Name 有自動(dòng)和定制兩種類型,在自動(dòng)方式下,模型名稱自動(dòng)設(shè)置 為目標(biāo)變量的名字(CLAIM)。本模型的輸入信息并沒有分組,因此 Use partitioned data 和 Build model for each split 的選擇與否并無關(guān)系。Method 選項(xiàng)將選擇輸入字段的選擇方式,由于本例中的輸入字段較少,可以使用默認(rèn)的 Enter 模式。 在字段較多的情況下,可以選擇 StepWise、Forward 和 Backward 中的一種,它們會(huì)采用不同的統(tǒng)計(jì)學(xué)方式對(duì)輸入字段進(jìn)行篩選。 Include constant in equation 選項(xiàng)表示模型中是否包含常量(即截距),在本例中,由于每次理賠會(huì)有一個(gè)起始額度,因此選中該選項(xiàng)。
在 Expert 頁中可以設(shè)置一些模型的高級(jí)選項(xiàng)。在我們選擇了專家模式后,可以設(shè)置兩個(gè)選項(xiàng)內(nèi)容:
在點(diǎn)擊 output 按鈕后還可以選擇輸出的選項(xiàng),這里不加以詳細(xì)描述。
在模型節(jié)點(diǎn)的編輯頁面中點(diǎn)擊 [Run] 按鈕即可運(yùn)行(也可以關(guān)閉設(shè)置后通過菜單和工具欄運(yùn)行), 運(yùn)行后將產(chǎn)生一個(gè) Nugget,Nugget 是 IBM SPSS Modeler 對(duì)生成模型的稱呼。雙擊該 Nugget 即可查看生 成模型的信息。圖 5 顯示了 stream 中產(chǎn)生的 Nugget 圖。
雙擊 Nugget 打開的生成模型信息中,首先查看 Analysis Summary 窗口,這里可以看到模型的分析結(jié)果。 我們可以看到該模型的方程已經(jīng)建立。但是在關(guān)注模型方程之前,應(yīng)該首先看看該生成模型是否是統(tǒng)計(jì)學(xué)顯著的。 從該模型的顯著性分析可以看出(見圖 6),該模型的顯著幾率 < 0.0005,可以說非常顯著,因此生成的模型具有統(tǒng)計(jì)學(xué)意義。
讓我們回頭再看所生成的模型方程(見圖 7),可以看出理賠預(yù)測(cè)模型方程為:
CLAIM(E) = ASG*417.2 - AGE*33.41 + LOS*1105.6 + 3026.8
還記得我們?cè)诮V疤岢龅募僭O(shè)么?讓我們對(duì)之一一進(jìn)行驗(yàn)證:
從模型方程可以看出,索賠的金額隨著住院天數(shù)和疾病嚴(yán)重程度的增加會(huì)相應(yīng)增加,然而,當(dāng)年齡增加時(shí), 理賠金額反而會(huì)下降??赡艿脑蚴牵?)年齡越小,疾病越嚴(yán)重,因此理賠額越高;2)不同年齡段的醫(yī)療保 險(xiǎn)政策不同,年齡越長的客戶保險(xiǎn)公司給出的理賠金額越低。當(dāng)然,具體的真正原因,還要找領(lǐng)域?qū)<掖_定。
預(yù)測(cè)因子之間的重要性也不盡相同,在統(tǒng)計(jì)學(xué)中,該重要性通過圖 8 中的 Beta 檢驗(yàn)值來確定,具體規(guī)則是, 根據(jù) Beta 值的絕對(duì)值排序,值越大,越重要。由圖 8 中可見,在理賠金額中,最重要的因素是住院天數(shù),而 年齡因素的重要性最低。這也是符合一般的常識(shí)的。
另外一個(gè)需要考量的因素是誤差區(qū)間,該區(qū)間決定了應(yīng)該怎樣去預(yù)測(cè)未來的索賠金額是否合理。在圖 8 中的 Unstandardized Coefficients 的 B 和 Std. Error 兩列表示了一個(gè)預(yù)測(cè)區(qū)間,它的含義是 [B-Std.Error, B+Std.Error] 的區(qū)間具有 95% 的可信性。以住院天數(shù)(LOS)為例,它的 B 為 1105.646,Std. Error 為 103.6,這意味著如果住院天數(shù)每增加一天,那么理賠增加的金額將落在 [1105.646-103.6, 1105.646+103.6] 區(qū)間上, 即增加約 1000 到 1200 元之間,其可信性度為 95%。反之,若碰到的客戶索賠增加的金額沒有落在這個(gè)區(qū)間之內(nèi),那么 這種客戶就有較大可能是索賠欺詐,那么工作人員就應(yīng)該仔細(xì)審查。
在做完了這些之后,我們還可以對(duì)已有的歷史記錄進(jìn)行分析,找出以往數(shù)據(jù)中的奇異點(diǎn),以供領(lǐng)域?qū)<疫M(jìn)行分析。
為了找出奇異點(diǎn),我們可以創(chuàng)建一個(gè) Derive 節(jié)點(diǎn),讓它的前向數(shù)據(jù)源為生成的 Nugget,它要衍生出來的字段名稱為 DIFF,其數(shù)據(jù)值為實(shí)際的理賠額和預(yù)測(cè)的理賠額之差,即:
DIFF = CLAIM - '$E-CLAIM'
具體設(shè)置參見圖 9。
觀察 DIFF 數(shù)據(jù),可以找出奇異點(diǎn)的數(shù)據(jù),為了方便找出奇異點(diǎn),可以使用直方圖來幫助查找,從圖 10 中, 可以看出,實(shí)際理賠額處在 5000-7500 之間的數(shù)據(jù)為明顯奇異點(diǎn),應(yīng)找領(lǐng)域?qū)<襾韺?duì)這些數(shù)據(jù)進(jìn)行具體分析。
通過本文,您了解了如何通過 IBM SPSS Modeler 創(chuàng)建基于線性回歸分析的預(yù)測(cè)分析模型,并了解到如何設(shè)置、 創(chuàng)建、分析、理解和應(yīng)用模型。這樣,您就可以通過 IBM SPSS Modeler 簡易的數(shù)據(jù)流風(fēng)格方便快速地創(chuàng)建和應(yīng)用一個(gè)模型。
本文中的理賠欺詐預(yù)測(cè)模型示例,用一個(gè)完整的流文件演示了怎樣設(shè)置數(shù)據(jù)數(shù)據(jù);怎樣設(shè)置模型參數(shù); 怎樣通過 IBM SPSS Modeler 提供的數(shù)據(jù)分析和理解模型;并介紹了如何分析奇異點(diǎn)。通過此示例,您可以立刻就動(dòng)手創(chuàng)建自己的模型。
聯(lián)系客服