我眼中的分類變量水平壓縮(一)

                                                分類變量的水平一定要壓縮

       模型中分類變量一般需要處理成0-1形式的啞變量。

       如果變量水平本身較多,那麼啞變量的水平個數也會相應變,這種情況下去構建模型肯定不行,需要將分類變量的水平進行壓縮處理。

                                                分類變量水平壓縮的方法

       一般情況,分類變量水平壓縮有下面兩種方法,這一篇先說說我對啞變量編碼法的理解:

  • 啞變量編碼法
  • 基於目標變量的WOE轉換法;

                                             我眼中的啞變量編碼法

       建模時,如果入模變量有N個等級,爲了避免多重共線性,不可以設置N個啞變量,一般需設置N-1個0-1形式的啞變量。變量等級過多會爲後續的建模工作帶來麻煩,但如果堅持想通過構建啞變量的方式來構建模型,則只能通過人爲的方法去合併變量的水平數量,即進行變量壓縮處理

       例如某個分類變量共有19個水平,那麼可以通過變量壓縮,將水平合併爲5個,再針對這5個水平設置4個啞變量,這樣事情就變得非常的簡單了,通常,我會用決策樹去實現這個過程

       SAS構建邏輯迴歸模型時會使用CLASS語句去告訴軟件該變量爲分類變量,同時,SAS也會自動生成對應的N-1個啞變量,而迴歸模型則需手動設置生成啞變量,這個環節與迴歸模型相比,邏輯迴歸模型更加簡單便捷。

                                                     變量壓縮的原則

      變量壓縮遵循的基本原則爲:將缺乏變異性的 數據分類 壓縮處理掉

      以績效等級爲例,Y爲0-1形式的二值型數據,如果數據處於第二個績效等級,則Y=0的概率爲100%,即這個績效等級的方差爲0,這意味着變量的隨機性已經退化到僅剩一個數值,Y因缺乏變異而導致無法計算,即第二個績效等級的分類水平明顯會導致過度擬合

      這種情況下,通常需要將第二個績效等級水平與其他水平進行合併處理。

                                                  我這樣進行水平合併

       關於變量水平的合併,我會有兩種合併思路

  • 頻次少的水平簡單合併爲一類,這種方式看上去簡單粗暴,但其實經度降低並不大,變量水平依然不少;

  • Y=1的概率越高,表明其越容易過度擬合最優的情況爲比例全在0.5左右,越靠近0.5說明變異性越好,可以依據每個水平Y=1的佔比,將值接近1的觀測劃分爲一類,這種方式可以通過快速聚類來實現。

       變量水平的合併需要進行多次嘗試,宗旨是力求變異性最大化,也就是P*(1-P)最大。合併的過程需要手動完成,需要將每一個分類變量拿出來後,逐一進行列聯表分析,然後人工的去挑出沒有變異的值後,再手動進行合併

我的公衆號:Data Analyst

個人網站:https://www.datanalyst.net/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章