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

熱線電話:13121318867

登錄
首頁精彩閱讀基于R和Python 如何使用多項式和有序邏輯回歸
基于R和Python 如何使用多項式和有序邏輯回歸
2016-03-23
收藏

基于R和Python 如何使用多項式和有序邏輯回歸

我們中的大多數(shù)對于回歸的知識是有限的。其中,線性和邏輯回歸是我們最喜歡的一種。作為一個有趣的事實,回歸具有擴展的能力來處理不同類型的變量。你是否知道,回歸規(guī)定處理多層次的變量嗎?我肯定,你沒有,我也沒有。直到我被推到探索這方面的回歸。

對于多層次的變量,很多機器學習算法可以替你做工作。例如,樸素貝葉斯決策樹,隨機森林等的初學者,這些算法可能有些難以理解。但是,如果你很好的理解邏輯回歸,掌握這一新的回歸應(yīng)該是很容易的!

在這篇文章中,我已經(jīng)解釋了使用多項式和序數(shù)回歸的方法。此外,為了實際的目的,我們已經(jīng)證明這個算法在一個循序漸進的R潮流中。

注:這篇文章是最適合具有領(lǐng)先經(jīng)驗的邏輯回歸的R用戶。然而,如果你用Python,你仍然可以得到一個全面的了解這個回歸的方法。

時間序列預(yù)測全攻略(附帶Python代碼)

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>


多元回歸是什么?

多遠回歸是一種線性回歸分析,因變量是名義上的兩個或兩個以上的水平。它用來描述數(shù)據(jù),并解釋一個依賴名義變量和一個或多個聯(lián)系水平(時間間隔或比例規(guī)模)的獨立變量之間的關(guān)系。你可以理解的名義變量,一個沒有內(nèi)在順序的變量。

例如:森林類型:”常綠闊葉林””落葉林”,”雨林”。正如你看到的,他們之間有一個內(nèi)在的秩序,但是每一類都代表一個獨特的分類。換句話說,多項式回歸是回歸分析邏輯的延伸,分析了獨立二進制。

多元回歸是如何運作的?

多元邏輯回歸評估了每個虛擬變量的二元邏輯回歸模型。其結(jié)果是M-1二元邏輯回歸模型。每一個模型都傳達了,在比較參考的類別中,該類別成功概率的影響。

每個模型都有自身的截距和回歸系數(shù)——預(yù)測可以影響每個不同類別。讓我們將這一部分與我們的經(jīng)典之作進行比較——線性和邏輯回歸

標準的線性回歸需要變量成為連續(xù)水平(時間間隔或比率)的規(guī)模。然而,邏輯回歸通過假設(shè)變量是一個隨機事件,跳躍了差距。因變量描述該隨機事件與密度函數(shù)的結(jié)果(一個累積概率從0到1的功能)。

統(tǒng)計人員認為,一個事件的概率小于0.5時則會發(fā)生,概率大于0.5時則是相反的情況。

現(xiàn)在我們知道MLR延伸了二元邏輯模型給一個眾多類別的模型(因變量)。然而,它有一個限制。這個屬于結(jié)果的類別并不假設(shè)任何順序。例如,如果我們有N個有相等概率的類別。在現(xiàn)實中,我們遇到了一個自然順序的類別的問題。

那么,當我們的因變量有一個自然順序的類別時,我們該做什么?這種情況下,有序回歸可以拯救我們。

有序回歸是什么?

有序回歸(也稱序邏輯回歸)是二項邏輯回歸的又一延伸。有序回歸是用來預(yù)測變量與”有序”多個類別和獨立變量。換句話說,它是用來促進一個或多個獨立變量的相互作用的依賴變量(具有多個有序的水平)。

例如:讓我們假設(shè)一項已經(jīng)完成的調(diào)查。我們問了調(diào)查者一個在同意與不同意之間的問題。回饋的收集并沒有幫助我們很好的概括。后來,我們增加了我們的反應(yīng)機制例如:非常不同意,不同意,同意,非常不同意。

這有助于我們觀察自然秩序的種類。因為我們的回歸模型是現(xiàn)實的,我們必須感謝這個順序不是生來就有的,正如MLR的情況,有序邏輯回歸解決了這種情況。有序意味著類別的順序。

實例:

在我們演算這些算法之前,讓我們確保我們已經(jīng)獲得了一個具體的理解,使用下面的案例:

案例1:(多項式回歸)

高中生可以用多項式LOGIT模型完成程序建模選擇。程序選擇可以是一般程序,職業(yè)程序和學術(shù)程序。他們的選擇可以用他們的寫作成績和他們的社會經(jīng)濟地位來建模。

基于各種屬性,如社會地位,渠道類型,學生所得到的獎項和榮譽,性別,經(jīng)濟地位以及他們在一個給定的題目中他們能夠?qū)懙幕蛘咦x的有多好,程序類型的選擇可以預(yù)測。多層次的程序選擇(無序)是因變量。本案適用于多元邏輯回歸技術(shù)。

案例2(有序回歸)

一項研究著眼于是否一些因素會影響到申請研究生學校的決定。高校學生被問到他們是不可能,有點可能,或者很有可能申請研究生學院。因此,我們的結(jié)果變量有三類,即,不可能,有點可能和非常有可能。

父母對子女教育情況的數(shù)據(jù),制度類(私營或國營),收集當前GPA。研究人員有理由相信,這三個點之間的”距離”是不平等的。例如,”不可能”和”有點可能”之間的”距離”可能比”有點可能”和”有可能”的距離短。在這種情況下,我們將使用有序回歸。

R下的多元邏輯回歸(MLR)

讀取文件

大數(shù)據(jù)

現(xiàn)在我們將用2個獨立變量進行多項式回歸

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

解釋

1、模型執(zhí)行輸入顯示了一些迭代的歷史,包括最終的像179.981726的負對數(shù)。這個值乘以兩個模型最終顯示殘余偏差

2、摘要輸出有一個板塊的系數(shù)和另一個板塊的標準差。每個區(qū)塊有一行對應(yīng)于一個模型方程的值。在系數(shù)的區(qū)塊,我們可以看到,第一行是比較prog=general 與我們的基礎(chǔ) prog=academic,并且第二行 prog=vocation與我們的基礎(chǔ)prog=academic.

3、在一般程序與0.0579的學術(shù)計劃,一個寫日志記錄的單位的增長會降低。

4、在職業(yè)計劃與0.1136的學術(shù)課程,一個寫日志記錄的單位的概率增長會降低。

5、如果從ses=low到ses=high, 一般程序的日志概率比學術(shù)程序降低1.163.

6、另一方面,如果從ses=low到ses=middle,一般程序的日志概率比學術(shù)計劃中的減少0.5332。

7、如果從ses=low到ses=high,職業(yè)計劃的日志概率比學術(shù)計劃減少0.983.

8、如果從ses=low 到ses=middle,職業(yè)計劃的日志概率比學術(shù)計劃增加0.291.

現(xiàn)在我們將計算模型中的變量Z值與P值。

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

P值告訴我們,ses變量并沒有限制。我們現(xiàn)在將探索整個數(shù)據(jù)集,并分析我們是否可以刪除不添加到模型性能的任何變量。

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

在移除ID和程序變量之后,讓我們在整個數(shù)據(jù)集中建立一個數(shù)據(jù)多項式模型。

大數(shù)據(jù)大數(shù)據(jù)

讓我們檢查一下現(xiàn)在的值。

大數(shù)據(jù)

一旦我們建立了這個模型,我們就用它來預(yù)測。讓我們用不同的排列組合創(chuàng)建一個新的數(shù)據(jù)集。

大數(shù)據(jù)

現(xiàn)在,我們計算出預(yù)測值。參數(shù) type=probs, 指定我們對于概率的興趣。為了直觀的理解去繪制預(yù)測的概率,我們增加了預(yù)測概率值的數(shù)據(jù)。

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

現(xiàn)在,我們要計算每個水平的ses的平均概率。

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

我使用從reshape 2 package 中的Melt()功能。它帶著每一個行都是獨特的身份變量的組合,融合數(shù)據(jù)。

> library("reshape2")

## Warning: package 'reshape2' was built under R version 3.1.3

> bpp2 = melt (bpp,id.vars=c("female", "ses","schtyp", "read","write","math","science","socst","honors", "awards"),value.name="probablity")

> head(bpp2)

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

現(xiàn)在我們將探討因變量與自變量的分布,并繪制圖形。使用ggplot()功能。在ggplot,這個函數(shù)的第一個參數(shù)是數(shù)據(jù)值繪制。第二部分在( aes())綁定變量X和Y軸。我們告知使用geom_line()繪圖功能畫出一條線。我們通過繪制不同的顏色區(qū)分不同學校的類型。

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

到這里,我們已經(jīng)學會了使用多元回歸,如上面提到的,如果你有很好的邏輯回歸的知識,解釋這個結(jié)果并不太困難?,F(xiàn)在讓我們開始理解R中的有序回歸。

R中的有序邏輯回歸

下面是R中的OLR的執(zhí)行步驟

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

加載庫

大數(shù)據(jù)

讓我們快速了解數(shù)據(jù)

該數(shù)據(jù)有一個被成為相關(guān)變量的應(yīng)用。它有3個層次,即不可能,有點可能,很可能。編碼在1,2 和3. 3最高,1最低。這種情況是最好的順序回歸的使用。因為存在有序類別。Pared(0/1)是指父母至少有一個人具有碩士研究生學歷;Public(0/1)指本科院校的類型。

建立這個模型,我們將使用polR命令來估計一個有序邏輯回歸。然后,我們將指定Hess=TRUE讓模型輸入顯示所觀察到的優(yōu)化信息矩陣,這是曾經(jīng)用來獲得標準誤差的方式。

大數(shù)據(jù)

我們通??吹降幕貧w輸出系數(shù)表包括各系數(shù)的值,標準差,T值,對兩截距的估計,剩余偏差和AIC。AIC信息準則。越小越好。

現(xiàn)在我們要計算一些重要的指標如P值,CI,比值率。

大數(shù)據(jù)

大數(shù)據(jù)

解釋

1、家長的教育每增加一個單位,從0(低)到1(高),極有可能申請比有點可能或不可能申請的可能性大2.85.

2、很有可能或有點可能申請比不可能申請的可能性大2.85倍。

3、從GPA考慮,當一個學生的GPA移動一個單位,不可能申請的概率是有點可能或很可能(從低到中等分類,或從低到高等分類)申請的概率乘以1.85。

現(xiàn)在讓哦我們試著加強這個模型,以獲得更好的預(yù)測評估。

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

大數(shù)據(jù)

讓我們在這里添加交互項

<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a><a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a><a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a><a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a><a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

結(jié)束語

我很喜歡寫這篇文章。我建議你注意模型的解釋。編碼是比較容易的,但是除非你知道是怎么產(chǎn)生的,否則,你的學習是不完整的。


有許多重要的因素,比如,AIC,殘差值來確定模型的有效性。如果你還想了解他們,我會建議你去刷邏輯回歸的基本。這應(yīng)該有助于你更好的理解這個概念。

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

若不方便掃碼,搜微信號: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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".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 = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+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); }