天天看點

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

  1. 摘要

    在上一篇文章裡,我們着重講解了線性回歸。既如何探索不同的影響因素(或自變量)與一個連續型變量的的線性關系。但在現實生活中,我們關心的往往是分類型的問題。比如生物學家會去探究不同的生活習慣和遺傳基因是否會導緻相應的癌症,比如汽車廠商會去探究不同的駕駛行為和行駛路況是否會導緻汽車的部件提前損壞,再比如銀行信貸部會去探究不同的客戶背景和曆史還款情況是否會導緻借貸人下次逾期還款。類似的分類決策型問題在企業運作中比比皆是。

本章的内容旨在為大家介紹最常見的分類型預測模型 – 邏輯回歸。當然,能做分類型預測的模型還有很多,比如決策樹,随機森林,支援向量機,深度學習等等。我們也會在接下來的章節裡為大家一一介紹。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型
  1. 邏輯回歸

    2.1. 邏輯回歸和線性回歸

作為最常見的兩種回歸預測模型,邏輯回歸和線性回歸其實存在着很多共性。比如他們都有很類似的問題結構和很類似的分析流程。但他們最大的差別在:

• 線性回歸的預測結果通常是一個連續型變量;

• 邏輯回歸的預測結果通常是一個類别型變量,其中又以二進制變量的預測為主。既“是”或“否”型的決策判斷問題。

理論上來說,任何的線性回歸都可以視為邏輯回歸。比如,我們想要建立一個線性回歸模型來預測不同人的壽命長短。線性回歸模型的結果可能是會返還一個範圍在65歲到110歲間的預測數值。從邏輯回歸的角度來看,我們可以将65歲到110歲視為46個不同的預測類别。對于每一個待預測的樣本,邏輯回歸的預測結果是該樣本分别落在這46個不同的預測類别裡的不同機率,通常我們會選擇機率最好的那個類别來作為該樣本的預測年齡。不過這樣的轉換會使得我們的預測模型過于複雜,是以邏輯回歸最常見的用途還是用來讨論二進制變量的預測問題。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

2.2. 邏輯回歸的定義

既然邏輯回歸和線性回歸有如此多的共性,大家有沒有去試着思考,我們如何用線性回歸的思維去解決邏輯回歸的問題?我們知道邏輯回歸是在關注一個取值為“1”或“0”的變量,而線性回歸則是在關注一個取值為實數域的變量。套用相同方法的關鍵,就在于我們能否将一個0與1的二進制變量映射到一個從負無窮到正無窮的連續型變量的取值區間?

我們可以通過一下操作實作這個轉換:

• 定義 p(x) : 固定自變量的取值情況,因變量得“1”的機率。原本因變量隻能取值0或者1,但是通過這一步轉換,p(x) 的取值範圍拓展到了0到1這個連續區間;

• 定義

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

p(x) 代表了因變量取 “1” 的機率,1-p(x)則代表了因變量取 “0” 的機率。他兩相除則代表的是:給定自變量取值的情況下,因變量取值為1的幾率。通過這一步轉換,我們成功将odds的取值範圍拓展到了0到正無窮這個連續區間;

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

: 最後一步的轉換是我們将odds取對數。終于,我們成功的将取值範圍拓展到了負無窮到正無窮的這個實數域區間。

做完了上述的轉換,我們最終得到了下面的公式:

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

如果将公式左邊的式子看作一個整體 y, 是不是就變成了上一章節講解到的線性回歸的樣子。之後我們通過訓練資料依次求出β0, β1, β2,…, βn.

随後我們化簡上述上述公式,即可求得:

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

當然算出的p(x)仍然會是一個0到1的連續型變量。通常來說,當p(x)>=0.5時,我們視預測結果為1;當p(x)<0.5時,我們則會視預測結果為0.

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

2.3. 邏輯回歸的簡單案例

上面的公式可能會把大家看的頭暈。下面,我們會借助一個簡單的例子解釋這些轉換過程。

比如說,我們現在想要探究的是籃球愛好者的身高和他們罰球命中率的關系。我們收集到了以下的10個資料點。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

基于上個小結中的轉換公式,我們可以求出以下數值:

• P(罰球命中|身高為170cm):身高170cm的愛好者,他們罰球命中的機率是 2/5= 40%

• Odds:身高170cm的愛好者,他們罰球命中的幾率40%/(1-40%)= 0.66

• Logit Transformation: log (odds) = -0.18。這是針對于身高170cm的愛好者

• 同樣的針對與身高180cm的愛好者,我們可以算出他們的log(odds)為0.176

當根據不同的身高,得出了它們相對應log(odds)的轉換值後,我們可以套用下面的公式得出β0 與β1的參數值:

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

最後我們隻需套用下面的公式,即可得出不同身高的愛好者,罰球命中的機率:

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

如果這個機率值 >= 0.5, 我們則判定這位愛好者可以命中罰球。反之不行。

希望通過這個例子,大家可以更清晰的了解到邏輯回歸的計算過程。當然我們所舉的這個例子過于簡單。通常一個邏輯回歸問題,它的自變量遠遠不止一個,且自變量取值的組合情況極為複雜。

2.4. 邏輯回歸的優劣分析

終于到了最後的優劣分析。随着越來越多的預測模型,先進技術的出現,了解清楚他們的優劣情況,适用案例和資料類型也變得極為重要。

作為一種傳統的,适用範圍最廣的分類型預測模型。選擇使用邏輯回歸主要有以下幾個原因:

• 模型理論簡單,相對透明,模型結果易于解釋

• 模型計算簡單高效,可擴充到大資料處理

• 多重共線性問題易于解決,解決過拟合的方法也有很多

• 在行業實際應用中表現良好,且實施難度很低

與這些優點相對的,就是一些我們需要考慮的邏輯回歸的缺點:

• 當自變量數目過大時,邏輯回歸的計算性能,結果表現不是太好

• 容易欠拟合,最終導緻結果精度不太高

• 邏輯回歸本質還是一個線性分類器,很難處理線性不可分的樣本

  1. 如何在Altair KnowledgeStudio平台應用線性回歸

    3.1. 示範資料簡介

在接下來的軟體操作環節,我們會使用到下面這個名為“Census“的資料集。

該資料集記錄了16000位不同客戶針對某金融公司營銷廣告的回報情況。我們想要通過邏輯回歸這個模型,幫助這家公司找到他們的目标客群,進而達到精準營銷的效果。

在這個資料集中,我們主要關心的變量有:

• “Response“ – 因變量: 該客戶是否對此條營銷廣告做出了正面積極響應;

• 客戶的基本資訊 – 自變量:比如年齡,工種行業,家庭關系,婚姻狀況,性别等;

• 客戶的曆史理财情況 – 自變量:比如理财收益或理财損失。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

3.2. 軟體操作示範

3.2.1. 資料預處理

任何一個資料分析項目都躲不掉繁重的資料預處理工作,比如資料畫像,資料清洗,資料內建,資料變換等等。通常從業人員會花費70%的時間在這一項工作中。

因為在上一篇文章中,我們已經粗略介紹了Altair KnowledgeStudio的資料預處理功能。這裡我們便不再做過多的贅述。希望了解更多的讀者可以私信我們,或翻閱往期文章。

我們已經事先處理好了該資料,并将之分成了訓練集“census3_train2“和測試集”census3_test“。随後我們會在訓練集上建立邏輯回歸模型。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

3.2.2. 邏輯回歸節點使用

輕按兩下點開邏輯回歸節點,我們可以在第一個操作界面中設定結果模型名稱以及确認模組化使用的資料。随後點選下一步進行深入的參數設定。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

第二個界面主要包含了變量選擇的相關參數。比如:

• 界面的最上方,我們需要設定清楚我們的因變量是什麼;

• 界面的中間,我們可以設定不同的變量選擇算法和相應的算法停止條件;

• 界面的最下方,我們可以進一步限制自變量選擇。比如哪些自變量應該被模型考慮,哪些自變量一定要包含在最終的模型之中。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

在最後一個界面中,我們可以設定疊代次數、優勢比的置信水準、優化方法等等。

當确認完畢一切相關參數後,我們可以選擇運作模型。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

3.2.3. 模型結果解讀

等待模型建立完畢後,我們可以輕按兩下模型節點,得到模型的結果報告。

在Model Overview的頁籤中,可以看到最終模型選中的變量及其模型的訓練效果。如下圖所示:為預測客戶對營銷方案的回報情況,模型中的自變量主要涵蓋了年齡,教育,婚姻狀況,職業,性别等資訊,而訓練模型的正确預測約為84.4%。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

更多的模型拟合參數,我們需要跳轉進下一張頁籤中。如下圖所示,我們可以找到:

• 評價整理模型有效性的路徑成本: 如p-value,Chi-square等;

• 評價模型準确度的測量值:如Entropy Explained, Generalized R^2等;

• 評價模型複雜度的測量值:如AIC,BIC等;

• 更多的相關參數解釋可以在軟體内置的幫助手冊中找到。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

除了模型的整體參數表,下圖所示的模型系數表也至關重要。

比如可以通過p-value來判斷各自變量的系數是否顯著,比如我們可以通過odds的值來判定自變量的影響幾率,比如我們還可以找到相應參數的置信區間等等。

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

最後我們可以用下面的式子來表達該邏輯回歸模型的最終表達式:

從零開始帶你了解商業資料分析模型——2.邏輯回歸模型

3.2.4. 模組化之後

當上述模型建立完之後,我們還有很多工作需要做。

• 比如我們需要去使用測試資料集來驗證模型是否存在過拟合;

• 比如我們需要去重新調整訓練資料集,模型參數來提升模型精準度;

• 比如我們需要建立别的并行模型,來探究不同解決方案的可行性;

• 比如我們需要對比所有并行模型,再結合業務條件來确定最終的實施落地方案。

總而言之,預測模型的建立是一個複雜而漫長的過程。為找到一個适合當下業務,當下市場環境的模型方案,企業一定會耗費不少的時間與精力。

  1. 結語

    希望通過這篇文章,大家能夠對邏輯回歸有更進一步的了解。

我們下一篇文章準備為大家簡單介紹一下深度學習。如果大家對資料分析或者預測模型感興趣,歡迎在文後留言與我們交流,也歡迎大家提出寶貴意見或建議。

繼續閱讀