730 likes | 951 Views
Microsoft SQL Server 2005 Data Mining 演算法 – Logistic Regression. 謝邦昌 輔仁大學統計資訊學系 教授 中華資料採礦協會 理事長. stat1001@mails.fju.edu.tw WWW.CDMS.ORG.TW. 羅吉斯迴歸 (Logistic Regression). 在定量分析的實際研究中,線性迴歸模型 (Linear Regression Model) 是最流行的統計方式。 許多社會科學問題的觀察,都只是分類而非連續的。對於分類問題時,線性迴歸就不適用了。.
E N D
Microsoft SQL Server 2005 Data Mining 演算法 – Logistic Regression 謝邦昌 輔仁大學統計資訊學系 教授中華資料採礦協會 理事長 stat1001@mails.fju.edu.tw WWW.CDMS.ORG.TW
羅吉斯迴歸 (Logistic Regression)
在定量分析的實際研究中,線性迴歸模型 (Linear Regression Model) 是最流行的統計方式。 • 許多社會科學問題的觀察,都只是分類而非連續的。對於分類問題時,線性迴歸就不適用了。
何謂「迴歸」? • 某公司業務部經理想要了解該公司影響銷售業績(y)之主要因素並希望能建立一預測模式。 • 案子交由市調部門做市場調查,發現有許多似乎都是很主要之變項因素(例如:廣告費、交際費、銷售員佣金…等)。如果該業務經理只想找出一個或數個重要的相關之變項因素(X1,X2,…,Xp),如何尋找出?並如何建立預測模式?
迴歸分析 • 迴歸分析 • 建立變數關係的數學方程式之統計程序。是將研究的變數區分為因變數與自變數,並建立因變數為自變數之函數模型,其主要目的是用來解釋資料過去的現象及自由變數來預測因變數未來可能產生之數值。 • 自變數(Independent variable) • 由數學方程式預測的變數。 • 因變數(Dependent variable) • 據以預測因變數的值之變數。
迴歸分析 • 簡單線性迴歸(Simple Linear Regression) • 僅有一自變數與一因變數,且其關係大致上可用一直線表示。 • 複迴歸(Multiple Regression) • 兩個以上自變數的迴歸。 • 多變量迴歸(Multi-Variable Regression) • 用多個自變項預測數個因變數,建立之迴歸關係。
相關分析 不以數學方程式描述自變數與因變數的關係,而是在於判定其線性關聯的程度,並提供相關性的測度。 不可藉迴歸或相關分析建立「因果關係」
相關分析 • 相關分析是利用來衡量兩個隨機變數之間”直線關係”的方向與強弱程度 。在某些狀況下,決策制定者對二變數之關係的方程式的關切,可能不如其對二變數之關係程度的關切。在這種情形下,我們可以使用相關分析來決定二變數之間關係的強度。
相關分析 • 相關係數(correlation coefficient) :表示兩隨機變數變動方向與程度大小稱為相關係數。 • 相關係數的值恆介於-1與+1之間。 • 完全正向線性相關 :相關係數+1 • 完全負向線性相關 :相關係數-1 • 無線性關係 :相關係數的值非常接近零
Logistic Regression 就是針對二元因變數 ,即是1 或0。在 Logistic Curve 中有一個臨界遞增的 S 型函數,適用於分析一機率模型,而根據分類性變數,產生輸出變數,其值可為0 或1 ,常代表選擇量度中的「是」與「否」兩類。
在統計學上,許多學者認為Logistic Regression的優點,主要能處理依變項有兩個類別的名目變項,用以預測事件發生的勝算比(Odds Ratio) ,它可解決了傳統線性迴歸模式中,不能處理依變項是兩個類別的名目變項的缺點
勝算比的定義是一件事情會發生的或然率除以不會發生的或然率,若以或然率P(Y)=0.5 為判別值 (Cut Value) ,將0.5 以上判別為1,0.5 以下判別為0,則利用邏輯迴歸便可進行類別預測。 • 其中 稱為勝算比 (Odds Ratio) ,P 為事件發生的或然率
羅吉斯迴歸在因變數為離散型,且分類只有兩類或少數類時,變成了一個最標準的分析方法。羅吉斯迴歸在因變數為離散型,且分類只有兩類或少數類時,變成了一個最標準的分析方法。 • 對於離散型變數有很多分析方法,而Cox根據兩個主要原因選擇羅吉斯迴歸 • 基於數學觀點,他為一個極負彈性且容易使用的函數 • 適用於解釋生物學上的意義
單變量羅吉斯迴歸 • 假設π(x) = E(y|x), 則模型表示如下 • 若將π(x) 做羅吉斯轉換,可得下列表示式
經由此轉換,g(x)便符合線性迴歸模型的性質,此時g(x)就為連續變數經由此轉換,g(x)便符合線性迴歸模型的性質,此時g(x)就為連續變數 • 如果因變數為二分變項時,羅吉斯迴歸有以下特性 • 條件期望值的迴歸式必須介於0~1之間,即 • 其誤差分配是服從二項分配而不是服從常態分配 • 用來處理線性迴歸的分析原則也可以用在羅吉斯迴歸上
實例分析 • 40歲以上男性高血壓
模型 • 結果 • 結果解釋
Logistic Regression羅吉斯迴歸演算法 • 羅吉斯迴歸模型與ProspectiveBuyer資料表產生連結,之後可按增益圖,可以看到預測模型的準確率
建立新的資料採礦結構 羅吉斯迴歸─操作步驟 • 先從工具列中的Project中,選擇建立New Mining Structure以建構資料採礦模型,通常一個Mining Structure可包含數個Mining Model。
選擇羅吉斯迴歸 選擇羅吉斯迴歸接下來,選擇「Microsoft 羅吉斯迴歸」進一步分析
利用Browse來瀏覽此資料庫中各資料表的關聯性 下一步則是在Select Data Source View選擇要進行分析的資料來源,
勾選資料表型態,區分為Case與Nested 在Specify Table Types中,則是要勾選要分析的資料表單,其中Case表示為資料為單一的、不重複出現的,例如個人基本資料;Nested則是有重複出現的資料,例如訂單明細
Key: 索引鍵 Input: 輸入變數 Predict: 預測變數 選擇預測變數以及輸入變數與索引鍵
Content Type (資料內容型態): Continuous(連續型) Cyclical(循環型) Ordered(順序型) Data Type(資料型態): Boolean(布林): True or False Date(日期) Double(雙精度浮點數) Long(長整數) Text(文字) Detect (偵測): 自動偵測變數資料內容型態以及資料型態 下一步則是針對各變數的資料內容型態(Content Type)以及資料型態(Data Type)加以定義;
Mining structure name(採礦結構名稱);Mining model name(採礦模型名稱);其中,一個資料採礦結構中可以包含多個模型。 模型命名,在一個Mining structure中可以包含數個Mining model,而多個Mining model間可進行比較,而輸入模型名稱後,點選Finish結束設定
Data Source View: 主要展現資料庫中各資料表間的關聯性 進行分析時所有選擇的變數,包含Key(索引鍵)、Input(輸入變數)和Predict(預測變數) 產生資料採礦結構介面包含Mining Structure(採礦結構)、Mining Models(採礦模型)、Mining Model Viewer(採礦模型檢視器)、Mining Accuracy Chart(採礦精確度圖表)以及Mining Model Prediction(採礦模型預測);其中在Mining Structure(採礦結構)中,主要是呈現資料間的關聯性以及分析的變數
列出所有建立之採礦模型,以及分析使用變數情況列出所有建立之採礦模型,以及分析使用變數情況 Ignore:忽略 Input:輸入變數 Predict:預測變數、輸入變數 PredictOnly:預測變數 建立模型時選擇的所有變數 而在Mining Models(採礦模型)中,主要是列出所建立的採礦模型,亦可以新增採礦模型,並調整變數,變數使用狀況包含Ignore(忽略)、Input(輸入變數)、Predict(預測變數、輸入變數)以及PredictOnly(預測變數)
而在採礦模型上點選滑鼠右鍵,選擇Set Algorithm Parameters針對方法論的參數設定加以編輯,
變數名稱 各變數選項 輸入變數Marital Status為M時,預測變數House Owner Flag為1的比例為82.75%;Lift for Value1有1.24 Mining Model Viewer(採礦模型檢視器)則是呈現該採礦模型樣式,透過機率的方式呈現何種情形狀況下,對於預測變數的機率比重為何,進一步加以了解
Filter the input data used to generate the lift chart:篩選用於產生增益圖的輸入資料 Select predictable mining model columns to show in the lift chart:選取可預測的採礦模型資料行,以顯示在增益圖中 Synchronize Prediction Columns and Values:同步處理預測資料行和值 Mining Accuracy Chart主要功能在於針對所建立的採礦模型加以比較其預測能力,其中包含Column Mapping(資料行對應)、Lift Chart(增益圖)以及Classification Matrix(分類矩陣);在Column Mapping中,主要是選擇要比較的模型和設定篩選資料條件等功能
預測機率 母體預測正確率 在Lift Chart(增益圖)中,針對Microsoft類神經網路所提供的是Lift Chart(增益圖),其中橫軸為名單百分比,縱軸為累積佔全體之百分比
收益金額及預測機率 Profit Chart是根據成本以及銷售成功利潤,並計算出累積利潤圖
利用Classification Matrix來檢視預測值與實際值之間的預測正確性 • 根據上圖中可發現,實際為1者,預測也為1者,其人數有5929位;而實際為1,預測為0者,有3203位;實際為0者,預測為1者,其人數有3642位;而實際為0,預測為0者,有5710位。
包含: Design(設計) Query(查詢) Result(結果) 選擇預測的變數 Mining Model Prediction(採礦模型預測),主要是根據採礦模型計算預測值,選擇需要進行預測的變數,進行預測
將所需要預測的變數選入,也將資料表中的實際變數選入,方便作比較;也可利用Query來產生SQL語法將所需要預測的變數選入,也將資料表中的實際變數選入,方便作比較;也可利用Query來產生SQL語法
實際值 羅吉斯迴歸預測值 最後在Result中顯示預測結果以及實際值方便比較預測模型預測實際情形
實例分析一 • 某研究人員在探討腎細胞癌轉移的有關臨床病理因素研究中,收集了一批行根治性腎切除術患者的腎癌標本資料,現從中抽取26例資料作為示例進行logistic回歸分析(本例來自《衛生統計學》第四版第11章)
分析過程:1.選擇資料呈現方式From existing relational database or data warehouse
5.選擇變數,其中預測變數為「腎細胞癌轉移情況」,輸入變數為「患者的年齡(歲)」、「腎細胞癌血管內皮生長因數(VEGF)」、「腎細胞癌組織內微血管數(MVC)」、「腎癌細胞核組織學分級 」與「腎細胞癌分期」5.選擇變數,其中預測變數為「腎細胞癌轉移情況」,輸入變數為「患者的年齡(歲)」、「腎細胞癌血管內皮生長因數(VEGF)」、「腎細胞癌組織內微血管數(MVC)」、「腎癌細胞核組織學分級 」與「腎細胞癌分期」
6.要確定變數的資料內容型態以及資料型態,其中輸入變數中「患者的年齡(歲)」、「腎細胞癌組織內微血管數(MVC)」為Continuous,其他皆為Discrete6.要確定變數的資料內容型態以及資料型態,其中輸入變數中「患者的年齡(歲)」、「腎細胞癌組織內微血管數(MVC)」為Continuous,其他皆為Discrete
7.點選Mining Model Viewer,所呈現的是機率值,在對應的輸入變數條件下,其預測變數所發生的機率,如下圖顯示。
再根據分類矩陣可以發現,所建立之羅吉斯迴歸模型所預測結果與實際分類結果的預測正確率高達96.15%,再根據分類矩陣可以發現,所建立之羅吉斯迴歸模型所預測結果與實際分類結果的預測正確率高達96.15%,
8.根據羅吉斯迴歸模型,利用Mining Model Prediction產生預測值。
實例分析二 • 產生一組模擬高中生升學資料,共產生1000筆資料,其中變數有「高中類型」、「大學考試成績」、「是否錄取」、「高中平均分數」、「性別」五個變數。