邏輯回歸對用戶收入進行預測
對於某企業新用戶,會利用大數據來分析該用戶的信息來確定是否為付費用戶,弄清楚用戶屬性,從而針對性的進行營銷,提高運營人員的辦事效率。
對於付費用戶預測,主要是思考收入由哪些因素推動,再對每個因素做預測,最后得出付費預測。這其實不是一個財務問題,是一個業務問題。
流失預測。這方面會偏向於大額付費用戶,提取額特征向量運用到應用場景的用戶流失和預測里面去。
方法
回歸是一種極易理解的模型,就相當於y=f(x),表明自變量x與因變量y的關系。最常見問題有如醫生治病時的望、聞、問、切,之后判定病人是否生病或生了什么病,其中的望聞問切就是獲取自變量x,即特征數據,判斷是否生病就相當於獲取因變量y,即預測分類。
問題描述
我們嘗試並預測用戶是否可以根據數據中可用的人口信息變量使用邏輯回歸預測月度付費是否超過 50K。
在這個過程中,我們將:
1.導入數據
2.檢查類別偏差
3.創建訓練和測試樣本
4.建立logit模型並預測測試數據
5.模型診斷
檢查類偏差
理想情況下,Y變量中事件和非事件的比例大致相同。 所以,我們首先檢查因變量ABOVE 50K中的類的比例。
0 1
24720 7841
顯然,不同付費人群比例 有偏差 。 所以我們必須以大致相等的比例對觀測值進行抽樣,以獲得更好的模型。
構建Logit模型和預測
確定模型的最優預測概率截止值
默認的截止預測概率分數為0.5或訓練數據中1和0的比值。 但有時,調整概率截止值可以提高開發和驗證樣本的准確性。InformationValue :: optimalCutoff功能提供了找到最佳截止值,減少錯誤分類錯誤。
optCutOff <- optimalCutoff(testData$ABOVE50K, predicted)[1]
=> 0.71
模型診斷
錯誤分類錯誤
錯誤分類錯誤是預測與實際的不匹配百分比 。 錯誤分類錯誤越低, 模型越好。
misClassError(testData$ABOVE50K, predicted, threshold = optCutOff)
[1] 0.0892
ROC曲線
ROC曲線指受試者工作特征曲線 / 接收器操作特性曲線(receiver operating characteristic curve), 是反映敏感性和特異性連續變量的綜合指標,是用構圖法揭示敏感性和特異性的相互關系,它通過將連續變量設定出多個不同的臨界值,從而計算出一系列敏感性和特異性,再以敏感性為縱坐標、(1-特異性)為橫坐標繪制成曲線,曲線下面積越大,診斷准確性越高。在ROC曲線上,最靠近坐標圖左上方的點為敏感性和特異性均較高的臨界值。
上述型號的ROC曲線面積為89%,相當不錯。
一致性
簡單來說,在1-0 的所有組合中,一致性是預測對的百分比 ,一致性越高,模型的質量越好。
$Concordance
[1] 0.8915107
$Discordance
[1] 0.1084893
$Tied
[1] -2.775558e-17
$Pairs
[1] 45252896
上述型號的89.2%的一致性確實是一個很好的模型。
混淆矩陣
在人工智能中,混淆矩陣(confusion matrix)是可視化工具,特別用於監督學習,在無監督學習一般叫做匹配矩陣。其每一列代表預測值,每一行代表的是實際的類別。這個名字來源於它可以非常容易的表明多個類別是否有混淆(也就是一個class被預測成另一個class)。
confusionMatrix(testData$ABOVE50K, predicted, threshold = optCutOff)
0 1
0 18849 1543
1 383 810
結論
這里僅僅介紹了模型的建立和評估。通過模型的結論,我們可以得到一些已經為公眾所接受和熟知的現象是:付費和受教育程度、智力、年齡以及性別等相關。 基於此用戶規模預測模型,結合用戶的人口信息,即可粗略預估產品在一般情況下的收入情況, 從而判斷就得到了付費用戶預測模型,如果把收入分類轉換成流失用戶和有效用戶,就得到了流失用戶預測模型。