量化投資學習筆記21——迴歸分析:邏輯迴歸

阿里雲的課程有邏輯迴歸的內容的,學一下。
原理
分類變量:又稱定性變量或離散變量,觀察個體只能屬於互不相容的類別中的一組。一般用非數字表達。與之相對的是定量變量或連續變量,變量具有數值特徵。
常見的有有序變量(年齡等級,收入等級等),名義變量(性別,天氣,職業等)。
自變量包含分類變量:名義變量通常使用虛擬變量(啞變量),有序變量通過選取連續函數構建位置結構模型或者規則結構模型。
因變量包含分類變量:通常不滿足迴歸分析的基本假設,通常使用新的迴歸方法。
問題:誤差項非正態分佈;誤差項零均值異方差;迴歸方程有限制。
改進:①迴歸函數改用限制在[0,1]之間的連續曲線,而不再是直線迴歸方程。常用的是logistic函數(或稱sigmoid函數)。其形式爲f(x) = 1/(1+1/e**-x)
因變量取值爲0,1,不適合直接作爲迴歸的因變量,改用因變量取值爲1的概率π作爲迴歸因變量。因此也叫線性概率模型。
使用logit變換可以將logistic函數變換爲線性函數。
用最大似然法估計參數值。
求解用到了梯度法。
梯度:是一個向量,表示某一函數在該點處的方向導數沿着該方向取得最大值,即函數在該點處沿着該方向變化最快,變化率最大。
梯度下降法:一種最優化算法,也稱爲最速下降法,沿着負梯度方向去減小函數值從而接近目標值。求最小值。
梯度上升法:一種最優化算法,也稱最速上升法,沿着梯度方向去增加函數值從而接近目標值。求最大值。又有批量梯度上升法,隨機梯度上升法等,小批量梯度上升法。
循環終止條件:設定循環閾值,當兩次迭代值之差小於閾值時停止。或者定義最大循環次數,到達後即終止。
邏輯迴歸的基本假設
①因變量是二分類的分類變量,或某事件的發生率,並且是數值型變量。
②殘差和因變量都要服從二項分佈,二項分佈對應的是分類變量,所以不是正態分佈,進而不是用最小二乘法,而是最大似然法來解決方程估計和檢驗問題。
③自變量和logistic概率是線性關係。
④各觀測對象之間相互獨立,共線性問題會影響邏輯迴歸的參數估計和預測。
對於多分類變量,也可以轉化爲多個二項邏輯迴歸解決。還可以使用softmax作爲損失函數,將輸出映射到(0,1)。
用sklearn自帶的iris數據集實測一下。
代碼見https://github.com/zwdnet/MyQuant/blob/master/20/logist.py

模型的評估、診斷與調優
構造統計量,用卡方檢驗。迴歸係數的檢驗構造Wald統計量,用卡方檢驗,或者計算擬合優度。自變量篩選與線性迴歸類似。前進法,後退法,逐步迴歸法。
除了與線性迴歸共有的問題,邏輯迴歸還有過離散,空單元,完全分類等特有的問題。
sklearn貌似還是不能進行統計檢驗,看看分數吧。
0.8066666666666666 還不錯。

我發文章的四個地方,歡迎大家在朋友圈等地方分享,歡迎點“在看”。
我的個人博客地址:https://zwdnet.github.io
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的博客園博客地址: https://www.cnblogs.com/zwdnet/
我的微信個人訂閱號:趙瑜敏的口腔醫學學習園地

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