接著上篇文章,接下來我們將探討樸素貝葉斯模型、線性迴歸、多元迴歸、羅吉斯迴歸分析等模型。
4、樸素貝葉斯模型
表查詢模型簡單有效,但是存在一個問題。隨著輸入數量的額增加,每個單元格中訓練樣本的數量會迅速減少。如果維度為2,且每一維有10個不同的變數,那麼就需要100個單元格,而當有3個維度時,就需要1000個單元格,4個維度就是10000.這樣成指數級的增長,哪怕的傳統資料採礦中都會遇到明顯瓶頸。
當試圖預測某一個機率值時,樸素貝葉斯模型就提供這一辦法。基本思想:每個輸入變數本身就包含一些預測需要的資訊。比如目標變數是取消業務的機率,解釋變數是市場、擷取渠道、初始信用評分、利率計劃、電話號碼類型、手機號以及客戶年齡。這些變數都具有預測能力。根據取消率的顯著差異性,可將每個變數劃分在不同的範圍中。
簡單理解:條件機率是指給定B的條件下A的機率以及給定A的條件下B的機率。
解釋:給定B的條件下A發生的機率,等於給定A的條件下B發生的機率乘以A和B發生的機率的比例。
如果A代錶停止續簽,B代表使用黑莓手機,然後給定使用黑莓手機的條件下停止續簽的機率,就是給定停止續簽的條件下使用黑莓手機的機率乘以總體停止續簽的機率與總體使用黑莓手機的機率之比。
4.1、機率、幾率和釋然
·機率:0到1之間的一個數字,表示一個特定結果發生的可能性。一種估計結果機率的方法是計算樣本資料中出現結果次數的百分比。
·幾率:某一特定結果發生於不發生的機率比。如果一個事件發生的機率是0.2,那麼不發生的機率是0.8。那麼其發生的幾率就是1/4。幾率的取值是0到無窮。
·似然:兩個相關的條件機率比。即給定B發生的情況下,某一特定結果A發生的機率和給定B不發生的情況下A發生的機率之比。
4.2、樸素貝葉斯計算
對任意數量屬性中的每一個屬性,樸素貝葉斯公式都將目標事件的幾率與該事件的似然聯絡起來。回到基於營銷市場、渠道擷取、最初信用評分、費率計算、電話號碼類型、手機型號以及客戶年齡來預測客戶流失的例子。例如上面談到的黑莓手機續簽的案例,我們關注的是。1、停止續簽的總體幾率。2、黑莓手機使用者停止的似然。3、在整個州市場停止續簽的似然。
之所以定義為“樸素”,是基於所有似然相乘都基於輸入變數相互獨立的假設。在這個案例中,假設的是使用黑莓手機的似然與市場獨立(並且存在於該州的似然與手機類型獨立)。而在實際中,這種真正相互獨立的情況很少見。
樸素貝葉斯模型最迷人的點:對於待評分的觀測,如果缺失某些輸入值,可以簡單地將缺失的似然從模型中去掉。意味著,包含那些並不是對所有有用都可用的輸入(使用者年齡),但如果知道這些變數,它們就有用。給定不同輸入的機率,且這些輸入與停止續簽相關,樸素貝葉斯公式就可以計算停止續簽的幾率,而公司對這種停止續簽的使用者更感興趣。
4.3、樸素與表查詢模型的比較
對於機率型目標來說,樸素貝葉斯模型和表查詢模型密切相關。兩者之間的主要區別就在於如何使用維度。在表查詢模型中,使用所有維度依次定義單元格,然後計算每一個單元格的目標機率。因此,表查詢模型可以擷取變數之間的相互作用。在樸素中,需要為每一個維度單獨計算似然,之後組合這些似然,從而計算出目標機率。似然的組合有一個假設:各維度關於目標彼此獨立。表查詢沒有說明這樣一類屬性的組合關係,即由於在訓練資料中出現的頻率很低,導致這些機率很低的屬性就不會出現。
在樸素模型中可以預測任何從未出現過的組合,但要這樣做,就必須假設這些輸入所造成的影響彼此獨立。表查詢模型沒有這樣的假設,所以當資料多到可以支援一個可信的估計模型時,表查詢模型也許會做的更好。
5、線性迴歸
迴歸模型也是一種預測建模技術。在Excel中就可以使用線性迴歸。迴歸模型也很複雜,這裡談到——最佳擬合曲線。輸入變數和目標變數必須都是數值變數,迴歸方程描述了兩者之間的一種算術關係。“最佳的”關係是指最大限度地減少了從資料點到擬合曲線的垂直距離的平方和。
5.1最佳擬合曲線
如,顯示了一個知名博主發表的一篇文章日瀏覽率隨著時間和被關注度之間的關係。圖中使用描點的符號是空心圓,它有助於清楚的顯示各點之間的聚集情況。例如,在較短時間內使用者的關注度分布非常密集。當使用不同的顏色比較不同的客戶組時,這種散佈圖尤其有用。
隨著時間的增加,部落格的日訪問量會越來越低,最後維持到一個水平。畫出來的曲線更像是一個雙曲線。根據X軸,時間的遞增。Y軸,日訪問量的增加。我們可以類比出這個博主的訪問量隨時間變化的曲線。如果在保證部落格品質的同時,我們就可以預測博主的一篇部落格的訪問量大致在什麼範圍。可能這裡有很多的誤差或不精確的地方。但是通過擬合曲線,我們更能從直觀上看到,曲線的走勢。如果曲線更精確的化,我們甚至可以類比出曲線的函數運算式。
如果用作資料點的標記並沒有完全擬合,散佈圖可以傳遞出更多的資訊。最佳擬合曲線的性質:在所有可能的曲線中,最佳擬合曲線指的是從觀察點到曲線垂直距離的平方最下的那條曲線,散佈圖顯示了每個點到曲線之間的距離。
最佳擬合曲線的定義就是最小二乘法的定義。歐式距離公式對該值進行了開方,在沒有電腦的年代,計算歐式距離非常困難。當時,高斯提出這一觀點,就是利用計算平方和,代替計算距離之和。這樣做的目的,就使最佳擬合曲線係數很容易計算。
這裡談到的是線性迴歸,其實迴歸模型是一個直線方程,這裡只是來描述一個擬合曲線,其實算不上一個迴歸曲線。在現實之中,更多線性迴歸的模型很少見,更多的是曲線擬合。
5.2擬合的優點
對於一個給定的資料集,總是可以找到一條最佳的擬合曲線。但是,存在很多條曲線,哪條才是最佳的。這裡引入“殘差”,就是度量預測值與實際值之差。還有一個標準方法,成為,用來衡量描述曲線對觀測資料的擬合程度。
1、殘差
,身高與體重模型的殘差。
一個無偏模型在丟失高值點方面應與丟失低值點類似。在殘差圖中,最重要的一點就是,這些值是位於擬合曲線之上的可能性與之下的可能性是否一樣。我們也可以看到在曲線上與在曲線下的樣本點是不一樣的。
一個良好的模型所產生的估計值應該接近真實值,所以殘差應該集中於曲線軸附近。中也是可以看到拋離曲線的一些孤立點。這些點出現的原因,可能是由於一些人為記錄的原因造成的。
在統計學中,殘差在迴歸方程中要考慮誤差項。最佳擬合曲線的方程是:
Y=aX+b
但該曲線,不是完整的模型。統計人員會將模型方程表示為:ε代表誤差項,因為X並不能完美的展示Y。誤差項表示模型無法解釋的Y的部分。
Y=aX +b+ε
2、R(R這裡代表是R的平方)
對於最佳擬合曲線,R的取值始終在0~1之間。當該值接近1時,說明該曲線在捕獲輸入和目標之間的關係方面表現很好。若接近於0,則說明最佳擬合曲線的表現很差。在0~1的範圍內,值越大表明兩者之間存在很強的關係,越下其關係越下。
相比於隨機猜測的平均值,模型的估計值有多好。定義簡單,但計算起來複雜。R要比較最佳擬合曲線與y平均值的水平線。1減去兩個誤差的比值可以計算出R。分子式最佳擬合曲線殘差的平方和。分母是水平線的殘差平方和。R度量了最佳擬合曲線優於均值作為估計的程度。
R度量了資料的穩定性。同一資料集中不同的樣本是否會產生相似的模型。當R值較低時,不同的樣本可能會表現出非常不同的行為。或者,在此基礎上,再加入少量觀察值可能會極大地改變模型的係數。當R值較高時,再加入少量觀察值就不會有上述的改變。
5.3全域效應
迴歸方程能探索資料中的全域模式。即,方程係數應該對範圍內的所有輸入變數都起作用。這表明迴歸模型善於捕獲那些總是正確的模式,不是產於處理局部模式。
例如,考慮不同年齡的汽車保險購買人的風險。年輕司機的風險較高。隨著駕駛人員經驗的不斷增加,風險會逐步降低。而對年齡很大的駕駛者,風險又會增加。因為年齡很難作為迴歸方程的輸入。因為沒有全域模式,對於不同的年齡組,年齡的影響變化又會不同。
在很多程度上,這個需要根據建模人員的熟悉程度,可以使用那些在不同取值範圍的變數作為輸入參數。但是,迴歸方程本身不會發現局部模式。
6、多元迴歸
引入線性迴歸的那個例子使用了單一的輸入——持續期——來解釋日訪問量隨時間的變化。當一個迴歸模型有多個輸入時,就稱其為多元迴歸。
6.1、等式
線性迴歸模型的一般形式(沒有誤差項)是:Y=a+a1x1+a2x2+a3x3+.....+anxn。這個方程通過添加更多變數,並為每個變數選定係數,對最佳曲線方程進行了擴充。
儘管通過引入更多維度,可以將線性迴歸的幾何解釋擴充到多元迴歸——曲線變為平面再變到超平面。考慮到每個字變數對因變數估計值的貢獻會更容易些,即可以由係數決定自變數貢獻的大小和方向。
6.2、目標變數的範圍
一個迴歸方程可以產生任何值。如果對X沒有限制,那麼Y也是沒有限制的。對 Y=aX+b 就可以說明這一點,該方程是一條簡單的直線,取值隨之X的取值而邊變化,從負無窮到正無窮。但實際情況非如此。許多目標變數的範圍並不是無窮的,甚至不是連續的。對於這些情況,統計學家引入了一個連結函數將迴歸方程產生的Y值映射到目標變數的一個適合的範圍。當目標遵循某一已知的分布時,就可以選擇一個連結函數,它產生的值與目標的平均值相同,同時也會產生一個類似的分布。即使不知道確切的分布,也可以引入連結函數將估計映射到目標的一個適當的範圍。
後面我們會介紹羅吉斯迴歸分析,那裡使用一個連結函數將線性迴歸的無窮範圍映射到0~1的區間,該區間等價於機率估計。
6.3、使用多元迴歸的其他注意事項
迴歸模型中有多個輸入變數時,會產生一些在單一輸入中不存在的問題。
·理想情況下,所有輸入之間應該線性無關。
·被模型顯示地包含的輸入之間可能存在相互。
·添加一個新輸入將會改變所有原輸入的系值取值。
1、線性無關
與樸素貝葉斯類似,多元模型的輸入之間應該線性無關。這一位置改變其中一個輸入值應該對其他輸入值沒有影響。實際情況很難實現真正獨立性。一般情況,注意不要包含彼此密切相關的自變數就可以。如果包含這些變數,往往會導致模型的一個輸入變數有較大的正係數而另一個輸入變數有較大的負係數。兩個變數本質上相互抵消,因此這兩個係數的取值並不會對任何變數有真正意義上的影響。
2、互動
即使兩個變數是完全獨立的,它們對目標的影響也可能是相關的。一個冰淇淋的吸引力可能依賴於價格和天氣——尤其是某天的炎熱程度。這些變數可以認為是獨立的(當然,冰淇淋的價格並不取決於溫度,溫度可能會影響冰淇淋的價格,但是這裡假設不會)。儘管這些變數相互獨立,價格對目標的影響扔可能受溫度的影響。當天氣炎熱的時候,人民不是在意冰淇淋的價額都會購買。當天氣寒冷的時候,只有真正物美價廉才可能會吸引人民購買。
類似的,價格的變化對住戶率的影響可能會隨著距離市中心的遠近不同而不同。這就是互動的例子。
當認為互動很重要時,一般情況下,可以通過添加新變數引入這些互動,而這些新變數是標準化互動中涉及變數值的產物。
3、添加變數可以改變模型中的原有變數的取值
一種很自然的模型開發方法從一個僅有一個輸入的簡單模型開始,然後通過增加變數逐步提高其複雜性。如果所有輸入變數都是完全獨立的,那麼添加或刪除其中一個變數不會更改模型中的其他變數的係數。但是輸入變數幾乎不可能完全獨立,所有包含另一個變數會改變係數的大小,甚至可能改變模型中其他原有變數係數的正負值。
6.4、多元迴歸的變數選擇
多元迴歸模型在有大量輸入時,它的表現並不理想。選擇正確的輸入變數對任何建模而言都是最重要的部分。這裡談到“領域知識”,就是首先要考慮的是對該問題所知道的一些先驗知識以及以往人民解決此類問題的額方法。有的時候領域知識對一時模型的預測可以提供一個很好的指標指向。
當使用領域知識和常識建立了一張候選變數列表後,用於建立迴歸模型的軟體通常可以協助使用者選擇出模型所需的最好變數。使用的方法:
1、前向選擇
前向現在開始使用一組輸入變數,其中一些變數或全部變數都可以出現在最終模型裡。第一步是為每一個輸入變數建立一個單獨的迴歸模型;如果有n個輸入變數,那麼第一步會考慮具有一個輸入變數的n個不同的迴歸模型。選擇測試得分最高的模型所對應的變數作為前向選擇模型中的第一個變數。
選擇最佳模型的一種方法是選擇R值最低的模型。另一種方法是使用統計檢驗中F-檢驗的方法。最好的模型是在驗證集上的誤差最小的模型。這看上去更像是資料採礦,因為它使用了驗證集,並沒有對輸入或目標值做出任何假設。
選定了第一個變數後,這以過程會在此重複進行。第二次通過將每個剩餘變數與第一步已選定的變數組合以建立包含有兩個輸入變數的n-1個迴歸模型。這些模型中最好的模型將會是下一次迭代的基礎,下次迭代會測試帶有三個變數的多元迴歸模型。持續這一過程直到滿足某些停止條件為止。終止條件可以是到達最大的選擇變數個數,或者繼續增加變數不能在繼續提高模型的某個閾值。
2、逐步選擇
逐步選擇與前向選擇非常類似,只有一點不同。在每個步驟中除了增加一個變數外,還可以刪除一個變數,較早進入模型的一個變數可能由於後續變數的聯合作用而不再是有效變數。
3、後向消去
後向消去選擇變數的方法首先使用所有的n個輸入變數建立了一個多元迴歸模型。使用統計檢驗,消去較糟糕的變數,然後重設該模型。持續該過程直到滿足某些停止條件,比如到達理想變數的最小數目。
7、羅吉斯迴歸分析
線性迴歸模型有一種特殊的形式。該形式對任意數量的輸入變數都可用,但當只有一個輸入變數時,效果最明顯。迴歸公式是一條直線方程。直線的一個屬性是它可以向兩端無限延伸。除與X軸平行的直線外,迴歸模型沒有最大值和最小值。這些屬性使得線性迴歸模型適用於估計那些取值範圍可能很廣的連續變數。
相同的屬性使得線性迴歸模型適用於建模無界的、連續的目標,而不適於建模二元結果,比如是否或好壞。因為二元問題是極其常見的,這就羅吉斯迴歸分析模型。
7.1建模二元輸出
建模二元輸出似乎不像是一個評估任務。有兩個類別的,任務是將每條記錄分配到其中的一個類。這就是一個分類任務。然而,該任務可以重述為“某個記錄屬於其中一個類的機率是多少?”,因為機率是數字,這個問題就轉化為一項評估任務。
1、使用線性迴歸評估機率
在談到基於客戶的持續期估計訂閱在報紙上的支付額度模型上。話務中心通過與使用者取得聯絡,其中一些客戶同意簽訂訂閱協議。簽訂合約不久後他們便開始接收報紙,隨後他們要支付一筆賬單。一些新使用者不會抽時間來支付這第一張訂單,從而消減了報紙的收入。一段時間後,沒有支付訂單的客戶被停止收到報紙,其中一些支付賬單的新客戶並有可能在很長時間後成為良好的客戶。不過在前面幾個星期,客戶不願意付款的可能性非常大。
目標值為0可以表示為從未付款的客戶,為1的表示付過款的客戶,所有這裡會存在一條最佳擬合曲線。但不能保證這是一個好的模型。因為在超過一定天后,這一機率軌跡值大於1,而且這一估計值會隨著持續期的增加而無限的增加。這就是直線的性質:顯然存在弊端,沒有最大值或最小值。
2、將迴歸直線彎成曲線
顯然,直線不是一個估計機率的合適形狀。羅吉斯迴歸分析通過將迴歸直線彎成一個更合適的形狀來解決這一問題。我們要獲得一個取值範圍在0~1之間的函數。這就是邏輯函數。
7.2、邏輯函數
樸素貝葉斯模型是乘以一串似然來估計幾率,然後將其轉換成機率。把線性迴歸轉換成羅吉斯迴歸也使用了這類技巧。
第一步:通過P與1-P之間將機率P轉換為幾率。幾率和機率表示同一件事情。不同點在於,機率取值範圍0~1,幾率是0到正無窮。在去幾率的對數值以產生一個從負無窮到正無窮的函數。
從這一點來看,機率被轉換為一個從負無窮到正無窮的連續函數——這正式線性迴歸的優勢。把幾率的對數值作為目標變數而建立迴歸方程。
方程結果為:
這就是邏輯函數。邏輯函數本身有一個特徵,就是S曲線。該模型的參數向左或向右彎曲,並對其進行展開或收縮。一個好的屬性是:在原點處,曲線的斜率大約為45%,而曲線在-1到1之間地區接近一條直線。除此之外,它變得很平坦,一直保持在0-1之間。這就是一條非常適合機率的曲線。
儘管羅吉斯迴歸看起來比直線更“彎曲”,但它只能發現全域模式,而不是局部模式。局部模式的擷取需要顯示的體現在變數確定其影響。為線性迴歸找出最佳擬合曲線所使用的普通最小二乘法並不適用與羅吉斯迴歸分析,它使用最大似然的方法,通過最大似然法擬合模型。
最大似然法擬合模型
擬合任何類型的參數模型對意味著要使用資料來找出最佳參數,利用這些最佳參數計算的預測值與實際值儘可能相符。這與模型評分的情況恰恰相反。在評分過程中,給定一組參數值模型,模型為某些輸入產生最佳的估計值。
給定一個待定的參數值和一組觀察值,這一函數返回該參數值正確的機率。雖然一般不存在這樣的函數,但在給定參數的情況下,訓練集中出現目標值的機率和參數的似然之間存在一個有用的關係——成正比。似然是不確定性相關的一種度量,這與機率是一種絕對度量的情況不同,但使用似然相比較與候選參數優勢已經明顯。似然函數的實際計算公式取決於對資料的各種假設,這又反過來取決於使用特定的參數模型。
對於羅吉斯迴歸,似然函數有一個精確的最佳值。可以使用數值最佳化的方法來最大化似然值,並可以保證找到最大點。
總結:
機率統計的思想是所有資料採礦技術的基礎。給定一個理想目標統計描述,就可以用相似度來度量候選值與原型或理想對象的距離來對候選進行評分。歐式距離是一種常見的相似度度量,但也有許多其他可能的方法。
表查詢模型使用了一種不同的相似度度量的方法。所有落入表中同一單元格的觀察值都會得到相同得的分值。根據訓練資料的特徵為分配到該單元格的記錄評分。有許多方法可以定義表查詢模型的單元格,但最簡單的方式將每個輸入的取值範圍劃分成同等大小的組,如三等分或五等分。
表查詢有個問題,隨著輸入數量的增加,每一單元格內訓練樣本數會急劇減少。如果有很多輸入,就很難滿足多的資料來做出具有信賴度的估計。一種解決方案是將若干個小單元格結合成一個較大的單元格。
樸素模型解決的方法是對每個維度都使用所有的訓練資料,然後再結合每一維度貢獻。“樸素”一詞是指輸入變數相互獨立的假設,但這個假設在實際中往往不成立。
常見的統計模型是迴歸模型。線性迴歸模型通過對一個輸入乘以一個係數之後再求和,從而將所有的輸入結合起來。擬合一個迴歸模型意味著發現一些係數值,這些係數值最大限度減少了估計誤差的平方值。線性迴歸有很多好處,但並不適用與所有情況。尤其是,它不適用與機率估計。羅吉斯迴歸模型利用S形函數而不是一條直線來擬合觀測資料。它將產生範圍僅在0-1的估計,因此適用於表示機率。
所有的迴歸模型都能發現全域模式,也就是說,它們發現了變數所有的輸入值的模式。事實上有很多模式是局部的,關於什麼是局部模式,下面我們會談到決策樹,它在尋找輸入和目標之間的局部模式方面非常強大。
CopyrightBUAA