亚洲精品国产精品制服丝袜,亚洲欧美日韩精品a∨,97在线热免费视频精品视频,亚洲人成在线观看网站不卡

邏輯回歸,很有邏輯

發(fā)布時(shí)間:2017-09-12  |   來源: 川總寫量化

作者:石川

摘要:摘要:邏輯回歸是一種有機(jī)監(jiān)督學(xué)習(xí)分類器,在量化投資領(lǐng)域可以被用來選股。本文介紹邏輯回歸的數(shù)學(xué)背景和應(yīng)用實(shí)踐。

1 邏輯回歸分類器


邏輯回歸由統(tǒng)計(jì)學(xué)家 David Cox 于 1958 年提出。與傳統(tǒng)的線性回歸不同,邏輯回歸(logistic regression)中響應(yīng)變量(因變量)的取值不是連續(xù)的,而是離散的,每個(gè)取值代表一個(gè)不同的類別。因此,邏輯回歸的本質(zhì)是一個(gè)分類器(classifier)。它是一種有監(jiān)督學(xué)習(xí),通過訓(xùn)練集數(shù)據(jù)中的樣本的特征向量 x 和標(biāo)簽 y(即響應(yīng)變量的類別)來訓(xùn)練模型的參數(shù),并使用該模型對未來的新樣本進(jìn)行分類。


最簡單的邏輯回歸中響應(yīng)變量是二分類的(binary),即它僅僅可以取兩個(gè)值,代表不同的兩類。按照慣例,它的取值為 0 和 1。即便是最簡單的模型也有廣泛的應(yīng)用,比如這兩類可以代表著比賽中的輸和贏、考試中的通過和失敗、醫(yī)療領(lǐng)域的健康和生病、以及股市中的漲和跌等。如果響應(yīng)變量的取值多于兩類,則這樣的問題叫做多項(xiàng)邏輯回歸(multinomial logistic regression)。


本文以最簡單的二元邏輯模型(binary logistic model,即響應(yīng)變量 y 只能取 0 和 1 兩個(gè)值)為例,介紹邏輯回歸的數(shù)學(xué)含義以及它在量化選股中的應(yīng)用。本文的最后會(huì)簡單談一談求解多項(xiàng)邏輯回歸——即 Softmax 回歸——以及它在卷積神經(jīng)網(wǎng)絡(luò)中的應(yīng)用。下文中如無特殊說明,當(dāng)我們提到“邏輯回歸”時(shí),指代的都是最簡單的二元邏輯回歸。


2 數(shù)學(xué)模型


在二元邏輯回歸中,回歸模型根據(jù)樣本點(diǎn)的特征(features)計(jì)算該樣本點(diǎn)屬于每一類的條件概率。在數(shù)學(xué)上,通過給定的函數(shù)將樣本點(diǎn)的 n 維特征向量 x 轉(zhuǎn)化成一個(gè)概率標(biāo)量。具體的,具備特征向量 x 的樣本點(diǎn)屬于 1 和 0 兩類的條件概率為:


f1.png

其中,函數(shù) σ(z) ≡ 1 / (1 + exp(-z)) 被稱為邏輯函數(shù)(logistic function)sigmoid 函數(shù)(因?yàn)?σ(z) 形如 S 曲線);它的取值范圍在 0 和 1 之間。邏輯回歸的目的是通過訓(xùn)練集數(shù)據(jù)找到最優(yōu)的權(quán)重 w 使得分類結(jié)果盡量同時(shí)滿足如下目標(biāo):


當(dāng)一個(gè)樣本點(diǎn)的真實(shí)分類是 1 時(shí),h_w(x) 盡可能大;


當(dāng)一個(gè)樣本點(diǎn)的真是分類是 0 時(shí),h_w(x) 盡可能小(即 1 - h_w(x) 盡可能大)。


邏輯回歸將樣本點(diǎn)的特征向量 x 按照權(quán)重 w 進(jìn)行線性組合得到標(biāo)量 z,再將 z 放入邏輯函數(shù) σ(z) 最終求出該樣本點(diǎn)屬于類別 1 以及 0 的概率,從而對其進(jìn)行分類——如果 h_w(x) > 1 - h_w(x) 則該樣本點(diǎn)被分為類別 1,反之為類別 0。


如何決定權(quán)重 w 呢?假設(shè)訓(xùn)練集共有 m 對兒數(shù)據(jù) {(x_i, y_i), i = 1, 2, …, m},為了盡量同時(shí)實(shí)現(xiàn)上述目標(biāo),定義 cost function 如下:


f2.png

使用訓(xùn)練集數(shù)據(jù)訓(xùn)練模型的參數(shù) w 以使上述 cost function 最小化。對于訓(xùn)練集中的每一個(gè)樣本點(diǎn),上述方程的兩項(xiàng)中有且僅有一個(gè)不為 0。對于第 i 個(gè)樣本點(diǎn),如果 y_i = 1,則最小化上述方程意味著最大化 h_w(x_i),即最大化該點(diǎn)被分類為 1 的概率;同理,如果 y_i = 0,則最小化上述方程意味著最大化 1 - h_w(x_i),即最大化該點(diǎn)被分類為 0 的概率。


從上面的論述可知,J(w) 同時(shí)考慮了 1 和 0 兩類分類的準(zhǔn)確性。使用訓(xùn)練集對該模型訓(xùn)練,找到最優(yōu)的?w,使得 J(w) 最小,這就是邏輯回歸模型的學(xué)習(xí)過程。一旦確定了模型參數(shù),就可以使用它對新的樣本進(jìn)行分類。對于新的樣本點(diǎn)特征向量 x',如果 h_w(x') > 0.5,則該點(diǎn)被分到 y = 1 類;反之被分到 y = 0 類。最優(yōu)化 J(w) 可以采用梯度搜索(gradient search),為此只需要計(jì)算出 J 的梯度 ?J(w),在此不再贅述。


最后值得一提的是,在計(jì)算特征向量的線性組合時(shí),往往會(huì)額外考慮一個(gè)截距項(xiàng)。這相當(dāng)于在原始 n 維特征向量 x 中加入一個(gè)元素 1(因此特征向量變?yōu)?n+1 維),而x的線性組合也因此變?yōu)椋?/span>


f3.png

當(dāng)然,這個(gè)截距項(xiàng)不是必須的。使用者可以根據(jù)待解決的問題判斷是否應(yīng)該在特征向量中加入該項(xiàng)。流行的統(tǒng)計(jì)分析工具(比如 Python 的 sklearn)允許使用者自行決定是否在模型中加入截距項(xiàng)。


3 一個(gè)例子


讓我借用 Wikipedia 上面的例子來說明邏輯回歸的應(yīng)用。這是一個(gè)關(guān)于學(xué)習(xí)時(shí)間和考試通過與否的例子。假設(shè)一共有 20 名學(xué)生(樣本點(diǎn)),特征向量為截距項(xiàng) 1 和學(xué)習(xí)時(shí)間組成的二維向量。考試結(jié)果分為 1(通過)和 0(失?。N覀儾捎眠壿嫽貧w來建立考試時(shí)間和通過與否之間的關(guān)聯(lián)。訓(xùn)練集數(shù)據(jù)如下:


f4.png


使用訓(xùn)練集數(shù)據(jù)建模,得到的邏輯回歸模型參數(shù)(特征向量的權(quán)重):


學(xué)習(xí)時(shí)間的權(quán)重為:1.5046

截距項(xiàng)的權(quán)重為:-4.0777


從模型參數(shù)可以看出,是否通過考試和該學(xué)生的努力程度(學(xué)習(xí)時(shí)間)是正相關(guān)的,這符合人們的預(yù)期。將模型參數(shù)帶入到 sigmoid 函數(shù)中便可計(jì)算出給定學(xué)習(xí)時(shí)間下考試通過的概率:


f5.png

使用該模型便可以對新的考生是否通過考試進(jìn)行判斷。將訓(xùn)練集中的 20 名考生的學(xué)習(xí)時(shí)間帶入到上式可繪制圖這個(gè) sigmoid 函數(shù)(確實(shí)形如 S 曲線):


f6.png


4 使用邏輯回歸選股


經(jīng)過上面的介紹,我們已經(jīng)對邏輯回歸的原理和它的應(yīng)用有了一定的認(rèn)識。下面就來將它應(yīng)用于量化投資相關(guān)的領(lǐng)域——選股。為說明這一點(diǎn),使用股票的因子作為特征向量,使用股票的漲跌強(qiáng)弱作為響應(yīng)變量,建立邏輯回歸模型來選股。本實(shí)驗(yàn)中,以中證 500 的成分股為例。特別的,考慮 2016 年 12 月 31 日時(shí)這 500 支成分股的最新截面因子數(shù)據(jù)。考察的十個(gè)因子包括:EP、BP、ROE、Liability/Asset、規(guī)模、換手率、動(dòng)量、反轉(zhuǎn)、市場 β、殘差波動(dòng)率。


由于選股的目的是使用因子來對未來的收益率做預(yù)測,因此我們使用這 500 支成分股在 2017 年 1 月份的收益率作為響應(yīng)變量的原始數(shù)據(jù)。由于在二元邏輯回歸中,響應(yīng)變量必須是二元的,因此我們需要將這 500 支個(gè)股的絕對收益率轉(zhuǎn)換成 0 和 1。為此,可以有以下幾種方法:


1. 使用絕對收益率的漲跌為依據(jù):個(gè)股的收益率大于 0 則分到 1 類;收益率小于 0 則分到 0 類;

?

2. 使用相對市場收益率的漲跌為依據(jù):由于個(gè)股和市場十分相關(guān),而且它們都以不同的程度暴露于市場風(fēng)險(xiǎn)之中,因此考慮個(gè)股收益率與中證 500 指數(shù)收益率的大小關(guān)系。個(gè)股收益率大于指數(shù)收益率則分到 1 類;個(gè)股收益率小于指數(shù)收益率則分到 0 類。

?

3. 使用個(gè)股之間的相對強(qiáng)弱為依據(jù):直接考察個(gè)股之間的收益率的相對大小,將收益率處于中位數(shù)之上的個(gè)股分到 1 類;將收益率處于中位數(shù)之下的個(gè)股分到 0 類。


在量化選股中,為了對沖掉市場風(fēng)險(xiǎn),往往希望判斷股票的相對強(qiáng)弱。實(shí)驗(yàn)中采用上述的第三種方法將股票的收益率轉(zhuǎn)化為二元響應(yīng)變量。訓(xùn)練集數(shù)據(jù)準(zhǔn)備就緒,便可以訓(xùn)練回歸模型。假設(shè)特征向量中不考慮截距項(xiàng),得到的回歸模型參數(shù)如下。


f7.png


可以看出,收益率和 BP 以及 ROE 成正比。有意思的是,收益率和 β 成反比。這似乎說明市場更加青睞小 β 的藍(lán)籌股。想更系統(tǒng)的分析每個(gè)因子對于選股的作用,需要使用多期數(shù)據(jù)同時(shí)在時(shí)間和截面兩個(gè)維度進(jìn)行邏輯回歸。接下來看看在這個(gè)簡單的實(shí)驗(yàn)中,邏輯回歸模型對樣本內(nèi)數(shù)據(jù)的分類正確性。預(yù)測的正確性必須從準(zhǔn)確率和召回率兩方面同時(shí)評價(jià)。假設(shè)我們預(yù)測一共有 X 支股票上漲,其中有 A 支猜對了、B 支猜錯(cuò)了;我們預(yù)測一共有 Y = (500 - X) 支下跌,其中有 C 支猜錯(cuò)了、D 支猜對了。則這兩個(gè)指標(biāo)的定義為:


f8.png


準(zhǔn)確率衡量的是在所有你猜測的某一類(漲或跌)樣本中,有多少是正確的;而召回率是用來衡量在所有某一類的(漲或跌)樣本中,有多少被你猜出來了。對于實(shí)驗(yàn)中的這個(gè)邏輯回歸模型,它的正確性如下:


猜漲準(zhǔn)確率:68.8%

猜漲召回率:66.7%

猜跌準(zhǔn)確率:62.4%

猜跌召回率:65.5%


僅從這些數(shù)字上來看,似乎效果還不錯(cuò)。但是不要忘記,這僅僅是對樣本內(nèi)數(shù)據(jù)的判斷結(jié)果(模型就是用它們來構(gòu)建的);這些不說明樣本外的預(yù)測準(zhǔn)確性。通過這個(gè)例子,僅僅想說明利用邏輯回歸可以進(jìn)行量化選股。因此,我們的例子止于此。在真正應(yīng)用中,正如前文提到的,應(yīng)該使用多期在時(shí)間和截面兩個(gè)維度的樣本數(shù)據(jù)建模,并采用交叉驗(yàn)證來評價(jià)模型在樣本外的分類準(zhǔn)確性,以此最終確定模型的參數(shù)。


5 邏輯回歸、Softmax 回歸和卷積神經(jīng)網(wǎng)絡(luò)


最后,簡單談?wù)勥壿嫽貧w、Softmax 回歸和卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系。先來說說神經(jīng)網(wǎng)絡(luò)(neural networks),它由多個(gè)、多層神經(jīng)元(neuron)構(gòu)成,每個(gè)神經(jīng)元就是一個(gè)計(jì)算單元(見下圖),由輸入特征、輸出值、以及激活函數(shù)構(gòu)成。


f9.png


在這個(gè)例子中,x_1、x_2、x_3 和截距項(xiàng) 1 就是輸入的特征,h_w(x) 就是輸出,而邏輯回歸中的 sigmoid 函數(shù)就是一種常見的激活函數(shù)(其他常見的激活函數(shù)包括 tanh 函數(shù)和 max 函數(shù)等)。


再來看看 Softmax 回歸。它是一種多項(xiàng)邏輯回歸,即響應(yīng)變量的取值大于兩類。假設(shè)共有 K > 2 類,每個(gè)樣本點(diǎn)的響應(yīng)變量 y_i 的取值為 1 到 K 之間的某一個(gè)值。多項(xiàng)邏輯回歸的應(yīng)用更加廣泛,比如在手寫數(shù)字識別中,一共有 0 到 9 是個(gè)數(shù)字,因此一共可以有 10 類。將二元邏輯回歸的數(shù)學(xué)含義延伸易知,在 Softmax 回歸中我們希望計(jì)算出樣本點(diǎn)在其給定的特征向量下,屬于每一類的條件概率:


f10.png

其中 θ^(1),θ^(2),……,θ^(K) 為模型的參數(shù),通過訓(xùn)練集數(shù)據(jù)訓(xùn)練得到。與二元邏輯回歸類似,定義 cost function 如下:


f11.png

其中 1{} 為指示函數(shù),當(dāng) {} 中的條件為真時(shí),它的取值為 1,否則為 0。通過最小化這個(gè)目標(biāo)函數(shù)就可以得到最優(yōu)的參數(shù) θ^(1),θ^(2),……,θ^(K)。求解時(shí)同樣可以采用梯度搜索法。


Softmax 回歸往往作為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)的最后一步。卷積神經(jīng)網(wǎng)絡(luò)是在神經(jīng)網(wǎng)絡(luò)上發(fā)展出來的,可以被用來進(jìn)行圖像識別的強(qiáng)大工具。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)在面對高像素的圖像進(jìn)行識別時(shí)無能為力,這是因?yàn)楦呦袼貙?yīng)的特征數(shù)巨大,遠(yuǎn)超過計(jì)算機(jī)可以承受的范圍;此外巨大的特征也使得特征矩陣非常稀疏。卷積神經(jīng)網(wǎng)絡(luò)通過卷積計(jì)算對原始的特征進(jìn)行高度的抽象,通過局部感知和參數(shù)共享大大的減少了特征數(shù)。此外,它通過使用多層卷積以及池化等手段,進(jìn)一步抽象特征,最終得到原始圖像的高度提煉的信息。而在最后一步,使用這個(gè)高度抽象的信息對圖像進(jìn)行分類(識別),計(jì)算它屬于不同類別的概率。在實(shí)際應(yīng)用中,圖像的類別往往成百上千,甚至更多,這便要用到 Softmax 回歸。



參考文獻(xiàn)

https://en.wikipedia.org/wiki/Logistic_regression

http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/



免責(zé)聲明:入市有風(fēng)險(xiǎn),投資需謹(jǐn)慎。在任何情況下,本文的內(nèi)容、信息及數(shù)據(jù)或所表述的意見并不構(gòu)成對任何人的投資建議。在任何情況下,本文作者及所屬機(jī)構(gòu)不對任何人因使用本文的任何內(nèi)容所引致的任何損失負(fù)任何責(zé)任。除特別說明外,文中圖表均直接或間接來自于相應(yīng)論文,僅為介紹之用,版權(quán)歸原作者和期刊所有。