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

熱線電話:13121318867

登錄
首頁精彩閱讀淺談數(shù)據(jù)處理中的相關(guān)分析
淺談數(shù)據(jù)處理中的相關(guān)分析
2015-11-17
收藏

淺談數(shù)據(jù)處理中的相關(guān)分析



大數(shù)據(jù)的發(fā)展經(jīng)歷了從因果分析到相關(guān)分析的轉(zhuǎn)變。宏觀上來講,如果兩個事務(wù)存在某種統(tǒng)計(jì)學(xué)意義上的依賴性就稱兩者具有相關(guān)性。這里我們就簡單聊聊各種相關(guān)分析的方法。
 

1、 先以電商中的商品推薦為例,來看看最基本的相關(guān)分析方法:

我們經(jīng)常會用到的比如計(jì)算兩個商品的相似度,或計(jì)算兩個用戶之間的相似度,如下圖所示,是基于商品的購買行為,來計(jì)算兩個商品之間的相似程度。我們先基于此例來說明。這里每個商品可以表示成用戶購買行為的特征向量,其中1表示此用戶購買,0表示此用戶未購買。

設(shè)商品a的特征向量為向量A, 商品b的特征向量為向量B,那么常用的計(jì)算相關(guān)性的方法有以下:

Jaccard相關(guān)是基于計(jì)算集合之間的相似度方法,而Cosine和Pearson都屬于積差相關(guān)的范疇。通過簡單對比,我們看得出A和B的Pearson相關(guān)系數(shù)就是向量A和B歸一化后再計(jì)算Cosine相關(guān)系數(shù)的結(jié)果。
 

2、 等級相關(guān)分析

如果在某些情況下,我們不需要顧及計(jì)算向量中值的相對大小,那么還可以計(jì)算等級相關(guān)性系數(shù),如Spearman等級相關(guān)和Kendall等級相關(guān)等。等級相關(guān)沒有積差相關(guān)要求那樣嚴(yán)格,相同的情況下,等級相關(guān)的精確度要低于積差相關(guān)。
 

3 、偏相關(guān)分析

如果我們想除去共同噪聲的影響,可以選擇偏相關(guān)分析的方法(在頻域上叫偏相干)。其結(jié)果與先回歸掉噪聲再計(jì)算相關(guān)的結(jié)果是一樣的。
 

4、 頻域上的相關(guān)分析

如果我們的處理對象是時間序列,除了以上談到的方法外,我們還可以度量頻域上的相關(guān)性,如使用相干譜分析的方法,如小波相干等。即您可以得到不同時間點(diǎn)不同頻率上的線性相關(guān)性系數(shù),同時還可以平衡時間和空間上的分辨率。
 

但是在什么情況下,要選用哪個的相關(guān)性系數(shù)呢?

如果有時間建議大家不妨多做些實(shí)驗(yàn),而且要定期做,因?yàn)閿?shù)據(jù)集的變化(稀疏度、噪聲等因素)可能導(dǎo)致相似度指標(biāo)效果的變化。比如對于一個電商平臺的商品推薦系統(tǒng),初期時可能使用方法x效果最好,當(dāng)用戶數(shù)逐漸增加,商品越來越豐富,可能方法y效果最好,直到系統(tǒng)越來越復(fù)雜,可能這時方法z是最好的了。所以建議定期做些離線試驗(yàn)來選擇此時效果最好的方法。

我們常用的如Jaccard相關(guān), Cosine相關(guān),Pearson 相關(guān)都是屬于線性相關(guān)的范疇,復(fù)雜的還有非線性相關(guān)的方法,如多譜分析,互信息等。但這些在我們電商的場景中很少用到。


數(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(), // 加隨機(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)的第一個參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗(yàn)證碼的宕機(jī) 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){ //倒計(jì)時完成 $(".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); }