這篇文章比想像中的麻煩,又恰逢過年連假,懶病大爆發!小弟硬著頭皮咬著牙,還是硬是分享給大家。希望資料分析可以走下神壇,除卻不必要的包裝面紗,呈現實用的面貌,應用在商業行為上。文章小弟硬是翻譯得很精簡,期盼先求有用,再求深入。
不然認真說明一堆你們其實也沒在看…(誤)
先貼原文:
恩是的您沒看錯,小弟翻譯。這篇文章原文寫得很好,而且勾起小弟2012年工作時所用到的回憶。當時就以這個poisson distribution解了一個業務的問題。
說不定有朋友會說:2012的時候AI又還沒普及... 哈哈。
你做生意之前不會先問有沒有AI的啦大佬
之所以使用翻譯,是因為此篇作者寫得很好,既清楚又實用,比較會想的analyst已經在套弄…………….業務問題了,你想到哪去。小弟就不特別另外寫一篇可能相似度80%的文,然後再被質疑抄襲,就直接翻譯吧。小弟翻譯採取意譯,也僅翻譯前半部分最重要的數學應用概念,不會逐文逐條原義,甚至可能稍稍改動,勿怪。後半部分應用模擬,則有心人士觀看原文,或同理推估實作囉。
然而,小弟文中將會使用excel function來實踐文內的概念,且一樣用excel+Tableau呈現資料視覺化的部分。想特別展現出實際上可用聽起來不那麼高深莫測,或一定要時代流行的東西,一樣可以解決業務的分析需求。只要資料量沒那麼大,或有完善的資料預處理工具搭配(如DB),excel綽綽有餘!
面試資料分析人,有人特別強調精通excel反而是小弟會特別看一下的人選。基礎紮的夠深,其他工具都可以練。有沒有傻眼?
多花點篇幅來聊工具。完全同意R與python在資料系統對接、資料分析、視覺化、模擬有著一條龍的方便使用性。門檻高、不易管理、不易流程化及與業務窗口對接,則是使用R或python的問題。萬變不離其宗,其實就是poisson分配,看你要用何種工具實踐而已。小弟將會把此篇文章再多嘴說明,或是簡省一點點步驟,讓目的更為凸顯。是否能改善業務需求,提高效率或獲利,才是最重要的。各行各業的老司機自行發車。不懂怎麼發車的朋友,一樣可以用錢羞辱小弟啊XD
廢了那麼多話,就怕您看到數學就離開本頁QQ 正文開始,作者名 — — 威爾,我先幫他工商一下。英文好的、已經是分析老司機的,還是建議直接看他的文章,省得看小弟的廢話傷眼。
威爾開始就小小吐了一下學院派,認為學校教得與現實有落差。現實生活的問題其實滿有趣的,只是如果只僅僅只是死學公式,就失去意義且甚為可惜。學校所學只要能活用,仍然非常有用處的,大家不能因為自己不會用,就鄙視學院派。威爾接下來將會介紹Poisson process and Poisson distribution給各位。理論介紹完畢,再帶入例子分享。
A Poisson Process is a model for a series of discrete event where the average time between events is known, but the exact timing of events is random. The arrival of an event is independent of the event before (waiting time between events is memoryless)
泊桑過程是個平均時間內離散事件,事件發生的當下時機是隨機分布,且獨立不連續。
舉例,像是網路service,CDN服務平均每60天就會down (crush)一次,但這次掛掉並不影響下一次掛掉。我們將每次CDN的問題記錄下來,畫起來像這樣:
CDN服務掛掉的時間,是隨機分布。(如果每次有固定頻率發生,請去解決那個造成的主因,不要亂用Poisson高潮… 這只是輔助釐清問題,問題核心還是要解決!小弟點到這邊。)
這都是需要底蘊夠深厚,且邏輯頭腦夠清楚,不然就是亂套亂分析。而業界竟然也不少見類似例子,喊個Poisson看到數學式子,用一個很少人理解的工具,說個ML、AI的關鍵字就毫無理智HIGH了,很少去深入理解問題背後的意義。
為免悲劇發生,作者還是很佛心的給出條件,如果有以下條件吻合,才能安心服用喔!
- Events are independent of each other. The occurrence of one event does not affect the probability another event will occur.
- The average rate (events per time period) is constant.
- Two events cannot occur at the same time.
1. 事件彼此獨立。(這前提超重要喔顆顆)
2. 事件發生的平均頻率為持續發生的。
3. 兩個事件不能同時發生。
以剛剛的CDN服務為例,事件非同時發生,且服務正常或是失敗,是清楚正反兩面定義,所以可視作白努利試驗Bernoulli trial,n個事件的組合,也可以稱做二項式分布。不用謝哥,順手幫你們上一點名詞解釋。這些都是很類似的數學基底,不要被名詞繞死。詳情見WIKI,小弟不花版面贅述。
一般比較基底深厚的分析人員,看到這邊就應該很興奮的去實踐事情,或是不屑一顧:哼早就做過了。可以觀察及檢驗貴公司的分析現況,嘿嘿嘿嘿。
之所以喇勒到現在,是幫幾個受眾做區隔,各取所需,也不會太無聊。接下來介紹Poisson Distribution。The Poisson Distribution probability mass function gives the probability of observing k events in a time period given the length of the period and the average events per time:
泊桑分配是觀察k是件在一段時間發生時,給定發生週期,看單位時間內平均的發生頻率的機率。
是不是乾脆看公式乾脆啊XD 而且你要我怎麼過年跟親戚說,我的工作是最近用泊桑分配幫公司解決問題… 還好有一些報章雜誌,跟大數據的風潮講了很多解釋,不然親戚都覺得我難相處,一問三不知。
Poisson distribution for probability of k events in time period.
實際上,我們以前常在教科書上看到的,會是將發生次數/時間 * 時間週期 = Lambda的型態。這也是最好應用的套弄公式。
Poisson distribution probability of k events in an interval.
Lambda我們簡化為時間區間內發生的期望次數。接下來,我們調整著Lambda的次數,觀察一下發生機率的變化吧!看看隨著期望次數Lambda的改變,機率分布圖長什麼樣子吧。透過觀察機率分布,可將最適合的業務型態估計出來,藉此實現所謂的「最佳化」的資料分析結果。以下我們來看看實作的excel資料&公式function吧。
重點是你到底瞭不瞭business,熟不熟操作資料。不是你用了什麼AI、ML套件
作者原圖,使用Python寫的。大多數讀者脫了褲子是想看到Python或R的。偏不給你們看~ 哈哈。沒啦~ 有興趣可以去看原文Github連結看Py啦!
作者原圖
其實不是。多數企業導入的報表工具Tableau也可以輕鬆完成。重點是那個資料你們整好了沒?整資料的人到底跟business連結強不強。
熟悉資料型態,可以利用各種工具作圖、探勘、分析,並不限於一定要會某某語言,某某軟體。重點是商業邏輯、思考邏輯、應用策略,工具(左手)只是輔助。
最後,看這個機率分布幹嘛?拿來檢查你們business的狀態,是否符合分配,或是仍有最佳化的空間可以實踐。裡面不僅僅只是資料分析的本身,包含業務要怎麼配合。OK你知道機率分布狀態,原來用Poisson distribution做完的結果是這樣。
And then? 希望不要就沒有然後了...
分析做完之後,緊接著是各部門的業務協調,策略方向調整,工作步驟的實踐推動,最後才真的公司賺大錢。不然都是空談。不論是分析、系統升級等等,都是間接的。請回到地球啊!借我工商一下:
後記
別小看小弟的「翻譯」啊。不然你叫你阿嬤翻譯看看(誤)。另外自己demo出來也都是工,還要小心包裝成勉強逗趣的文字,避免「周公AI model」練的最熟,不好做。
小弟在2012就(AI上古時期、ML侏儸紀?)有幸在一個前輩的帶領合作下,完成一個到現在求職還在講的例子。前輩就稱他叫QQ吧(前輩喜歡低調)。其中所使用的就是Poisson分配的方法。用錢羞辱小弟就會知道怎麼實用而且提升業績100%了。顆顆。