99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀邏輯回歸算法的原理及實(shí)現(xiàn)(LR)
邏輯回歸算法的原理及實(shí)現(xiàn)(LR)
2016-05-19
收藏

邏輯回歸算法的原理及實(shí)現(xiàn)(LR)

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預(yù)測算法中的一種。通過歷史數(shù)據(jù)的表現(xiàn)對(duì)未來結(jié)果發(fā)生的概率進(jìn)行預(yù)測。例如,我們可以將購買的概率設(shè)置為因變量,將用戶的特征屬性,例如性別,年齡,注冊(cè)時(shí)間等設(shè)置為自變量。根據(jù)特征屬性預(yù)測購買的概率。邏輯回歸與回歸分析有很多相似之處,在開始介紹邏輯回歸之前我們先來看下回歸分析。

回歸分析用來描述自變量x和因變量Y之間的關(guān)系,或者說自變量X對(duì)因變量Y的影響程度,并對(duì)因變量Y進(jìn)行預(yù)測。其中因變量是我們希望獲得的結(jié)果,自變量是影響結(jié)果的潛在因素,自變量可以有一個(gè),也可以有多個(gè)。一個(gè)自變量的叫做一元回歸分析,超過一個(gè)自變量的叫做多元回歸分析。下面是一組廣告費(fèi)用和曝光次數(shù)的數(shù)據(jù),費(fèi)用和曝光次數(shù)一一對(duì)應(yīng)。其中曝光次數(shù)是我們希望知道的結(jié)果,費(fèi)用是影響曝光次數(shù)的因素,我們將費(fèi)用設(shè)置為自變量X,將曝光次數(shù)設(shè)置為因變量Y,通過一元線性回歸方程和判定系數(shù)可以發(fā)現(xiàn)費(fèi)用(X)對(duì)曝光次數(shù)(Y)的影響。

以下為一元回歸線性方式,其中y是因變量,X是自變量,我們只需求出截距b0和斜率b1就可以獲得費(fèi)用和曝光次數(shù)之間的關(guān)系,并對(duì)曝光次數(shù)進(jìn)行預(yù)測。這里我們使用最小二乘法來計(jì)算截距b0和斜率b1。最小二乘法通過最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。

下表中是使用最小二乘法計(jì)算回歸方程的一些必要的計(jì)算過程。在表中最左側(cè)的兩列分別為自變量X和因變量Y,我們首先計(jì)算出自變量和因變量的均值,然后計(jì)算每一個(gè)觀測值與均值的差,以及用于計(jì)算回歸方程斜率b1所需的數(shù)據(jù)。

根據(jù)表中的數(shù)據(jù)按公式計(jì)算出了回歸方程的斜率b1,計(jì)算過程如下。斜率表示了自變量和因變量間的關(guān)系,斜率為正表示自變量和因變量正相關(guān),斜率為負(fù)表示自變量和因變量負(fù)相關(guān),斜率為0表示自變量和因變量不相關(guān)。

求得斜率b1后,按下面的公式可以求出Y軸的截距b0。

將斜率b1和截距b0代入到回歸方程中,通過這個(gè)方程我們可以獲得自變量和因變量的關(guān)系,費(fèi)用每增加1元,曝光次數(shù)會(huì)增長7437次。以下為回歸方程和圖示。

在回歸方程的圖示中,還有一個(gè)R平方,這個(gè)值叫做判定系數(shù),用來衡量回歸方程是否很好的擬合了樣本的數(shù)據(jù)。判定系數(shù)在0-1之間,值越大說明擬合的越好,換句話說就是自變量對(duì)因變量的解釋度越高。判定系數(shù)的計(jì)算公式為SST=SSR+SSE,其中SST是總平方和,SSR是回歸平方和,SSE是誤差平方和。下表為計(jì)算判定系數(shù)所需三個(gè)指標(biāo)的一些必要的計(jì)算過程。

根據(jù)前面求得的回歸平方和(SSR)和總平方和(SST)求得判定系數(shù)為0.94344。

以上為回歸方程的計(jì)算過程,在根據(jù)費(fèi)用預(yù)測曝光數(shù)量的場景下,我們可以通過回歸方程在已知費(fèi)用的情況下計(jì)算出曝光數(shù)量。邏輯回歸與回歸方程相比在線性回歸的基礎(chǔ)上增加了一個(gè)邏輯函數(shù)。例如通過用戶的屬性和特征來判斷用戶最終是否會(huì)進(jìn)行購買。其中購買的概率是因變量Y,用戶的屬性和特征是自變量X。Y值越大說明用戶購買的概率越大。這里我們使用事件發(fā)生的可能性(odds)來表示購買與未購買的比值。

使用E作為購買事件,P(E)是購買的概率,P(E’)是未購買的概率,Odds(E)是事件E(購買)發(fā)生的可能性。

Odds是一個(gè)從0到無窮的數(shù)字,Odds的值越大,表明事件發(fā)生的可能性越大。下面我們要將Odds轉(zhuǎn)化為0-1之間的概率函數(shù)。首先對(duì)Odds取自然對(duì)數(shù),得到logit方程,logit是一個(gè)范圍在負(fù)無窮到正無窮的值。

基于上面的logit方程,獲得以下公式:

其中使用π替換了公式中的P(E),π=P(E)。根據(jù)指數(shù)函數(shù)和對(duì)數(shù)規(guī)則獲得以下公式:

并最終獲得邏輯回歸方程:

下面根據(jù)邏輯回歸方程來計(jì)算用戶購買的概率,下表是用戶注冊(cè)天數(shù)和是否購買的數(shù)據(jù),其中注冊(cè)天數(shù)是自變量X,是否購買是自變量Y。我們將購買標(biāo)記為1,將未購買標(biāo)記為0。接下來我們將在Excel中通過8個(gè)步驟計(jì)算出邏輯回歸方程的斜率和截距。并通過方程預(yù)測新用戶是否會(huì)購買。

第一步,使用Excel的排序功能對(duì)原始數(shù)據(jù)按因變量Y進(jìn)行排序,將已購買和未購買的數(shù)據(jù)分開,使得數(shù)據(jù)特征更加明顯。

第二步,按照Logit方程預(yù)設(shè)斜率b1和截距b0的值,這里我們將兩個(gè)值都預(yù)設(shè)為0.1。后續(xù)再通過Excel求最優(yōu)解。

第三步,按照logit方程,使用之前預(yù)設(shè)的斜率和截距值計(jì)算出L值。



第四步,將L值取自然對(duì)數(shù),

第五步,計(jì)算P(X)的值,P(X)為事件發(fā)生的可能性(Odds)。具體的計(jì)算步驟和過程見下圖。



第六步,計(jì)算每個(gè)值的對(duì)數(shù)似然函數(shù)估計(jì)值(Log-Likelihood)。方法和過程見下圖。

第七步,將對(duì)數(shù)似然函數(shù)值進(jìn)行匯總。



第八步,使用Excel的規(guī)劃求解功能,計(jì)算最大對(duì)數(shù)似然函數(shù)值。方法和過程見下圖。設(shè)置匯總的對(duì)數(shù)似然函數(shù)值LL為最大化的目標(biāo),預(yù)設(shè)的斜率b1和截距b0是可變單元格,取消”使無約束變量為非負(fù)數(shù)”的選項(xiàng)。進(jìn)行求解。


Excel將自動(dòng)求出邏輯回歸方程中斜率和截距的最優(yōu)解,結(jié)果如下圖所示。

求得邏輯回歸方程的斜率和截距以后,我們可以將值代入方程,獲得一個(gè)注冊(cè)天數(shù)與購買概率的預(yù)測模型,通過這個(gè)模型我們可以對(duì)不同注冊(cè)天數(shù)(X)用戶的購買概率(Y)進(jìn)行預(yù)測。以下為計(jì)算過程。

第一步,輸入自變量注冊(cè)天數(shù)(X)的值,這里我們輸入50天。

第二步,將輸入的X值,以及斜率和截距套入Logit方程,求出L值。

第三步,對(duì)L值取自然對(duì)數(shù)。

第四步,求時(shí)間發(fā)生可能性P(X)的概率值。

注冊(cè)天數(shù)為50天的用戶購買的概率約為17.60%。

我們將所有注冊(cè)天數(shù)的值代入到購買概率預(yù)測模型中,獲得了一條注冊(cè)天數(shù)對(duì)購買概率影響的曲線。從曲線中可以發(fā)現(xiàn),注冊(cè)天數(shù)在較低和較高天數(shù)的用戶購買概率較為平穩(wěn)。中間天數(shù)用戶的購買概率變化較大。

我們繼續(xù)在上面的計(jì)算結(jié)果中增加新的自變量“年齡”。以下是原始數(shù)據(jù)的截圖?,F(xiàn)在有年齡和注冊(cè)天數(shù)兩個(gè)自變量和一個(gè)因變量。

依照前面的方法計(jì)算斜率和截距的最優(yōu)解,并獲得邏輯回歸方程,將不同的年齡和注冊(cè)天數(shù)代入到方程中,獲得了用戶年齡和注冊(cè)天數(shù)對(duì)購買的預(yù)測模型。我們通過Excel的三維圖表來繪制年齡和注冊(cè)天數(shù)對(duì)購買概率的影響。

從圖中可以看出,購買概率隨著注冊(cè)天數(shù)的增加而增長,并且在相同的注冊(cè)天數(shù)下,年齡較小的用戶購買概率相對(duì)較高。


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }