大數(shù)據文摘編譯作品,歡迎個人轉發(fā)朋友圈;其他機構、自媒體轉載,請關注微信”大數(shù)據文摘“后,在后臺留言申請授權。
前言
讓我們以一個小練習開始本文。請拿出筆和紙,一有答案就寫下來。不要反復思考,應該在15秒內完成。
請在紙上寫下對于“一個成功的數(shù)據科學家需要哪些技能?”的問題的答案。
很多讀者可能已經寫過代碼,有著關于分析工具、統(tǒng)計學等等的知識。要成為一個成功的數(shù)據科學家,這些當然是必須的,但還遠遠不夠。
區(qū)分一名分析學家/數(shù)據科學家好壞與否的最重要的技能之一是:面對復雜問題,確定分析框架,簡化假設,分析問題,然后找到解決方案。至于那些分析工具只是用來解決問題的手段和方法而已。
在本文中,我們將通過一個案例分析來學習系統(tǒng)化解決問題的方法和步驟。
你會學到什么呢?
在這里你會發(fā)現(xiàn)用實際問題來訓練你的大腦在解決復雜問題的過程中以分析的方法進行思考。這個大腦訓練不僅可以把解決問題的新方法介紹給你,還會使你在跟數(shù)字打交道時反應更快。
我以前的一篇文章“how to train your mind for analytical thinking?”應該會給你一個良好的開端。(文章地址:http://www.analyticsvidhya.com/blog/2014/01/train-mind-analytical-thinking/)
實際問題
這是我每天的作息表:
每個工作日,我上午10:30準時出門上班。有時考慮到我當天要完成的工作量,我會開快些以便盡量早到(當然是在保證安全的前提下)。
然而,在過去的5天內,我發(fā)現(xiàn)無論在每個紅綠燈之間的平均速度如何,我?guī)缀醵际窃谕粫r間到達辦公室。這讓我感到有些好奇,每天上班路程上所要花費的時間是否取決于我的車速?換句話說,總平均速度都會被紅綠燈調整到同一水平,而不取決于我們開車的速度。
為了解釋地更清楚,請思考一個簡化后的場景:
兩輛汽車同時從A點,即第一個紅綠燈出發(fā)。B點是另一處信號燈(,等待時間為60秒,通行時間20秒。A和B之間的距離為600米。第一輛車的啟動速度為6米/秒,第二輛車的啟動速度為5米/秒。哪一輛車會先通過紅綠燈(B點)呢?下面是一些假設:
1. 紅綠燈是根據汽車的平均速度來設置的,它會在第一個紅綠燈變綠之后120秒(600米/(5米/秒))變綠。
2. 綠燈會持續(xù)20秒,紅燈持續(xù)60秒(20*3)
假設兩輛車都是從0秒出發(fā)。
車1到達B點所需的時間 =600/6=100秒
車2到達B點所需的時間 =600/5=120秒
B點為綠燈的時間區(qū)間為:(40,60);(120,140);(200,220);(280,300)
因此,汽車在61秒或者140 秒時到達B點并不影響通過第二個紅綠燈的時間。讓我們來計算在不影響汽車通過第二個紅綠燈的情況下的最小速度和最大速度。
最小速度 =600米 /120秒 =5米/秒 =18 公里/小時
最大速度 =600米 /61秒 =9.8 米/秒 =35 公里/小時
不管你的速度是18公里/小時還是35公里/小時,你都會在同一時間通過B點。通常來說,在交通高峰期,駕駛的速度不可能在這么大的范圍內變化,因此現(xiàn)在我的猜測看上去是有道理的。我可能無法控制從家到辦公室所需要的時間(當然,這是把問題簡化了很多之后的情況)。
讓我們把問題復雜化一點!
現(xiàn)在我們有四個紅綠燈 A,B,C和D。同樣的,兩車從A開始 0秒出發(fā),A到B、B到C和C到D的距離相等。那么問題變成,哪輛車先通過紅綠燈D。
不需要用到數(shù)學知識,就能得到答案。如果兩車在同一時間通過B,由于A到B與B到C及C到D距離是一樣的。因此兩車會同時通過D。這個場景事實上更極端,如果一輛車以平均時速18公里行駛,另一車以平均時速35公里行駛,他們還是會同時通過D。這進一步驗證了我前面的假設。
這個問題歸結為:
“在我開車去上班的時候,我是不是只是一個受交通規(guī)則控制的無助的木偶?”
讓我們試試把它歸結為一個參數(shù)方程
在本文中難以全面分析實際情況,因此我們在一些假設上進行分析:
1 紅綠燈顯示為綠燈的時間為 t 秒, 之后顯示為紅燈時間為3t秒;
2 在路上汽車的平均速度為 v米每秒;
3 開快車的速度是汽車平均速度的x倍;
4 道路長度為L米(兩個紅綠燈之間距離為L米)。
到目前為止,我們已經明白,就算我們解決了處于一對紅綠燈或更多對紅綠燈之間的問題也不重要。如果開快車的駕駛員能夠在紅綠燈顯示綠燈期間超過以平均時速行進的汽車,那么答案就會不同,否則開快車是沒有用的。
因此,要讓這個結果發(fā)生所需要的時間差就是3t。下面是解決問題的最終方程式:
普通車用時L/v秒
快車用時L/vx秒
簡化后
L/v–Ll/vx>3t
已知x, v,L和t都是正數(shù),方程式可以進一步簡化:
xL-L–3tvx>0
x(L-3tv)>L
你成功了!我們知道L總是正數(shù),因此為了讓上面的方程式成立,x和(L-3tv)也一定要是正數(shù)。也就是說,如果 3tv 比L 大,你就沒機會打敗那些紅綠燈。例如,如果 t=30秒, v=5米/秒,L為145米,即使你的車速跟子彈一樣快,你也沒有機會。
讓我們設定其中幾個參數(shù),然后更深入地理解一下方程:
假設L為600米,那么方程變成:
x(200 – tv) >200。
因此,這里有一些經驗法則讓你有可能打敗那些紅綠燈:
1. 盡量減小 t (紅綠燈變化周期): 在紅綠燈變化交替很快的快速區(qū)域,你可能打敗那些紅綠燈。
2. 盡量減小 v (道路上車輛的平均速度):如果車輛平均速度很慢,車速快的就能超過車速慢的。
3. 盡量加大x (車速相對于平均車速的倍數(shù)): 如果我們開得超級快,我們還是能打敗紅綠燈的。但是注意如果 vt大于200,你就不可能贏。
讓我們試試將一些關系進行可視化。
在班加羅爾,t的平均值大約是20秒,平均車速 v 為 5米/秒。那么方程式就是:
x(L–300)>L
從上圖中可以看出,只有當 x 和L大到可以落在陰影范圍內時,我們才有可能擊敗紅綠燈。
讓我們來總結一下我們的發(fā)現(xiàn):
1 如果某段路的長度比三倍的綠燈時間和平均車速的乘積小,那么你開多快都沒用。
2 如果下列條件合適,我們才可能打敗紅綠燈:
ax值大。 我們開得飛快(不安全的選擇)
bL值大。比如在高速路上開快車是有道理的。
ct值小:在紅燈顯示周期很長的路段開快車沒有意義。
dv值小:如果在路上的平均車速真的很慢,我們還是可以打敗紅綠燈。我們已經知道了!
結語:
我希望你可以很享受解決這個交通問題,當然你的思維受到了挑戰(zhàn),這也是本文最初的目標,對吧?
本文中,通過紅綠燈的例子和應用一些基本物理學概念,我解釋了一些必要的技能,這些技能是成為一個數(shù)據科學家不可動搖的基礎。
你是否欣賞這篇文章呢?你以前有沒有思考過這一類問題呢?你覺得你能不能進一步完善優(yōu)化這些計算方法來讓它們更有具現(xiàn)實意義呢?
敬請在評論區(qū)留下您寶貴的建議和意見,謝謝!
原文鏈接:http://www.analyticsvidhya.com/blog/2015/07/brain-training-analytical-thinking/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+AnalyticsVidhya+%28Analytics+Vidhya%29
大數(shù)據文摘編譯者簡介:
丁一: 杜克大學藥理系在讀博士,對生物信息學和臨床藥學的大數(shù)據挖掘很感興趣。
丁雪: 華中師范大學情報學專業(yè)碩士,從事用戶行為與個性化服務方向的研究。關注大數(shù)據的發(fā)展,欲從事互聯(lián)網與咨詢行業(yè)的相關工作。
王婧: 中科院生物學博士,有多年暢游分子和細胞微觀世界的經驗。熱愛科學,熱愛大數(shù)據。
姚佳靈: 家庭主婦,對數(shù)據分析和數(shù)據處理方面的知識很感興趣,正在努力學習中。