回歸,是一個廣義的概念,包含的基本概念是用一群變量預(yù)測另一個變量的方法闲勺,白話就是根據(jù)幾件事情的相關(guān)程度砚亭,用其中幾件來預(yù)測另一件事情發(fā)生的概率灯变,最簡單的即線性二變量問題(即簡單線性)殴玛;復(fù)雜一點就是多變量即多元線性,這里有一點要注意的添祸,因為我最早以前犯過這個錯誤滚粟,就是認為預(yù)測變量越多越好,做模型的時候總希望選取幾十個指標來預(yù)測刃泌,但是要知道凡壤,一方面,每增加一個變量耙替,就相當于在這個變量上增加了誤差亚侠,變相的擴大了整體誤差,尤其當自變量選擇不當?shù)臅r候林艘,影響更大盖奈,另一個方面,當選擇的倆個自變量本身就是高度相關(guān)而不獨立的時候狐援,倆個指標相當于對結(jié)果造成了雙倍的影響 钢坦。
大數(shù)據(jù)時代的問題當然不能讓你用肉眼看出來,不然要海量計算有啥用啥酱,所以除了上面那倆種回歸爹凹,我們經(jīng)常用的還有多項式回歸,即模型的關(guān)系是n階多項式镶殷;邏輯回歸(類似方法包括決策樹)禾酱,即結(jié)果是分類變量的預(yù)測;泊松回歸绘趋,即結(jié)果變量代表了頻數(shù)颤陶;非線性回歸、時間序列回歸陷遮、自回歸等等滓走,太多了,這里主要講幾種常用的帽馋,好解釋的(所有的模型我們都要注意一個問題搅方,就是要好解釋,不管是參數(shù)選擇還是變量選擇還是結(jié)果绽族,因為模型建好了最終用的是業(yè)務(wù)人員姨涡,看結(jié)果的是老板,你要給他們解釋吧慢,如果你說結(jié)果就是這樣涛漂,我也不知道問什么,那升職加薪基本無望了检诗,例如你發(fā)現(xiàn)日照時間和某地葡萄銷量有正比關(guān)系匈仗,那你可能還要解釋為什么有正比關(guān)系底哗,進一步統(tǒng)計發(fā)現(xiàn)日照時間和葡萄的含糖量是相關(guān)的,即日照時間長葡萄好吃锚沸,另外日照時間和產(chǎn)量有關(guān)跋选,日照時間長,產(chǎn)量大哗蜈,價格自然低前标,結(jié)果是又便宜又好吃的葡萄銷量肯定大。再舉一個例子距潘,某石油產(chǎn)地的咖啡銷量增大炼列,國際油價的就會下跌,這倆者有關(guān)系音比,你除了要告訴領(lǐng)導(dǎo)這倆者有關(guān)系俭尖,你還要去尋找為什么有關(guān)系,咖啡是提升工人精力的主要飲料洞翩,咖啡銷量變大稽犁,跟蹤發(fā)現(xiàn)工人的工作強度變大,石油運輸出口增多骚亿,油價下跌和咖啡銷量的關(guān)系就出來了(參考了一個根據(jù)遙感信息獲取船舶信息來預(yù)測糧食價格的真實案例已亥,感覺不夠典型,就換一個来屠,實際油價是人為操控地)虑椎。
回歸利器--最小二乘法,數(shù)學家高斯用的(另一個法國數(shù)學家說自己先創(chuàng)立的俱笛,不過沒辦法捆姜,誰讓高斯出名呢),這個方法主要就是根據(jù)樣本數(shù)據(jù)迎膜,找到樣本和預(yù)測的關(guān)系泥技,使得預(yù)測和真實值之間的誤差和最小星虹;使用工具就可以了零抬,基本所有的數(shù)據(jù)分析工具都提供了這個方法的函數(shù)镊讼,主要給大家講一下之前的一個誤區(qū)宽涌,最小二乘法在任何情況下都可以算出來一個等式,因為這個方法只是使誤差和最小蝶棋,所以哪怕是天大的誤差卸亮,他只要是誤差和里面最小的,就是該方法的結(jié)果玩裙,寫到這里大家應(yīng)該知道我要說什么了兼贸,就算自變量和因變量完全沒有關(guān)系段直,該方法都會算出來一個結(jié)果,所以主要給大家講一下最小二乘法對數(shù)據(jù)集的要求:
1溶诞、正態(tài)性:對于固定的自變量鸯檬,因變量呈正態(tài)性,意思是對于同一個答案螺垢,大部分原因是集中的喧务;做回歸模型,用的就是大量的Y~X映射樣本來回歸枉圃,如果引起Y的樣本很凌亂功茴,那就無法回歸。
2孽亲、獨立性:每個樣本的Y都是相互獨立的坎穿,這個很好理解,答案和答案之間不能有聯(lián)系返劲,就像擲硬幣一樣玲昧,如果第一次是反面,讓你預(yù)測拋兩次有反面的概率篮绿,那結(jié)果就沒必要預(yù)測了酌呆。在此我向大家推薦一個大數(shù)據(jù)技術(shù)交流圈:?658558542??突破技術(shù)瓶頸,提升思維能力 搔耕。
3隙袁、線性:就是X和Y是相關(guān)的,其實世間萬物都是相關(guān)的弃榨,蝴蝶和龍卷風(還是海嘯來著)都是有關(guān)的嘛菩收,只是直接相關(guān)還是間接相關(guān)的關(guān)系,這里的相關(guān)是指自變量和因變量直接相關(guān)鲸睛。
4娜饵、同方差性:因變量的方差不隨自變量的水平不同而變化。方差我在描述性統(tǒng)計量分析里面寫過官辈,表示的數(shù)據(jù)集的變異性箱舞,所以這里的要求就是結(jié)果的變異性是不變的,舉例拳亿,腦袋軸了晴股,想不出例子,畫個圖來說明肺魁。(我們希望每一個自變量對應(yīng)的結(jié)果都是在一個盡量小的范圍)电湘。
我們用回歸方法建模,要盡量消除上述幾點的影響,下面具體講一下簡單回歸的流程(其他的其實都類似寂呛,能把這個講清楚了怎诫,其他的也差不多):
首先找指標,找你要預(yù)測變量的相關(guān)指標(第一步應(yīng)該是找你要預(yù)測什么變量贷痪,這個話題有點大幻妓,涉及你的業(yè)務(wù)目標,老板的目的劫拢,達到該目的最關(guān)鍵的業(yè)務(wù)指標等等涌哲,我們后續(xù)的話題在聊,這里先把方法講清楚)尚镰,找相關(guān)指標阀圾,標準做法是業(yè)務(wù)專家出一些指標,我們在測試這些指標哪些相關(guān)性高狗唉,但是我經(jīng)歷的大部分公司業(yè)務(wù)人員在建模初期是不靠譜的(真的不靠譜初烘,沒思路,沒想法分俯,沒意見)肾筐,所以,我的做法是將該業(yè)務(wù)目的所有相關(guān)的指標都拿到(有時候上百個)缸剪,然后跑一個相關(guān)性分析吗铐,在來個主成分分析,就過濾的差不多了杏节,然后給業(yè)務(wù)專家看唬渗,這時候他們就有思路了(先要有東西激活他們),會給一些你想不到的指標奋渔。預(yù)測變量是最重要的镊逝,直接關(guān)系到你的結(jié)果和產(chǎn)出,所以這是一個多輪優(yōu)化的過程嫉鲸。
第二撑蒜,找數(shù)據(jù),這個就不多說了玄渗,要么按照時間軸找(我認為比較好的方式座菠,大部分是有規(guī)律的),要么按照橫切面的方式藤树,這個就意味橫切面的不同點可能波動較大浴滴,要小心一點;同時對數(shù)據(jù)的基本處理要有也榄,包括對極值的處理以及空值的處理巡莹。
第三, 建立回歸模型甜紫,這步是最簡單的降宅,所有的挖掘工具都提供了各種回歸方法,你的任務(wù)就是把前面準備的東西告訴計算機就可以了囚霸。
第四腰根,檢驗和修改,我們用工具計算好的模型拓型,都有各種假設(shè)檢驗的系數(shù)额嘿,你可以馬上看到你這個模型的好壞,同時去修改和優(yōu)化劣挫,這里主要就是涉及到一個查準率册养,表示預(yù)測的部分里面,真正正確的所占比例压固;另一個是查全率球拦,表示了全部真正正確的例子,被預(yù)測到的概率帐我;查準率和查全率一般情況下成反比坎炼,所以我們要找一個平衡點。
第五拦键,解釋谣光,使用,這個就是見證奇跡的時刻了芬为,見證前一般有很久時間萄金,這個時間就是你給老板或者客戶解釋的時間了,解釋為啥有這些變量媚朦,解釋為啥我們選擇這個平衡點(是因為業(yè)務(wù)力量不足還是其他的)捡絮,為啥做了這么久出的東西這么差等等。
在此我向大家推薦一個大數(shù)據(jù)開發(fā)交流圈:
658558542? ? (?點擊即可加入群聊)
里面整理了一大份學習資料莲镣,全都是些干貨福稳,包括大數(shù)據(jù)技術(shù)入門,大數(shù)據(jù)離線處理瑞侮、數(shù)據(jù)實時處理的圆、Hadoop 、Spark半火、Flink越妈、推薦系統(tǒng)算法以及源碼解析等,送給每一位大數(shù)據(jù)小伙伴钮糖,讓自學更輕松梅掠。這里不止是小白聚集地酌住,還有大牛在線解答!歡迎初學和進階中的小伙伴一起進群學習交流阎抒,共同進步酪我!
最后祝福所有遇到瓶頸的大數(shù)據(jù)程序員們突破自己,祝福大家在往后的工作與面試中一切順利