R語(yǔ)言數(shù)據(jù)挖掘?qū)崙?zhàn)系列(5)——挖掘建模
一、分類與預(yù)測(cè)
分類和預(yù)測(cè)是預(yù)測(cè)問(wèn)題的兩種主要類型,分類主要是預(yù)測(cè)分類標(biāo)號(hào)(離散屬性),而預(yù)測(cè)主要是建立連續(xù)值函數(shù)模型,預(yù)測(cè)給定自變量對(duì)應(yīng)的因變量的值。
1.實(shí)現(xiàn)過(guò)程
(1)分類
分類是構(gòu)造一個(gè)分類模型,輸入樣本的屬性值,輸出對(duì)應(yīng)的類別,將每個(gè)樣本映射到預(yù)先定義好的類別。分類模型建立在已有類標(biāo)記的數(shù)據(jù)集上,模型在已有樣本上的準(zhǔn)確率可以方便地計(jì)算,所以分類屬于有監(jiān)督的學(xué)習(xí)。
(2)預(yù)測(cè)
預(yù)測(cè)是建立兩種或兩種以上變量間相互依賴的函數(shù)模型,然后進(jìn)行預(yù)測(cè)或控制。
(3)實(shí)現(xiàn)過(guò)程
分類模型分為兩步:第一步是學(xué)習(xí)步,通過(guò)歸納分析訓(xùn)練樣本集來(lái)建立分類模型得到分類規(guī)則;第二步是分類步,先用已知的測(cè)試樣本集評(píng)估分類規(guī)則的準(zhǔn)確率,如果準(zhǔn)確率是可以接受的,則使用該模型對(duì)未知類標(biāo)號(hào)的待測(cè)樣本集進(jìn)行預(yù)測(cè)。
預(yù)測(cè)模型的實(shí)現(xiàn)也分為兩步:第一步是通過(guò)訓(xùn)練集建立預(yù)測(cè)屬性(數(shù)值型的)的函數(shù)模型,第二步在模型通過(guò)檢驗(yàn)后進(jìn)行預(yù)測(cè)或控制。
2.常用的分類與預(yù)測(cè)算法
表5-1 常用分類與預(yù)測(cè)算法簡(jiǎn)介
算法名稱 | 算法描述 |
回歸分析 | 回歸分析是確定預(yù)測(cè)屬性(數(shù)值型)與其他變量間相互依賴的定量關(guān)系最常用的統(tǒng)計(jì)學(xué)方法。包括線性回歸、非線性回歸,Logistic回歸、嶺回歸、主成分回歸、偏最小二乘回歸等模型 |
決策樹(shù) | 決策樹(shù)采用自頂向下的遞歸方式,在內(nèi)部節(jié)點(diǎn)進(jìn)行屬性值的比較,并根據(jù)不同的屬性值從該節(jié)點(diǎn)向下分支,最終得到的葉節(jié)點(diǎn)是學(xué)習(xí)劃分的類 |
人工神經(jīng)網(wǎng)絡(luò) | 人工神經(jīng)網(wǎng)絡(luò)是一種模仿大腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能而建立的信息處理系統(tǒng),表示神經(jīng)網(wǎng)絡(luò)的輸入與輸出變量之間的模型 |
貝葉斯網(wǎng)絡(luò) | 貝葉斯網(wǎng)絡(luò)又稱信度網(wǎng)絡(luò),是Bayes方法的擴(kuò)展,是目前不確定知識(shí)表達(dá)和推理領(lǐng)域最有效的理論模型之一 |
支持向量機(jī) | 支持向量機(jī)是一種通過(guò)某種非線性映射,把低維的非線性可分轉(zhuǎn)化為高維的線性可分,在高維空間進(jìn)行線性分析的算法 |
3.回歸分析
表5-2 常用的回歸模型分類
回歸模型名稱 | 使用條件 | 算法描述 |
線性回歸 | 因變量與自變量是線性關(guān)系 | 對(duì)一個(gè)或多個(gè)自變量和因變量之間的線性關(guān)系進(jìn)行建模,可用最小二乘法求解模型系數(shù) |
非線性回歸 | 因變量與自變量之間不都是線性關(guān)系 | 對(duì)一個(gè)或多個(gè)自變量和因變量之間的非線性關(guān)系進(jìn)行建模。如果非線性關(guān)系可以通過(guò)簡(jiǎn)單的函數(shù)變換轉(zhuǎn)化為線性關(guān)系,用線性回歸的思想求解;如果不能轉(zhuǎn)化,用非線性最小二乘方法求解 |
Logistic回歸 | 因變量一般有1和0(是否)兩種取值 | 是廣義線性回歸模型的特例,利用logistic函數(shù)將因變量的取值范圍控制在0和1之間,表示取值為1的概率 |
嶺回歸 | 參與建模的自變量之間具有多重共線性 | 是一種改進(jìn)最小二乘估計(jì)的方法 |
主成分分析 | 參與建模的自變量之間具有多重共線性 | 主成分回歸是根據(jù)主成分分析的思想提出來(lái)的,是對(duì)最小二乘法的一種改進(jìn),它是參數(shù)估計(jì)的一種有偏估計(jì)。可以消除自變量之間的多重共線性 |
4.決策樹(shù)
決策樹(shù)是一種樹(shù)狀結(jié)構(gòu),它的每一個(gè)葉節(jié)點(diǎn)對(duì)應(yīng)著一個(gè)分類,非葉節(jié)點(diǎn)對(duì)應(yīng)著在某個(gè)屬性上的劃分,根據(jù)樣本在該屬性上的不同取值將其劃分為若干個(gè)子集。對(duì)于非純的葉節(jié)點(diǎn),多數(shù)類的標(biāo)號(hào)給出到達(dá)這個(gè)節(jié)點(diǎn)的樣本所屬的類。構(gòu)造決策樹(shù)的核心問(wèn)題是在每一步如何選擇適當(dāng)?shù)膶傩詫?duì)樣本做拆分。對(duì)于一個(gè)分類問(wèn)題,從已知類標(biāo)記的訓(xùn)練樣本中學(xué)習(xí)并構(gòu)造出決策樹(shù)是一個(gè)自上而下、分而治之的過(guò)程。
表5-3 決策樹(shù)算法分類
決策樹(shù)算法 | 算法描述 |
ID3算法 | 其核心是在決策樹(shù)的各級(jí)節(jié)點(diǎn)上,使用信息增益方法作為屬性的選擇標(biāo)準(zhǔn),來(lái)幫助確定生成每個(gè)節(jié)點(diǎn)時(shí)所采用的合適屬性 |
C4.5算法 | C4.5決策樹(shù)生成算法相對(duì)于ID3算法的重要改進(jìn)是使用信息增益率來(lái)選擇節(jié)點(diǎn)屬性。C4.5算法可以克服ID3算法存在的不足:ID3算法只適用于離散的描述屬性,而C4.5算法既能夠處理離散的描述屬性,也可以處理連續(xù)的描述屬性 |
CART算法 | CART決策樹(shù)是一種十分有效的非參數(shù)分類和回歸方法,通過(guò)構(gòu)建樹(shù)、修剪樹(shù)、評(píng)估樹(shù)來(lái)構(gòu)建一個(gè)二叉樹(shù)。當(dāng)終節(jié)點(diǎn)是連續(xù)變量時(shí),該樹(shù)為回歸樹(shù);當(dāng)終節(jié)點(diǎn)是分類變量時(shí),該樹(shù)為分類樹(shù) |
5.人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(ANN)是模擬生物神經(jīng)網(wǎng)絡(luò)進(jìn)行信息處理的一種數(shù)學(xué)模型。人工神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)操作的基本信息處理單位。人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)也稱為訓(xùn)練,指的是神經(jīng)網(wǎng)絡(luò)在受到外部肩頸的刺激下調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù),使神經(jīng)網(wǎng)絡(luò)以一種新的方式對(duì)外部環(huán)境做出反應(yīng)的一個(gè)過(guò)程。在分類與預(yù)測(cè)中,人工神經(jīng)網(wǎng)絡(luò)主要使用有指導(dǎo)的學(xué)習(xí)方式,即根據(jù)給定的訓(xùn)練樣本,調(diào)整人工神經(jīng)網(wǎng)絡(luò)的參數(shù)以使網(wǎng)絡(luò)輸出接近于已知的樣本類標(biāo)記或其他形式的因變量。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練是否完成常用誤差函數(shù)(也稱目標(biāo)函數(shù))E來(lái)衡量。當(dāng)誤差函數(shù)小于某一個(gè)設(shè)定的值時(shí)即停止神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
使用人工神經(jīng)網(wǎng)絡(luò)模型需要確定網(wǎng)絡(luò)連接的拓?fù)浣Y(jié)構(gòu)、神經(jīng)元的特征和學(xué)習(xí)規(guī)則等。常用的實(shí)現(xiàn)分類和預(yù)測(cè)的人工神經(jīng)網(wǎng)絡(luò)算法如下:
表5-4 人工神經(jīng)網(wǎng)絡(luò)算法
算法名稱 | 算法描述 |
BP神經(jīng)網(wǎng)絡(luò) | BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),學(xué)習(xí)算法是δ學(xué)習(xí)規(guī)則,是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一 |
LM神經(jīng)網(wǎng)絡(luò) | LM神經(jīng)網(wǎng)絡(luò)是基于梯度下降法和牛頓法結(jié)合的多層前饋網(wǎng)絡(luò),特點(diǎn):迭代次數(shù)少,收斂速度快,精確度高 |
RBF徑向基神經(jīng)網(wǎng)絡(luò) | RBF徑向基神經(jīng)網(wǎng)絡(luò)能夠以任意精度逼近任意連續(xù)函數(shù),從輸入層到隱含層的變換是非線性的,而從隱含層到輸出層的變換是線性的,特別適合于解決分類問(wèn)題 |
FNN模糊神經(jīng)網(wǎng)絡(luò) | FNN模糊神經(jīng)網(wǎng)絡(luò)是具有模糊權(quán)系數(shù)或者輸入信號(hào)是模糊量的神經(jīng)網(wǎng)絡(luò),是模糊系統(tǒng)與神經(jīng)網(wǎng)絡(luò)相結(jié)合的產(chǎn)物,它匯聚了神經(jīng)網(wǎng)絡(luò)與模糊系統(tǒng)的有點(diǎn),集聯(lián)想、識(shí)別、自適應(yīng)及模糊信息處理于一體 |
GMDH神經(jīng)網(wǎng)絡(luò) | GMDH網(wǎng)絡(luò)也稱為多項(xiàng)式網(wǎng)絡(luò),它是前饋神經(jīng)網(wǎng)絡(luò)中常用的一種用于預(yù)測(cè)的神經(jīng)網(wǎng)絡(luò)。它的特點(diǎn)是網(wǎng)絡(luò)結(jié)構(gòu)不固定,而且在訓(xùn)練過(guò)程中不斷改變 |
ANFIS自適應(yīng)神經(jīng)網(wǎng)絡(luò) | 神經(jīng)網(wǎng)絡(luò)鑲嵌在一個(gè)全部模糊的結(jié)構(gòu)之中,在不知不覺(jué)中向訓(xùn)練數(shù)據(jù)學(xué)習(xí),自動(dòng)產(chǎn)生、修正并高度概括出最佳的輸入與輸出變量的隸屬函數(shù)以及模糊規(guī)則;另外,神經(jīng)網(wǎng)絡(luò)的各層結(jié)構(gòu)與參數(shù)也都具有了明確的、易于理解的物理意義 |
BP(Back Propagation,反向傳播)算法的特征是利用輸出后的誤差來(lái)估計(jì)傳輸層的直接前導(dǎo)層的誤差,再用這個(gè)誤差估計(jì)更前一層的誤差,如此一層一層的反向傳播下去,就獲得了所有其他各層的誤差估計(jì)。這樣就形成了將輸出層表現(xiàn)出的誤差沿著與輸入傳送相反的方向逐級(jí)向網(wǎng)絡(luò)的輸入層傳遞的過(guò)程。
BP算法只用到均方誤差函數(shù)對(duì)權(quán)值和閾值的一階導(dǎo)數(shù)(梯度)的信息,使得算法存在收斂速度緩慢、易陷入局部極小等缺陷。
6.分類與預(yù)測(cè)算法評(píng)價(jià)
為了有效判斷一個(gè)預(yù)測(cè)模型的性能表現(xiàn),需要一組沒(méi)有參與預(yù)測(cè)模型建立的數(shù)據(jù)集,并在該數(shù)據(jù)集上評(píng)價(jià)預(yù)測(cè)模型的準(zhǔn)確率,這組獨(dú)立的數(shù)據(jù)集叫測(cè)試集。模型預(yù)測(cè)效果評(píng)價(jià),通常用絕對(duì)誤差與相對(duì)誤差、平均絕對(duì)誤差、均方誤差、均方根誤差等指標(biāo)來(lái)衡量。
(1)絕對(duì)誤差與相對(duì)誤差
設(shè)Y為實(shí)際值,Y^表示預(yù)測(cè)值,則稱E為絕對(duì)誤差,計(jì)算公式如下:E=Y-Y^;e為相對(duì)誤差,計(jì)算公式為:e=E/Y
(2)平均絕對(duì)誤差(MAE)
(3)均方誤差(MSE),是預(yù)測(cè)誤差平方之和的平均數(shù),它避免了正負(fù)誤差不能相加的問(wèn)題。
(4)均方根誤差(RMSE),是均方誤差的平方根,代表了預(yù)測(cè)值的離散程度,也叫標(biāo)準(zhǔn)誤差,最佳擬合情況為RMSE=0.
(5)平均絕對(duì)百分誤差(MAPE),一般認(rèn)為MAPE小于10時(shí),預(yù)測(cè)精度較高。
(6)Kappa統(tǒng)計(jì)
Kappa統(tǒng)計(jì)是比較兩個(gè)或多個(gè)觀測(cè)者對(duì)同一事物,或觀測(cè)者對(duì)同一事物的兩次或多次觀測(cè)結(jié)果是否一致,以由機(jī)遇造成的一致性和實(shí)際觀測(cè)的一致性之間的差別大小作為評(píng)價(jià)基礎(chǔ)的統(tǒng)計(jì)指標(biāo)。Kappa統(tǒng)計(jì)量和加權(quán)Kappa統(tǒng)計(jì)量不僅可以用于無(wú)序和有序分類變量資料的一致性、重現(xiàn)性檢驗(yàn),而且能給出一個(gè)反映一致性大小的“量”值。
Kappa取值在[-1,1]之間,其值的大小均有不同意義:
Kappa=1:說(shuō)明兩次判斷的結(jié)果完全一致
Kappa=-1:說(shuō)明兩次判斷的結(jié)果完全不一致
Kappa=0:說(shuō)明兩次判斷的結(jié)果是機(jī)遇造成
Kappa<0:說(shuō)明一致程度比機(jī)遇造成的還差,兩次檢驗(yàn)結(jié)果很不一致,在實(shí)際應(yīng)用中無(wú)意義
Kappa>0:此時(shí)說(shuō)明有意義,Kappa愈大,說(shuō)明一致性愈好
Kappa≥0.75:說(shuō)明已經(jīng)取得相當(dāng)滿意的一致程度
Kappa<0.4:說(shuō)明一致程度不夠
(7)識(shí)別準(zhǔn)確度(Accuracy)
(8)識(shí)別精確率(Precision)
(9)反饋率(Recall)
(10)ROC曲線
受試者工作特性(Receiver Operating Characteristic,ROC)曲線是一種非常有效的模型評(píng)價(jià)方法,可為選定臨界值給出定量提示。將靈敏度(Sensitivity)設(shè)在縱軸,1-特異性(1-Specificity)設(shè)在橫軸,就可得出ROC曲線圖。該曲線下的積分面積(Area)大小與每種方法的優(yōu)劣密切相關(guān),反映分類器正確分類的統(tǒng)計(jì)概率,其值越接近1說(shuō)明該算法效率越好。
(11)混淆矩陣
混淆矩陣(Confusion Matrix)是模式識(shí)別領(lǐng)域中一種常用的表達(dá)形式。它描繪樣本數(shù)據(jù)的真實(shí)屬性與識(shí)別結(jié)果類型之間的關(guān)系,是評(píng)價(jià)分類器性能的一種常用方法。。
7.R語(yǔ)言主要分類與預(yù)測(cè)算法函數(shù)
表5-5 R語(yǔ)言主要分類與預(yù)測(cè)函數(shù)
函數(shù)名 | 函數(shù)功能 | 軟件包 |
lda() | 構(gòu)建一個(gè)線性判別分析模型 | MASS |
NaiveBayes() | 構(gòu)建一個(gè)樸素貝葉斯分類器 | klaR |
knn() | 構(gòu)建一個(gè)K最近鄰分類模型 | class |
rpart() | 構(gòu)建一個(gè)分類回歸樹(shù)模型 | rpart、maptree |
bagging() | 構(gòu)建一個(gè)集成學(xué)習(xí)分類器 | adabag |
randomForest() | 構(gòu)建一個(gè)隨機(jī)森林模型 | randomForest |
svm() | 構(gòu)建一個(gè)支持向量機(jī)模型 | e1071 |
nnet() | 構(gòu)建一個(gè)人工識(shí)別神經(jīng)網(wǎng)絡(luò) | nnet |
二、聚類分析
1.常用聚類分析算法
聚類分析是在沒(méi)有給定劃分類別的情況下,根據(jù)數(shù)據(jù)相似度進(jìn)行樣本分組的一種方法。聚類模型可以建立在無(wú)類標(biāo)記的數(shù)據(jù)上,是一種非監(jiān)督的學(xué)習(xí)算法。聚類的輸入是一組未被標(biāo)記的樣本,聚類根據(jù)數(shù)據(jù)自身的距離或相似度將它們劃分為若干組,劃分的原則是組內(nèi)距離最小化而組間(外部)距離大化。
表5-6 常用聚類方法
類別 | 包括的主要算法 |
劃分(分裂)方法 | K-Means算法(K-平均)、K-MEDOIDS算法(K-中心點(diǎn))、CLARANS算法(基于選擇的算法) |
層次分析方法 | BIRCH算法(平衡迭代規(guī)約和聚類)、CURE算法(代表點(diǎn)聚類)、CHAMELEON算法(動(dòng)態(tài)模型) |
基于密度的方法 | DBSCAN算法(基于高密度連接區(qū)域)、DENCLUE算法(密度分布函數(shù))、OPTICS算法(對(duì)象排序識(shí)別) |
基于網(wǎng)格的方法 | STING算法(統(tǒng)計(jì)信息網(wǎng)絡(luò))、CLIOUE算法(聚類高維空間)、WAVE-CLUSTER算法(小波變換) |
基于模型的方法 | 統(tǒng)計(jì)學(xué)方法、神經(jīng)網(wǎng)絡(luò)方法 |
表5-7 常用聚類分析算法
算法名稱 | 算法描述 |
K-Means | K-均值聚類也叫快速聚類法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K。該算法原理簡(jiǎn)單并便于處理大量數(shù)據(jù) |
K-中心點(diǎn) | K-均值算法對(duì)孤立點(diǎn)的敏感性,K-中心點(diǎn)算法不采用簇中對(duì)象的平均值作為簇中心,而選中簇中離平均值最近的對(duì)象作為簇中心 |
系統(tǒng)聚類 | 系統(tǒng)聚類也叫多層次聚類,分類的范圍由高到低呈樹(shù)形結(jié)構(gòu),且所處的位置越低,其所包含的對(duì)象就越少,但這些對(duì)象間的共同特征越多。該聚類方法只適合在小數(shù)據(jù)量時(shí)使用,數(shù)據(jù)量大時(shí)速度會(huì)非常慢 |
2.K-Means聚類算法
K-Means算法是典型的基于距離的非層次聚類算法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。
(1)算法過(guò)程
從N個(gè)樣本數(shù)據(jù)中隨機(jī)選取K個(gè)對(duì)象作為初始的聚類中心
分別計(jì)算每個(gè)樣本到各個(gè)聚類中心的距離,將對(duì)象分配到距離最近的聚類中
所有對(duì)象分配完成后,重新計(jì)算K個(gè)聚類的中心
與前一次計(jì)算得到的K個(gè)聚類中心比較,如果聚類中心發(fā)生變化,轉(zhuǎn)第二步,否則轉(zhuǎn)第五步
當(dāng)質(zhì)心不發(fā)生變化時(shí)停止并輸出聚類結(jié)果
在實(shí)踐中,為了得到較好的結(jié)果,通常以不同的初始聚類為中心,多次運(yùn)行K-Means算法。在所有對(duì)象分配完成后,重新計(jì)算K個(gè)聚類的中心時(shí),對(duì)于連續(xù)數(shù)據(jù),聚類中心取該簇的均值,但是當(dāng)樣本的某些屬性是分類變量是,均值可能無(wú)定義,可以使用K-眾數(shù)方法。
(2)數(shù)據(jù)類型與相似性的度量
連續(xù)屬性
對(duì)于連續(xù)屬性,要先對(duì)各屬性值進(jìn)行零-均值規(guī)范化,再進(jìn)行距離的計(jì)算。K-Means聚類算法中,一般需要度量樣本之間的距離、樣本與簇之間的距離以及簇與簇之間的距離。
度量樣本之間的相似性最常用的是歐幾里得距離、曼哈頓距離和閔可夫斯基距離;樣本與簇之間的距離可以用樣本到簇中心的距離d(ei,x);簇與簇之間的距離可以用簇中心的距離d(ei,ej)。
文檔數(shù)據(jù)
對(duì)于文檔數(shù)據(jù)使用余弦相似性度量,先將文檔數(shù)據(jù)整理成文檔-詞矩陣格式。
(3)目標(biāo)函數(shù)
使用誤差平方和SSE作為度量聚類質(zhì)量的目標(biāo)函數(shù),對(duì)于兩種不同的聚類結(jié)果,選擇誤差平方和較小的分類結(jié)果。
3.聚類分析算法評(píng)價(jià)
聚類分析僅根據(jù)樣本數(shù)據(jù)本身將樣本分組。其目標(biāo)是,組內(nèi)的對(duì)象相互之間是相似的(相關(guān)的),而不同組中的對(duì)象是不同的(不相關(guān)的)。組內(nèi)的相似性越大,組間差別越大,聚類效果就越好。
purity評(píng)價(jià)法:只需計(jì)算正確聚類數(shù)占總數(shù)的比例
RI評(píng)價(jià)法
這是一種用排列組合原理對(duì)聚類進(jìn)行評(píng)價(jià)的手段,RI評(píng)價(jià)公式為:RI=(R+W)/(R+M+D+W),其中,R是指被聚在一類的兩個(gè)對(duì)象唄正確分類了,W指不應(yīng)該被聚在一類的兩個(gè)對(duì)象被正確分類了,M指不應(yīng)該放在一類的對(duì)象被錯(cuò)誤地放在了一類,D指不應(yīng)該分開(kāi)的對(duì)象被錯(cuò)誤地分開(kāi)了。
F評(píng)價(jià)法
這是基于RI方法衍生出的一個(gè)方法。
4.R語(yǔ)言主要聚類分析算法函數(shù)
R語(yǔ)言里面實(shí)現(xiàn)的聚類主要包括:K-均值聚類、K-中心點(diǎn)聚類、密度聚類以及EM聚類。
表5-8 聚類主要函數(shù)列表
函數(shù)名 | 函數(shù)功能 | 軟件包 |
kmeans() | 構(gòu)建一個(gè)K-均值聚類模型 | stats |
pam() | 構(gòu)建一個(gè)K-中心點(diǎn)聚類模型 | cluster |
dbscan() | 構(gòu)建一個(gè)密度聚類模型 | fpc |
Mclust() | 構(gòu)建一個(gè)EM聚類模型 | mclust |
三、關(guān)聯(lián)規(guī)則
關(guān)聯(lián)規(guī)則分析是數(shù)據(jù)挖掘中最活躍的研究方法之一,目的是在一個(gè)數(shù)據(jù)集中找出各項(xiàng)之間的關(guān)聯(lián)關(guān)系,而這種關(guān)系并沒(méi)有在數(shù)據(jù)中直接表示出來(lái)。
常用關(guān)聯(lián)規(guī)則算法
表5-9 常用關(guān)聯(lián)規(guī)則算法
算法名稱 | 算法描述 |
Apriori | 關(guān)聯(lián)規(guī)則最常用也是最經(jīng)典的挖掘頻繁項(xiàng)集的算法,其核心思想是通過(guò)連接產(chǎn)生候選項(xiàng)及其支持度然后通過(guò)剪枝生成頻繁項(xiàng)集 |
FP-Tree | 針對(duì)Apriori算法固有的多次掃描事物數(shù)據(jù)集的缺陷,提出的不產(chǎn)生候選頻繁項(xiàng)集的方法。Apriori和FP-Tree都是尋找頻繁項(xiàng)集的算法 |
Eclat算法 | Eclat算法是一種深度優(yōu)先算法,采用垂直數(shù)據(jù)表示形式,在概念格理論的基礎(chǔ)上利用基于前綴的等價(jià)關(guān)系將搜索空間劃分為較小的子空間 |
灰色關(guān)聯(lián)法 | 分析和確定各因素之間的影響程度或是若干個(gè)子因素(子序列)對(duì)主因素(母序列)的貢獻(xiàn)度而進(jìn)行的一種分析方法 |
2.Apriori算法
Apriori算法是最經(jīng)典的挖掘頻繁項(xiàng)集的算法,第一次實(shí)現(xiàn)了在大數(shù)據(jù)集上可行的關(guān)聯(lián)規(guī)則提取,其核心思想是通過(guò)連接產(chǎn)生候選項(xiàng)與其支持度然后通過(guò)剪枝生成頻繁項(xiàng)集。
(1)關(guān)聯(lián)規(guī)則和頻繁項(xiàng)集
關(guān)聯(lián)規(guī)則的一般形式
項(xiàng)集A、B同時(shí)發(fā)生的概率稱為關(guān)聯(lián)規(guī)則的支持度(也稱為相對(duì)支持度):
Support(A =>B)=P(A∩B)
項(xiàng)集A發(fā)生,則項(xiàng)集B發(fā)生的概率為關(guān)聯(lián)規(guī)則的置信度:
Confidence(A => B)=P(B|A)
最小支持度和最小置信度
最小支持度是用戶或?qū)<叶x的衡量支持度的一個(gè)閾值,表示項(xiàng)目集在統(tǒng)計(jì)意義上的最低重要性;最小置信度是用戶或?qū)<叶x的衡量置信度的一個(gè)閾值,表示關(guān)聯(lián)規(guī)則的最低可靠性。同時(shí)滿足最小支持度閾值和最小置信度閾值的規(guī)則稱作強(qiáng)規(guī)則。
項(xiàng)集
項(xiàng)集是項(xiàng)的集合。包括k個(gè)項(xiàng)的項(xiàng)集稱為k項(xiàng)集。項(xiàng)集的出現(xiàn)概率是所有包含項(xiàng)集的事務(wù)計(jì)數(shù),又稱作絕對(duì)支持度或支持度計(jì)數(shù)。如果項(xiàng)集I的相對(duì)支持度滿足預(yù)定義的最小支持度閾值,則I是頻繁項(xiàng)集。頻繁k項(xiàng)集通常記作Lk.
支持度計(jì)數(shù)
項(xiàng)集A的支持度計(jì)數(shù)是事務(wù)數(shù)據(jù)集中包含項(xiàng)集A的事務(wù)個(gè)數(shù),簡(jiǎn)稱為項(xiàng)集的頻率或計(jì)數(shù)。
已知項(xiàng)集的支持度計(jì)數(shù),則規(guī)則A=>B的支持度和置信度很容易從所有事務(wù)計(jì)數(shù)、項(xiàng)集A和項(xiàng)集A∩B的支持度計(jì)數(shù)推出。
Support(A=>B)=(A,B同時(shí)發(fā)生的事務(wù)個(gè)數(shù))/(所有事務(wù)個(gè)數(shù))=(Support_count(A∩B))/(Total_count(A))
Confidence(A=>B)=P(A|B)=(Support(A∩B))/(Support(A))=Support_count(A∩B)/Support_count(A)
也就是說(shuō),一旦得到所有事務(wù)個(gè)數(shù),A、B和A∩B的支持度計(jì)數(shù),就可以導(dǎo)出對(duì)應(yīng)的關(guān)聯(lián)規(guī)則A=>B和B=>A,并可以檢查該規(guī)則是否是強(qiáng)規(guī)則。
(2)Apriori算法:使用候選產(chǎn)生頻繁項(xiàng)集
Apriori算法的主要思想是超出存在于事務(wù)數(shù)據(jù)集中大的頻繁項(xiàng)集,在利用得到的大頻繁項(xiàng)集與預(yù)先設(shè)定的最小置信度閾值生成強(qiáng)關(guān)聯(lián)規(guī)則。
Apriori的性質(zhì)
頻繁項(xiàng)集的所有非空子集也必須是頻繁項(xiàng)集。根據(jù)該性質(zhì)可以得出:向不是頻繁項(xiàng)集I的項(xiàng)集中添加事務(wù)A,新的項(xiàng)集I∩A一定也不是頻繁項(xiàng)集。
Apriori算法實(shí)現(xiàn)的兩個(gè)過(guò)程
a.找出所有的頻繁項(xiàng)集(支持度必須大于等于給定的最小支持度閾值),在這個(gè)過(guò)程中連接步和剪枝步互相融合,最終得到大的頻繁項(xiàng)集Lk。
連接步:連接步的目的是找到k項(xiàng)集。
剪枝步:緊接著連接步,在產(chǎn)生候選項(xiàng)Ck的過(guò)程中起到減小搜索空間的目的。
b.由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則:由過(guò)程a可知,未超過(guò)預(yù)定的最小值尺度閾值的項(xiàng)集已被剔除,如果剩下這些規(guī)則又滿足了預(yù)定的最小置信度閾值,那么就挖掘出了強(qiáng)關(guān)聯(lián)規(guī)則。
四、時(shí)序模式
常用按時(shí)間順序排列的一組隨機(jī)變量X1,X2,...,Xt來(lái)表示一個(gè)隨機(jī)事件的時(shí)間序列,簡(jiǎn)記為{Xt};用x1,x2,...,xn或{xt,t=1,2,...,n}表示該隨機(jī)序列的n個(gè)有序觀察值。稱之為序列長(zhǎng)度為n的觀察值序列。
時(shí)間序列算法
表5-10 常用時(shí)間序列模型
模型名稱 | 描述 |
平滑法 | 平滑法常用于趨勢(shì)分析和預(yù)測(cè),利用修勻技術(shù),削弱短期隨機(jī)波動(dòng)對(duì)序列的影響,使序列平滑化。根據(jù)所用平滑技術(shù)的不同,可具體分為移動(dòng)平均法和指數(shù)平滑法。 |
趨勢(shì)擬合法 | 趨勢(shì)擬合法把時(shí)間作為自變量,相應(yīng)的序列觀察值作為因變量,建立回歸模型。根據(jù)序列的特征,可具體分為線性擬合和曲線擬合。 |
組合模型 | 時(shí)間序列的變化主要受到長(zhǎng)期趨勢(shì)(T)、季節(jié)變動(dòng)(S)、周期變動(dòng)(C)和不規(guī)則變動(dòng)(ε)這四個(gè)因素的影響。根據(jù)序列的特點(diǎn),可以構(gòu)建加法模型和乘法模型。 加法模型:x1=Tt+St+Ct+εt 乘法模型:xt=Tt+St+Ct+εt |
AR模型 | x1=φ0+φ1x(t-1)+φ2x(t-2)+...+φpx(t-p)+εt 以前p期的序列值xt-1,xt-2,...xt-p為自變量、隨機(jī)變量Xt的取值xt為因變量建立線性回歸模型。 |
MA模型 | xt=μ+εt-θ1ε(t-1)-θ2ε(t-2)-...-θqε(t-q) 隨機(jī)變量Xt的取值xt與以前各期的序列值無(wú)關(guān),建立xt與前q期的隨機(jī)擾動(dòng)ε(t-1),ε(t-2),...,ε(t-q)的線性回歸模型。 |
ARMA模型 | xt=φ0+φ1x(t-1)+φ2x(t-2)+...+φpx(t-p)+εt-θ1ε(t-1)-θ2ε(t-2)-...-θqε(t-q)隨機(jī)變量Xt的取值xt不僅與以前p期的序列值相關(guān),還與前p期的隨機(jī)擾動(dòng)有關(guān)。 |
ARIMA模型 | 許多非平穩(wěn)序列差分后會(huì)顯示出平穩(wěn)序列的性質(zhì),稱這個(gè)非平穩(wěn)序列為差分平穩(wěn)序列。對(duì)差分平穩(wěn)序列可以使用ARIMA模型進(jìn)行擬合。 |
ARCH模型 | ARCH模型能準(zhǔn)確地模擬時(shí)間序列變量的波動(dòng)性變化,適用于序列具有異方差性并且異方差函數(shù)短期自相關(guān)。 |
GARCH模型以及衍生模型 | GARCH模型稱為廣義ARCH模型,是ARCH模型的拓展。相比于ARCH模型,GARCH模型及其衍生模型更能反映實(shí)際序列中的長(zhǎng)期記憶性、信息的非對(duì)稱性等性質(zhì)。 |
拿到一個(gè)觀察值序列后,首先要對(duì)它的純隨機(jī)性和平穩(wěn)性進(jìn)行檢驗(yàn),這兩個(gè)重要的檢驗(yàn)成為序列的預(yù)處理。
對(duì)于純隨機(jī)序列,又叫白噪聲序列,序列的各項(xiàng)之間沒(méi)有任何相關(guān)關(guān)系,序列在進(jìn)行完全無(wú)序的隨機(jī)波動(dòng),可以終止對(duì)該序列的分析。
對(duì)于平穩(wěn)非白噪聲序列,它的均值和方差是常數(shù),現(xiàn)已有一套非常成熟的平穩(wěn)序列的建模方法。通常是建立一個(gè)線性模型來(lái)擬合該序列的發(fā)展。ARMA模型是最常用的平穩(wěn)序列擬合模型。
對(duì)于非平衡序列,由于它的均值和方差不確定,處理方法一般是將其轉(zhuǎn)變?yōu)槠椒€(wěn)序列,這樣就可以應(yīng)用有關(guān)平穩(wěn)時(shí)間序列的分析方法。如果一個(gè)時(shí)間序列經(jīng)差分運(yùn)算后具有平穩(wěn)性,稱該序列為差分平穩(wěn)序列,可以使用ARIMA模型進(jìn)行分析。
3.平穩(wěn)時(shí)間序列分析
ARMA模型的全稱是自回歸移動(dòng)平均模型,它是目前最常用的擬合平穩(wěn)序列的模型,它又可細(xì)分為AR模型、MA模型和ARMA三大類,都可以看做是多元線性回歸模型。
4.非平穩(wěn)時(shí)間序列分析
對(duì)非平穩(wěn)時(shí)間序列的分析方法可以分為確定性因素分解的時(shí)序分析和隨機(jī)時(shí)序分析兩大類。
5.R語(yǔ)言主要時(shí)序模式算法函數(shù)
R語(yǔ)言實(shí)現(xiàn)的時(shí)序模式算法主要是ARIMA模型,在使用該模型進(jìn)行建模時(shí),需要進(jìn)行一系列判別操作,主要包含平穩(wěn)性檢驗(yàn)、白噪聲檢驗(yàn)、是否差分、AIC和BIC指標(biāo)值、模型定階,最后再做預(yù)測(cè)。
表5-11 時(shí)序模式算法函數(shù)列表
函數(shù)名 | 函數(shù)功能 | 所屬程序包 |
acf() | 計(jì)算自相關(guān)系數(shù),畫(huà)自相關(guān)系數(shù)圖 | R語(yǔ)言通用函數(shù) |
pacf() | 計(jì)算偏相關(guān)系數(shù),畫(huà)偏相關(guān)系數(shù)圖 | R語(yǔ)言通用函數(shù) |
unitrootTest() | 對(duì)觀測(cè)值序列進(jìn)行單位根檢驗(yàn) | fUnitRoots |
diff() | 對(duì)觀測(cè)值序列進(jìn)行差分計(jì)算 | R語(yǔ)言通用函數(shù) |
armasubsets() | 模型定階,確定時(shí)序模式的建模參數(shù),創(chuàng)建回歸時(shí)序模型 | TSA |
arima() | 設(shè)置時(shí)序模式的建模參數(shù),創(chuàng)建ARIMA時(shí)序模型或者把回歸時(shí)序模型轉(zhuǎn)換為ARIMAX模型 | R語(yǔ)言通用函數(shù) |
Box test() | 檢測(cè)ARIMA模型是否符合白噪聲檢驗(yàn) | R語(yǔ)言通用函數(shù) |
forecast() | 應(yīng)用構(gòu)建的時(shí)序模型進(jìn)行預(yù)測(cè) | forecast |
離群點(diǎn)檢測(cè)的任務(wù)是發(fā)現(xiàn)與大部分其他對(duì)象顯著不同的對(duì)象。
(1)離群點(diǎn)的成因:數(shù)據(jù)來(lái)源與不同的類、自然變異、數(shù)據(jù)測(cè)量和收集誤差。
(2)離群點(diǎn)的類型
表5-12離群點(diǎn)的大致分類
分類標(biāo)準(zhǔn) | 分類名稱 | 分類描述 |
從數(shù)據(jù)范圍 | 全局離群點(diǎn)和局部離群點(diǎn) | 從整體來(lái)看,某些對(duì)象沒(méi)有利群特征,但是從局部來(lái)看,卻顯示了一定的離群性。 |
從數(shù)據(jù)類型 | 數(shù)值型離群點(diǎn)和分類型離群點(diǎn) | 這是以數(shù)據(jù)集的屬性類型進(jìn)行劃分的 |
從屬性的個(gè)數(shù) | 一維離群點(diǎn)和多維離群點(diǎn) | 一個(gè)對(duì)象可能有一個(gè)或多個(gè)屬性 |
表5-13常用離群點(diǎn)檢測(cè)方法
離群點(diǎn)檢測(cè)方法 | 方法描述 | 方法評(píng)估 |
基于統(tǒng)計(jì) | 大部分基于統(tǒng)計(jì)的離群點(diǎn)檢測(cè)方法是構(gòu)建一個(gè)概率分布模型、并計(jì)算對(duì)象符合該模型的概率,把具有低概率的對(duì)象視為離群點(diǎn) | 基于統(tǒng)計(jì)模型的離群點(diǎn)檢測(cè)方法的前提是必須知道數(shù)據(jù)集服從什么分布;對(duì)于高維數(shù)據(jù),檢驗(yàn)效果可能很差 |
基于鄰近度 | 通常可以在數(shù)據(jù)對(duì)象之間定義鄰近性度量,把遠(yuǎn)離大部分點(diǎn)的對(duì)象視為離群點(diǎn) | 簡(jiǎn)單、二維或三維的數(shù)據(jù)可以做散點(diǎn)圖觀察;大數(shù)據(jù)集不適用;對(duì)參數(shù)選擇敏感;具有全局閾值,不能處理具有不同密度區(qū)域的數(shù)據(jù)集 |
基于密度 | 考慮數(shù)據(jù)集可能存在不同密度區(qū)域這一事實(shí),從基于密度的觀點(diǎn)分析,離群點(diǎn)是在低密度區(qū)域中的對(duì)象。一個(gè)對(duì)象的離群點(diǎn)得分是該對(duì)象周?chē)芏鹊哪?/td> | 給出了對(duì)象是離群點(diǎn)的定量度量,并且即使數(shù)據(jù)具有不同的區(qū)域也能夠很好的處理;大數(shù)據(jù)集不適用;參數(shù)選擇是困難的 |
基于聚類 | 一種利用聚類檢測(cè)離群點(diǎn)的方法是丟棄遠(yuǎn)離其他簇的小簇;另一種更系統(tǒng)的方法,首先聚類所有對(duì)象,然后評(píng)估對(duì)象屬于簇的程度(離群點(diǎn)得分) | 基于聚類技術(shù)來(lái)發(fā)現(xiàn)離群點(diǎn)可能是高度有效的;聚類算法產(chǎn)生的簇的質(zhì)量對(duì)該算法產(chǎn)生的離群點(diǎn)的質(zhì)量影響非常大 |
2.基于模型的離群點(diǎn)檢測(cè)算法
通過(guò)估計(jì)概率分布的參數(shù)來(lái)建立一個(gè)數(shù)據(jù)模型,如果一個(gè)數(shù)據(jù)對(duì)象不能很好地跟該模型擬合,即如果它很可能不服從該分布,則它是一個(gè)離群點(diǎn)。
(1)一元正態(tài)分布中的離群點(diǎn)檢測(cè)
(2)混合模型的離群點(diǎn)檢測(cè)
混合是一種特殊的統(tǒng)計(jì)模型,它使用若干統(tǒng)計(jì)分布對(duì)數(shù)據(jù)建模。每一個(gè)分布對(duì)應(yīng)一個(gè)簇,而每個(gè)分布的參數(shù)提供對(duì)應(yīng)簇的描述,通常用中心和發(fā)散描述。
混合模型將數(shù)據(jù)看做不同的概率分布得到的觀測(cè)值的集合。概率分布可以是任何分布,但是通常是多元正態(tài)的。
總體來(lái)講,混合模型數(shù)據(jù)產(chǎn)生過(guò)程為:給定幾個(gè)類型相同但參數(shù)不同的分布,隨機(jī)地選取一個(gè)分布并由它產(chǎn)生一個(gè)對(duì)象。重復(fù)該過(guò)程m次,其中m是對(duì)象的個(gè)數(shù)。
聚類時(shí),混合模型方法假定數(shù)據(jù)來(lái)自混合概率分布,并且每個(gè)簇可以用這些分布之一識(shí)別。同樣,對(duì)于離群點(diǎn)檢測(cè),數(shù)據(jù)用兩個(gè)分布的混合模型建模,一個(gè)分布為正常數(shù)據(jù),而另一個(gè)為離群點(diǎn)。
聚類和離群點(diǎn)檢測(cè)的目標(biāo)都是估計(jì)分布的參數(shù),以大化數(shù)據(jù)的總似然。
這里提供一種離群點(diǎn)檢測(cè)常用的簡(jiǎn)單方法:先將所有數(shù)據(jù)對(duì)象放入正常數(shù)據(jù)集,這時(shí)離群點(diǎn)集為空集;再用一個(gè)迭代過(guò)程將數(shù)據(jù)對(duì)象從正常數(shù)據(jù)集轉(zhuǎn)移到離群點(diǎn)集,只要該轉(zhuǎn)移能提高數(shù)據(jù)的總似然。
(3)基于聚類的離群點(diǎn)檢測(cè)方法
a.丟棄遠(yuǎn)離其他簇的小簇:通常,該過(guò)程可以簡(jiǎn)化為丟棄小于某個(gè)最小閾值的所有簇。這種方法可以和其他任何聚類技術(shù)一起使用,但是需要最小簇大小和小簇與其他簇之間距離的閾值。而且這種方案對(duì)簇個(gè)數(shù)的選擇高度敏感,使用這個(gè)方案很難將離群點(diǎn)得分附加到對(duì)象上。
b.基于原型的聚類
另一種更系統(tǒng)的方法,首先聚類所有對(duì)象,然后評(píng)估對(duì)象屬于簇的程度(離群點(diǎn)得分)。在這種方法中,可以用對(duì)象到它的簇中心的距離來(lái)度量屬于簇的程度。特別地,如果刪除一個(gè)對(duì)象導(dǎo)致該目標(biāo)的顯著改進(jìn),則可將該對(duì)象視為離群點(diǎn)。
對(duì)于基于原型的雞肋,評(píng)估對(duì)象屬于簇的程度(離群點(diǎn)得分)主要有兩種方法:一是度量對(duì)象到簇原型的距離,并用它作為該對(duì)象的離群點(diǎn)得分;二是考慮簇具有不同的密度,可以度量簇到原型的相對(duì)距離,相對(duì)距離是點(diǎn)到質(zhì)心的距離與簇中所有點(diǎn)到質(zhì)心距離的中位數(shù)之比。
進(jìn)行聚類。選擇聚類算法,將樣本集聚為K簇,并找到各簇的質(zhì)心。
計(jì)算各對(duì)象到它的最近質(zhì)心的距離。
計(jì)算各對(duì)象到它的最近質(zhì)心的相對(duì)距離。
與給定的閾值作比較。
如果某對(duì)象距離大于該閾值,就認(rèn)為該對(duì)象是離群點(diǎn)。
基于聚類的離群點(diǎn)檢測(cè)的改進(jìn)如下:
離群點(diǎn)對(duì)初始聚類的影響:通過(guò)聚類檢測(cè)離群點(diǎn),離群點(diǎn)會(huì)影響聚類結(jié)果。為了處理該問(wèn)題,可以使用如下方法:對(duì)象聚類,刪除離群點(diǎn),對(duì)象再次聚類(這個(gè)不能保證產(chǎn)生最優(yōu)結(jié)果)。
更復(fù)雜的方法:取一組不能很好地?cái)M合任何簇的特殊對(duì)象,這組對(duì)象代表潛在的離群點(diǎn)。隨著聚類過(guò)程的進(jìn)展,簇在變化。不在強(qiáng)屬于任何簇的對(duì)象被添加到潛在的離群點(diǎn)集合;而當(dāng)前在給集合中的對(duì)象被測(cè)試,如果它現(xiàn)在強(qiáng)屬于一個(gè)簇,就可以將它從潛在的離群點(diǎn)集合中移除。聚類過(guò)程結(jié)束時(shí)還留在該集合中的點(diǎn)被分類為離群點(diǎn)
對(duì)象是否被認(rèn)為是離群點(diǎn)可能依賴于簇的個(gè)數(shù)。一種策略是對(duì)于不同的簇個(gè)數(shù)重復(fù)該分析;另一種方法是找出大量小簇,其想法是:
較小的簇傾向于更加凝聚;
如果存在大量小簇時(shí)一個(gè)對(duì)象是離群點(diǎn),則它多半是一個(gè)真正的離群點(diǎn)。
不利的一面是一組離群點(diǎn)可能形成小簇從而逃避檢測(cè)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站標(biāo)題:R語(yǔ)言數(shù)據(jù)挖掘?qū)崙?zhàn)系列(5)-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://jinyejixie.com/article34/dijcpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、動(dòng)態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、商城網(wǎng)站、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容