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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時(shí)代A/B測試:數(shù)據(jù)科學(xué)面試中的7個(gè)常見問題和答案,第1部分
A/B測試:數(shù)據(jù)科學(xué)面試中的7個(gè)常見問題和答案,第1部分
2022-03-14
收藏


注意:這是本文的第一部分。您可以在這里閱讀第二部分。

A/B測試,又稱受控實(shí)驗(yàn),在工業(yè)上被廣泛應(yīng)用于產(chǎn)品上市決策。它允許科技公司用一個(gè)用戶子集來評估一個(gè)產(chǎn)品/特性,從而推斷該產(chǎn)品可能如何被所有用戶接收。數(shù)據(jù)科學(xué)家處于a/B測試過程的前沿,a/B測試被認(rèn)為是數(shù)據(jù)科學(xué)家的核心能力之一。數(shù)據(jù)科學(xué)采訪反映了這一現(xiàn)實(shí)。面試官通常會向應(yīng)聘者提出a/B測試問題以及商業(yè)案例問題(也就是指標(biāo)問題,產(chǎn)品感覺問題),以評估應(yīng)聘者的產(chǎn)品知識和推動a/B測試過程的能力。

在本文中,我們將采用面試驅(qū)動的方法,將一些最常見的面試問題與A/B測試的不同組成部分聯(lián)系起來,包括選擇測試思路、設(shè)計(jì)A/B測試、評估測試結(jié)果以及做出是否進(jìn)行測試的決定。具體來說,我們將討論7最常見的面試問題和答案。

在你開始閱讀之前,如果你是一個(gè)視頻人,請隨意查看這個(gè)YouTube視頻,以獲得這篇文章的縮略版本。

在測試之前--不是每個(gè)想法都值得測試


a/B測試是一個(gè)強(qiáng)大的工具,但并不是每個(gè)想法都是通過運(yùn)行測試來選擇的。有些想法的測試成本可能很高,處于早期階段的公司可能有資源限制,因此對每個(gè)想法都運(yùn)行測試是不現(xiàn)實(shí)的。因此,我們首先要選擇哪些想法值得測試,特別是當(dāng)人們對改進(jìn)一個(gè)產(chǎn)品有不同的意見和想法時(shí),有許多想法可以選擇。例如,UX設(shè)計(jì)師可能建議更改一些UI元素,產(chǎn)品經(jīng)理可能建議簡化結(jié)帳流程,工程師可能建議優(yōu)化后端算法,等等。在這種情況下,涉眾依賴數(shù)據(jù)科學(xué)家來推動基于數(shù)據(jù)的決策。一個(gè)面試樣本問題是:


在電子商務(wù)網(wǎng)站上,有幾個(gè)想法可以增加轉(zhuǎn)化率,比如允許多項(xiàng)商品結(jié)賬(目前用戶可以同時(shí)結(jié)賬一項(xiàng)商品),允許非注冊用戶結(jié)賬,改變“購買”按鈕的大小和顏色,等等,你如何選擇投資哪個(gè)想法?


評估不同想法價(jià)值的一種方法是使用歷史數(shù)據(jù)進(jìn)行定量分析以獲得每個(gè)想法的機(jī)會大小。例如,在投資于電子商務(wù)網(wǎng)站的多項(xiàng)商品結(jié)賬之前,通過分析每個(gè)用戶購買的多項(xiàng)商品的數(shù)量來獲得影響的上限大小。如果只有很小比例的用戶購買了一個(gè)以上的商品,那么開發(fā)這個(gè)功能可能就不值得了。更重要的是調(diào)查用戶的購買行為,以了解用戶為什么不同時(shí)購買多個(gè)商品。是因?yàn)檫x擇的項(xiàng)目太少了嗎?是不是物品太貴了,他們只能買得起一個(gè)?是不是結(jié)賬過程太復(fù)雜了,他們不想再經(jīng)歷一次?

這種分析提供了關(guān)于哪個(gè)idea是a/B測試的好候選者的方向性見解。然而,歷史數(shù)據(jù)只告訴我們過去是如何做的。它無法準(zhǔn)確預(yù)測未來。

為了獲得對每個(gè)想法的全面評價(jià),我們可以通過焦點(diǎn)小組和調(diào)查進(jìn)行定性分析。從焦點(diǎn)小組收集的反饋(與用戶或有洞察力的用戶進(jìn)行有指導(dǎo)的討論)或調(diào)查中的問題提供了對用戶痛點(diǎn)和偏好的更多見解。定性和定性分析相結(jié)合可以幫助進(jìn)一步的想法選擇過程。

設(shè)計(jì)A/B測試


一旦我們選擇一個(gè)想法來測試,我們需要決定我們想要運(yùn)行一個(gè)測試的時(shí)間,以及如何選擇隨機(jī)化單元。在這一節(jié)中,我們將逐一討論這些問題。

運(yùn)行一個(gè)測試需要多長時(shí)間?


要決定一個(gè)測試的持續(xù)時(shí)間,我們需要獲得一個(gè)測試的樣本大小,這需要三個(gè)參數(shù)。這些參數(shù)是:

  • 第二類錯(cuò)誤率β或冪,因?yàn)閮?1-β。你認(rèn)識其中一個(gè),你認(rèn)識另一個(gè)。
  • 顯著性水平α
  • 最小可檢測效應(yīng)

經(jīng)驗(yàn)法則是,樣本量n大約等于16(基于α=0.05β=0.8)乘以樣本方差除以δ平方,而δ是治療與對照的差值:


如果您有興趣了解我們?nèi)绾翁岢鼋?jīng)驗(yàn)法則公式,請查看此視頻,以獲得一步一步的演練。

在面試過程中,你不需要解釋你是如何得出這個(gè)公式的,但你需要解釋我們?nèi)绾潍@得每個(gè)參數(shù),以及每個(gè)參數(shù)如何影響樣本量。例如,如果樣本方差較大,我們需要更多的樣本,如果增量較大,我們需要更少的樣本。

樣本方差可以從現(xiàn)有數(shù)據(jù)中得到,但我們?nèi)绾喂烙?jì)δ,即治療與對照之間的差異?

實(shí)際上,我們在進(jìn)行實(shí)驗(yàn)之前并不知道這一點(diǎn),這就是我們使用最后一個(gè)參數(shù)的地方:最小可檢測效應(yīng)。在實(shí)踐中,這是最小的差異。例如,我們可以考慮將收入增加0.1%作為可檢測到的最小效應(yīng)。在現(xiàn)實(shí)中,這個(gè)價(jià)值是由多個(gè)利益相關(guān)者討論和決定的。

一旦我們知道了樣本量,我們就可以通過樣本量除以每組的用戶數(shù)來獲得運(yùn)行實(shí)驗(yàn)的天數(shù)。如果這個(gè)數(shù)字少于一周,我們應(yīng)該運(yùn)行實(shí)驗(yàn)至少七天,以捕捉每周的模式。通常建議運(yùn)行兩周。當(dāng)涉及到為測試收集數(shù)據(jù)時(shí),多總是比不夠好。

對照組與治療組間的干擾


通常,我們通過隨機(jī)選擇用戶并將每個(gè)用戶分配到控制組或治療組來劃分控制組和治療組。我們希望每個(gè)用戶都是獨(dú)立的,控制組和治療組之間沒有干擾。然而,有時(shí)這種獨(dú)立性假設(shè)并不成立。當(dāng)測試社交網(wǎng)絡(luò),如Facebook、Linkedin和Twitter,或雙邊市場,如Uber、Lyft和愛彼迎時(shí),可能會發(fā)生這種情況。一個(gè)面試樣本問題是:


X公司測試了一個(gè)新功能,目標(biāo)是增加每個(gè)用戶創(chuàng)建的帖子數(shù)量。他們將每個(gè)用戶隨機(jī)分配到控制組或治療組。該測試在帖子數(shù)量方面以1%的優(yōu)勢獲勝。在新特性向所有用戶推出后,您預(yù)計(jì)會發(fā)生什么?會不會和1%一樣,如果不是,會多還是少?(假設(shè)沒有新奇效應(yīng))


答案是,我們將看到一個(gè)大于1%的值。原因如下。

社交網(wǎng)絡(luò)中(例如Facebook、Linkedin和Twitter),用戶的行為很可能受到其社交圈中人的行為的影響。如果用戶網(wǎng)絡(luò)中的人(如朋友和家人)使用某個(gè)功能或產(chǎn)品,則用戶傾向于使用該功能或產(chǎn)品。這稱為網(wǎng)絡(luò)效應(yīng)。因此,如果我們以“使用者”作為隨機(jī)單位,并且治療對使用者有影響,這種影響可能會溢出到對照組,即對照組的行為受到治療組的影響。在這種情況下,對照組和治療組之間的差異低估了治療效果的真正好處。對于面試問題,會超過1%。

對于雙邊市場(如Uber、Lyft、ebay和愛彼迎):控制組和治療組之間的干擾也會導(dǎo)致對治療效果的偏頗估計(jì)。這主要是因?yàn)榭刂平M和治療組之間共享資源,這意味著控制組和治療組將爭奪相同的資源。例如,如果我們有一個(gè)新產(chǎn)品在治療組中吸引了更多的驅(qū)動程序,那么在對照組中可用的驅(qū)動程序就會更少。因此,我們無法準(zhǔn)確估計(jì)治療效果。與社會網(wǎng)絡(luò)不同,在社會網(wǎng)絡(luò)中,治療效果低估了新產(chǎn)品的實(shí)際利益,在雙邊市場中,治療效果高估了的實(shí)際效果。

如何應(yīng)對干擾?



既然我們知道了為什么控制和治療之間的干擾會導(dǎo)致發(fā)射后的效果表現(xiàn)不同于治療效果,這就引出了下一個(gè)問題:我們?nèi)绾卧O(shè)計(jì)測試來防止控制和治療之間的溢出?一個(gè)示例面試問題是:


我們正在推出一個(gè)新功能,為我們的騎手提供優(yōu)惠券。目標(biāo)是通過降低每次乘坐的價(jià)格來增加乘坐的次數(shù)。概述一個(gè)測試策略來評估新特性的效果。


有許多方法可以解決組之間的溢出,主要目標(biāo)是隔離控制組和處理組中的用戶。下面是幾種常用的解決方案,每種方案適用于不同的場景,并且都有局限性。在實(shí)際應(yīng)用中,我們要選擇在一定條件下效果最好的方法,也可以將多種方法結(jié)合起來,得到可靠的結(jié)果。

社交網(wǎng)絡(luò):

  • 確保隔離的一種方法是創(chuàng)建網(wǎng)絡(luò)群集來表示用戶組,這些用戶組更有可能與組內(nèi)的人進(jìn)行交互,而不是與組外的人進(jìn)行交互。一旦我們有了這些集群,我們可以將它們分為控制組和治療組。查看這篇論文,了解更多關(guān)于這種方法的細(xì)節(jié)。
  • 自我聚類隨機(jī)化。這個(gè)想法源于LinkedIn。一個(gè)集群是由一個(gè)“自我”(一個(gè)焦點(diǎn)個(gè)體)和她的“改變”(她立即連接到的個(gè)體)組成的。它著重于測量一次性網(wǎng)絡(luò)效應(yīng),即一個(gè)用戶的即時(shí)連接處理對該用戶的影響,然后每個(gè)用戶要么具有該特征,要么不具有該特征,不需要用戶之間進(jìn)行復(fù)雜的交互。本文對該方法進(jìn)行了詳細(xì)說明。

雙邊市場:

  • 基于地理的隨機(jī)化。我們可以按地理位置劃分,而不是按用戶劃分。例如,我們可以把紐約大都會區(qū)作為對照組,把舊金山灣區(qū)作為治療組。這將允許我們在每個(gè)組中隔離用戶,但陷阱是會有更大的差異,因?yàn)槊總€(gè)市場在某些方面都是獨(dú)特的,比如客戶的行為、競爭對手等。
  • 另一種方法是基于時(shí)間的隨機(jī)化,雖然不太常用?;旧?,我們選擇一個(gè)隨機(jī)的時(shí)間,例如,一周中的一天,并將所有用戶分配到控制組或治療組。當(dāng)處理效果只持續(xù)很短的時(shí)間時(shí),例如當(dāng)測試一個(gè)新的浪涌價(jià)格算法時(shí),算法表現(xiàn)更好。當(dāng)治療效果需要很長時(shí)間才能有效時(shí),如轉(zhuǎn)診方案,它就不起作用。用戶可能需要一些時(shí)間來引用他或她的朋友。



數(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)的第一個(gè)參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗(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ù)說明請參見: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 = '請輸入'+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); }