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

熱線電話:13121318867

登錄
首頁精彩閱讀 K近算法之皮爾遜系數(shù)
K近算法之皮爾遜系數(shù)
2014-11-30
收藏

 K近算法之皮爾遜系數(shù)


  • 皮爾遜系數(shù)(Pearson Correlation Coefficient)
    在具體闡述皮爾遜相關系數(shù)之前,有必要解釋下什么是相關系數(shù) ( Correlation coefficient )與相關距離(Correlation distance)。
    相關系數(shù) ( Correlation coefficient )的定義是:
(其中,E為數(shù)學期望或均值,D為方差,D開根號為標準差,E{ [X-E(X)] [Y-E(Y)]}稱為隨機變量X與Y的協(xié)方差,記為Cov(X,Y),即Cov(X,Y) = E{ [X-E(X)] [Y-E(Y)]},而兩個變量之間的協(xié)方差和標準差的商則稱為隨機變量X與Y的相關系數(shù),記為)
   相關系數(shù)衡量隨機變量X與Y相關程度的一種方法,相關系數(shù)的取值范圍是[-1,1]。相關系數(shù)的絕對值越大,則表明X與Y相關度越高。當X與Y線性相關時,相關系數(shù)取值為1(正線性相關)或-1(負線性相關)。
    具體的,如果有兩個變量:X、Y,最終計算出的相關系數(shù)的含義可以有如下理解:
  1. 當相關系數(shù)為0時,X和Y兩變量無關系。
  2. 當X的值增大(減?。?,Y值增大(減小),兩個變量為正相關,相關系數(shù)在0.00與1.00之間。
  3. 當X的值增大(減?。?,Y值減?。ㄔ龃螅?,兩個變量為負相關,相關系數(shù)在-1.00與0.00之間。
   相關距離的定義是:

OK,接下來,咱們來重點了解下皮爾遜相關系數(shù)。
    在統(tǒng)計學中,皮爾遜積矩相關系數(shù)(英語:Pearson product-moment correlation coefficient,又稱作 PPMCC或PCCs, 用r表示)用于度量兩個變量X和Y之間的相關(線性相關),其值介于-1與1之間。

通常情況下通過以下取值范圍判斷變量的相關強度:
相關系數(shù)     0.8-1.0     極強相關
                 0.6-0.8     強相關
                 0.4-0.6     中等程度相關
                 0.2-0.4     弱相關
                 0.0-0.2     極弱相關或無相關

在自然科學領域中,該系數(shù)廣泛用于度量兩個變量之間的相關程度。它是由卡爾·皮爾遜從弗朗西斯·高爾頓在19世紀80年代提出的一個相似卻又稍有不同的想法演變而來的。這個相關系數(shù)也稱作“皮爾森相關系數(shù)r”。
(1)皮爾遜系數(shù)的定義
兩個變量之間的皮爾遜相關系數(shù)定義為兩個變量之間的協(xié)方差和標準差的商:
以上方程定義了總體相關系數(shù), 一般表示成希臘字母ρ(rho)?;跇颖緦f(xié)方差和方差進行估計,可以得到樣本標準差, 一般表示成r:
一種等價表達式的是表示成標準分的均值?;?Xi, Yi)的樣本點,樣本皮爾遜系數(shù)是

               其中、 及 ,分別是標準分、樣本平均值和樣本標準差。
或許上面的講解令你頭腦混亂不堪,沒關系,我換一種方式講解,如下:

假設有兩個變量X、Y,那么兩變量間的皮爾遜相關系數(shù)可通過以下公式計算:

  • 公式一:
注:勿忘了上面說過,“皮爾遜相關系數(shù)定義為兩個變量之間的協(xié)方差和標準差的商”,其中標準差的計算公式為:
  • 公式二:
  • 公式三:
  • 公式四:

以上列出的四個公式等價,其中E是數(shù)學期望,cov表示協(xié)方差,N表示變量取值的個數(shù)。

(2)皮爾遜相關系數(shù)的適用范圍
當兩個變量的標準差都不為零時,相關系數(shù)才有定義,皮爾遜相關系數(shù)適用于:
  1. 兩個變量之間是線性關系,都是連續(xù)數(shù)據(jù)。
  2. 兩個變量的總體是正態(tài)分布,或接近正態(tài)的單峰分布。
  3. 兩個變量的觀測值是成對的,每對觀測值之間相互獨立。
(3)如何理解皮爾遜相關系數(shù)

rubyist皮爾遜相關系數(shù)理解有兩個角度

其一, 按照高中數(shù)學水平來理解, 它很簡單, 可以看做將兩組數(shù)據(jù)首先做Z分數(shù)處理之后, 然后兩組數(shù)據(jù)的乘積和除以樣本數(shù),Z分數(shù)一般代表正態(tài)分布中, 數(shù)據(jù)偏離中心點的距離.等于變量減掉平均數(shù)再除以標準差.(就是高考的標準分類似的處理)

樣本標準差則等于變量減掉平均數(shù)的平方和,再除以樣本數(shù),最后再開方,也就是說,方差開方即為標準差,樣本標準差計算公式為:

所以, 根據(jù)這個最樸素的理解,我們可以將公式依次精簡為:

其二, 按照大學的線性數(shù)學水平來理解, 它比較復雜一點,可以看做是兩組數(shù)據(jù)的向量夾角的余弦。下面是關于此皮爾遜系數(shù)的幾何學的解釋,先來看一幅圖,如下所示:


回歸直線: y=gx(x) [紅色] 和 x=gy(y) [藍色]

如上圖,對于沒有中心化的數(shù)據(jù), 相關系數(shù)與兩條可能的回歸線y=gx(x) 和 x=gy(y) 夾角的余弦值一致。
對于沒有中心化的數(shù)據(jù) (也就是說, 數(shù)據(jù)移動一個樣本平均值以使其均值為0), 相關系數(shù)也可以被視作由兩個隨機變量 向量 夾角 的 余弦值(見下方)。
舉個例子,例如,有5個國家的國民生產(chǎn)總值分別為 10, 20, 30, 50 和 80 億美元。 假設這5個國家 (順序相同) 的貧困百分比分別為 11%, 12%, 13%, 15%, and 18% 。 令 x 和 y 分別為包含上述5個數(shù)據(jù)的向量: x = (1, 2, 3, 5, 8) 和 y = (0.11, 0.12, 0.13, 0.15, 0.18)。
利用通常的方法計算兩個向量之間的夾角  (參見 數(shù)量積), 未中心化 的相關系數(shù)是:


我們發(fā)現(xiàn)以上的數(shù)據(jù)特意選定為完全相關: y = 0.10 + 0.01 x。 于是,皮爾遜相關系數(shù)應該等于1。將數(shù)據(jù)中心化 (通過E(x) = 3.8移動 x 和通過 E(y) = 0.138 移動 y ) 得到 x = (?2.8, ?1.8, ?0.8, 1.2, 4.2) 和 y = (?0.028, ?0.018, ?0.008, 0.012, 0.042), 從中

(4)皮爾遜相關的約束條件

從以上解釋, 也可以理解皮爾遜相關的約束條件:

在實踐統(tǒng)計中,一般只輸出兩個系數(shù),一個是相關系數(shù),也就是計算出來的相關系數(shù)大小,在-1到1之間;另一個是獨立樣本檢驗系數(shù),用來檢驗樣本一致性。

     簡單說來,各種“距離”的應用場景簡單概括為,空間:歐氏距離,路徑:曼哈頓距離,國際象棋國王:切比雪夫距離,以上三種的統(tǒng)一形式:閔可夫斯基距離,加權:標準化歐氏距離,排除量綱和依存:馬氏距離,向量差距:夾角余弦,編碼差別:漢明距離,集合近似度:杰卡德類似系數(shù)與距離,相關:相關系數(shù)與相關距離。CDA數(shù)據(jù)分析師官網(wǎng)

K值的選擇

    除了上述1.2節(jié)如何定義鄰居的問題之外,還有一個選擇多少個鄰居,即K值定義為多大的問題。不要小看了這個K值選擇問題,因為它對K近鄰算法的結果會產(chǎn)生重大影響。如李航博士的一書「統(tǒng)計學習方法」上所說:

  1. 如果選擇較小的K值,就相當于用較小的領域中的訓練實例進行預測,“學習”近似誤差會減小,只有與輸入實例較近或相似的訓練實例才會對預測結果起作用,與此同時帶來的問題是“學習”的估計誤差會增大,換句話說,K值的減小就意味著整體模型變得復雜,容易發(fā)生過擬合
  2. 如果選擇較大的K值,就相當于用較大領域中的訓練實例進行預測,其優(yōu)點是可以減少學習的估計誤差,但缺點是學習的近似誤差會增大。這時候,與輸入實例較遠(不相似的)訓練實例也會對預測器作用,使預測發(fā)生錯誤,且K值的增大就意味著整體的模型變得簡單。
  3. K=N,則完全不足取,因為此時無論輸入實例是什么,都只是簡單的預測它屬于在訓練實例中最多的累,模型過于簡單,忽略了訓練實例中大量有用信息。
    在實際應用中,K值一般取一個比較小的數(shù)值,例如采用交叉驗證法(簡單來說,就是一部分樣本做訓練集,一部分做測試集)來選擇最優(yōu)的K值。

數(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)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 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); }