這份研究報告,作者是優云軟件數據專家陳是維,在耗時1年時間制作的一份最佳實踐,今天和大家分享下,關于《數據采礦和運維分析》,共同探討~
數據挖掘(Data Mining)是從大量數據中提取或“挖掘”知識。
廣義數據挖掘:數據挖掘是從存放在數據庫、數據倉庫或其它信息庫中的大量數據挖掘有趣知識的過程。
數據挖掘技術側重:1)概率與數理統計 2)數據庫技術 3)人工智能技術 4)機器學習。
1. 數據清理:消除噪音或不一致數據
2. 數據集成:多種數據源可以組合在一起
3. 數據選擇:從數據庫中提取與分析任務相關的數據
4. 數據變換:數據變換或統一成適合挖掘的形式
5. 數據挖掘:基本步驟,使用智能方法提取數據模式
6. 模式評估:根據某種興趣度度量,識別提供知識的真正有趣的模式
7. 知識表示:使用可視化和知識表示技術,向用戶提供挖掘的知識
數據挖掘的過程圖
優秀的數據挖掘軟件工具包
OFFICE EXCEL:最為常見的數據分析挖掘工具。
SPSS 的一套工具:包括SPSS電子表格、SPSS SAS、SPSSClementine。
MATLAB:矩陣實驗室,也有各種matlab工具箱。
關聯規則簡介
購物籃分析:啤酒尿布問題,關聯規則挖掘首先找出頻繁項集,項的集合,如A 和B,滿足最小支持度閾值,并滿足最小置信度閾值,產生形如A B 的強關聯規則。
Apriori算法是一種有效的關聯規則挖掘算法,它逐級探查,進行連接和剪枝,找出極大頻繁集。性質:頻繁項集的所有非空子集都必須是頻繁的。
FP(頻繁模式)樹算法:頻繁模式增長是一種不產生候選的挖掘頻繁項集方法。它構造一個高度壓縮的數據結構FP-樹,壓縮原來的事務數據庫,聚焦于頻繁模式片段增長,避免了高代價的候選產生,獲得更好的效率。
提升度:相關性度量、興趣度:并非所有的強關聯規則都是有趣的。對于統計相關的項,可以挖掘相關規則。
Apriori算法例子
找出對應強關聯規則
關聯規則在運維方面的應用
○告警的關聯挖掘
挖掘告警的頻繁項集,如告警A 告警B,分析告警的連鎖性。有利于告警的預測管理及處理和優化。
○用戶行為關聯分析
基于日志信息的采集分析用戶行為的連鎖相關性,有利于進行功能的位置的調整優化,提高用戶的體驗效果。
○server請求關聯分析
分析用戶行為的連鎖相關性,有利于進行功能的位置的調整優化,提高用戶的體驗效果。
○崩潰和錯誤的關聯分析
挖掘引起崩潰或錯誤的原因,即在什么樣的情形下經常導致崩潰或錯誤,有利于對崩潰或錯誤進行處理,提出改進方案。
分類在運維方面的應用
分類——有監督學習
決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。
隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。
神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。。
支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。
關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。
貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。
k最近鄰分類法:基于距離的分類算法,基于距離的分類算法,惰性學習方法。
決策樹例子
1.運維人員是否對告警進行及時處理的決策樹(剪枝后)
2.計算各個不同維度對最后決策的影響(信息增益率)從高到低進行分支。
3.C4.5也是數據挖掘十大算法之首(J48 in weka)
分類——有監督學習
決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。
隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。——回歸分析中再詳細說。
神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。
支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。
關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。
貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。
k最近鄰分類法:基于距離的分類算法,基于距離的分類算法,惰性學習方法。
BP神經網絡例子
BP網絡:后向傳播是一種用于分類的神經網絡算法,使用梯度下降方法
分類——有監督學習
決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。
隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。
神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。。
支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。
關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。
貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。
k最近鄰分類法:基于距離的分類算法,基于距離的分類算法,惰性學習方法。
支持向量機例子
通過搜索maximum marginal hyperplane(MMH)來處理問題
分類——有監督學習
決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。
隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。
神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。。
支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。
關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。
貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。
k最近鄰分類法:基于距離的分類算法,惰性學習方法。
K最近鄰分類法例子
5-最近鄰分類
將所有訓練元組儲存在模式空間中,一直等到經驗元組出現才進行分類。
分類在運維方面的應用
由于是有監督,必須已經有一些決策數據后才可以訓練分類的模型
聚類分析在運維方面的應用
聚類——無監督學習
樣本沒有標記,根據距離把樣本聚為k類
聚類分析是一個活躍的研究領域。
數據類型:數據矩陣:p個變量n個對象
相異度矩陣:相異度(距離)定義需滿足
1) d(i,j)>=0;
2) d(i,i)=0;
3) d(i,j)=d(j,i);
4) d(i,j)<=d(i,k)+d(k,j).
最常見的距離是歐式距離和曼哈頓距離
常用的距離還有:相似矩陣轉換的距離
聚類的方法
聚類分析許多聚類算法已經被開發出來,具體可以分為劃分方法,層次方法,基于密度的方法,基于網格的方法。
劃分方法首先得到初始的k 個劃分的集合,這里的參數k是要構建的劃分的數目;然后它采用迭代重定位技術,試圖通過將對象從一個簇移到另一個來改進劃分的質量。有代表性的劃分方法包括k-means聚類、EM(期望最大化)算法。
層次方法創建給定數據對象集合的一個層次性的分解。根據層次分解的形成過程,這類方法可以被分為自底向上的,或自頂向下的。有代表性的層次方法包括系統聚類法、模糊聚類方法。
K-means聚類
K-means聚類算法是距離平方和最小聚類法
[1] 假設要聚成K 個類。由人為決定K 個類中心。
[2] 在第i 次疊代中,計算每個樣本點到K個類中心的距離,并將它歸 入最近的類。
[3] 計算新類的類中心為每一類的重心,并重新計算每個樣本點到K 個類中心的距離,重新分類。
[4] 直到類中心的變化很小或已到最大迭代為止。
聚類的方法
聚類分析許多聚類算法已經被開發出來,具體可以分為劃分方法,層次方法,基于密度的方法,基于網格的方法。
劃分方法首先得到初始的k 個劃分的集合,這里的參數k是要構建的劃分的數目;然后它采用迭代重定位技術,試圖通過將對象從一個簇移到另一個來改進劃分的質量。有代表性的劃分方法包括k-means聚類、EM(期望最大化)算法。
層次方法創建給定數據對象集合的一個層次性的分解。根據層次分解的形成過程,這類方法可以被分為自底向上的,或自頂向下的。有代表性的層次方法包括系統聚類法、模糊聚類方法。
系統聚類法
系統聚類法即譜系聚類法或分層聚類法。
譜系圖
聚類在運維方面的應用
離群點檢測在運維方面的應用
離群點檢測
離群點(outlier)分析也叫異常檢測。
離群點是一個數據對象,它顯著不同于其他數據對象。
離群點類型
離群點檢測的方法
離群點檢測在運維方面的應用
統計分析在運維方面的應用
統計分析方法
▲主成分分析:是將多個指標化為少數指標的一種統計方法。(降維)
應用:(1)解釋,在心理學與社會學中的應用(2)綜合評價,如衡量企業的指標有很多,各種指標對不同企業來說,差異很大,通過主成分分析,用很少的綜合指標進行評價。(3)分類:用兩個主成分,在圖上可以分類。聚在一起的屬于同一類,離得很遠,說明差別很大。
步驟:1)標準化數據矩陣,2)計算相關系數陣R,3)計算特征根排序,4)確定主成分,5)計算單位特征向量,6)寫出主成分。
▲因子分析:主成分分析的推廣。
目的:(理論)是研究原始變量的內部關系,簡化原變量的協方差結構,分析變量中存在的復雜關系;(應用)是尋找眾多變量的公共因子,即探討多個能直接測量且有相關性的指標是如何受少數幾個不能直接測量的相對獨立的因子支配的。
基本思想:根據相關性的大小把變量分組,使得同組內的變量間相關性(共性)較高,而不同組的變量相關性較低。
步驟:1)標準化數據矩陣,2)計算相關系數陣R(協方差),3)求R特征根及特征向量,4)計算得到因子載荷A,5)因子旋轉(方差極大旋轉)、6)計算因子得分
■兩者區別:主成分分析所著重的在于如何轉換原來變量使之成為一些綜合性的新指標。與主成分分析不同的是因子分析重視的是如何解釋變量之間的共同變異問題。
▲典型相關分析:研究兩組隨機變量之間的相關關系
應用:(1)解釋相互之間關系:如:y表示體重,x表示身高,年齡。身高,年齡對體重是否有影響?(2)預測與控制在1的基礎上,利用x變量預測或控制y變量。如在西方,股票市場情況不太好,則銀行降息,促進股市繁榮;若股票升得太厲害,銀行就會上調利息。一般地,控制應建立在很好的預測基礎上。(3)尋找結構聯系:通過線性函數解釋內部結構機理。
▲判別分析:當得到一個新樣品(或個體)的關于指標X的觀測值時,要判斷該樣品屬于哪一個類型,即為判別分析。
1.距離判別:通過定義樣品指標X的觀測值x(p維)到各總體的距離,以其大小判定樣品屬于哪個總體。
2.Bayes判別 :對給定的樣品x,計算兩總體的概率密度函數在x處的值。
3.Fisher判別:基本思想是投影,即把K類的m維數據投影(變換)到某個方向,使得變換后的數據,同類別的點“盡可能聚在一起”,不同類的點“盡可能分離”,以達到分類的目的。
回歸分析
回歸分析(預測):研究相關性關系的最基本、應用最廣泛的方法。就是在掌握大量觀察數據基礎上,利用數理統計方法建立因變量與自變量之間的回歸關系函數式。
1) 線性回歸分析,方法:最小二乘法。
2) 非線性回歸分析:拋物線模型、雙曲線模型、冪函數模型、指數函數模型、對數函數模型、邏輯曲線模型,多項式模型等。方法:非線性模型線性化,最小二乘法。
3) 二項邏輯回歸分析:因變量Y=0,1,可以用于分類決策。
4)基于隨機森林模型的回歸:真實情況自變量既可能包含因子(factor),也可能包含數值的連續性變量,又要考慮自變量對因變量的重要性程度,還可以對將來的情況進行預測。
隨機森林回歸在運維方面的例子
新增設備數影響因素及預測:時間、周幾、新版本發布、廣告宣傳、前一天的活躍設備數、當天的活躍設備數等等。
可以通過兩個指標判斷自變量對因變量的重要程度:
1)%IncMSE:均方誤差遞減意義下的重要性,若此指標值越大則說明此自變量對因變量的影響程度越大,若為0則說明此自變量對因變量沒有任何關系,若為負值則說明此自變量對因變量的變化可能有起到誤導的作用。
2)IncNodePurity:精確度遞減意義下的重要性。計算方法是殘差的平方和(非負),若此指標值越大則說明此自變量對因變量的影響程度越大,若為0則說明此自變量對因變量沒有任何關系。
新增設備數與其他因素影響的數據集范例
new_date week new_ver advertising yestoday_act today_act new_device
636147 星期日 0 0 884 459 79
636148 星期一 0 0 459 701 45
636149 星期二 0 2.8 701 185 13
636150 星期三 0 3.6 185 112 12
636151 星期四 6 3.2 112 827 87
636152 星期五 8 2.8 827 892 32
636153 星期六 9 2 892 716 89
636154 星期日 8 0.8 716 204 98
636155 星期一 7 0 204 157 39
636156 星期二 5 0 157 484 72
636157 星期三 3 0 484 595 42
636158 星期四 1 0 595 592 70
636159 星期五 0 0 592 93 42
636160 星期六 2 0 93 451 89
636161 星期日 5 0 451 582 54
636162 星期一 4 0 582 140 97
636163 星期二 3 0 140 741 61
636164 星期三 1 0 741 809 30
636165 星期四 0 0 809 440 91
636166 星期五 0 0 440 108 65
636167 星期六 0 0 108 304 75
統計分析在運維方面的應用
數據挖掘其他方法在運維方面的應用
數據挖掘其他方法
▲遺傳算法:是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。
一、編碼,不能直接處理問題空間的參數,必須把它們轉換成遺傳空間的由基因按一定結構組成的染色體或個體。這一轉換操作就叫做編碼,也可以稱作(問題的)表示。(C)
二、適應度函數:進化論中的適應度,是表示某一個體對環境的適應能力,也表示該個體繁殖后代的能力。遺傳算法的適應度函數也叫評價函數,是用來判斷群體中的個體的優劣程度的指標,它是根據所求問題的目標函數來進行評估的。(E)
條件:1.單值、連續、非負、最大化;2.合理、一致性;3.計算量??;4.通用性強。
三、基本運算過程如下:簡單遺傳算法:SGA=(C,E,P(0),N,F,G,Y,T)
1.初始化:設置進化代數計數器t=0,設置最大進化代數T,隨機生成N個個體作為初始群體P(0)。(P(0),N)
2.個體評價:計算群體P(t)中各個個體的適應度。
3.選擇運算(F):將選擇算子作用于群體。目的是把優化的個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的
4.交叉運算(G);將交叉算子作用于群體。所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。遺傳算法中起核心作用的就是交叉算子。
4.變異運算(Y):將變異算子作用于群體。即是對群體中的個體串的某些基因座上的基因值作變動。
■群體P(t)經過選擇、交叉、變異運算之后得到下一代群體P(t+1)。
5.終止條件判斷(T):若t=T,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。
▲粗糙集理論:已成為人工智能領域中一個較新的學術熱點, 在機器學習,知識獲取,決策分析,過程控制等許多領域得到了廣泛的應用.
▲模糊集方法:就是指具有某個模糊概念所描述的屬性的對象的全體。由于概念本身不是清晰的、界限分明的,因而對象對集合的隸屬關系也不是明確的、非此即彼的。設A是集合X到[0,1]的一個映射,A:X→[0,1],x→A(x) 則稱A是X上的模糊集,A(x)稱為模糊集A的隸屬函數,或稱A(x)為x對模糊集A的隸屬度。
▲流數據挖掘:一組順序、大量、快速、連續到達的數據序列,一般情況下,數據流可被視為一個隨時間延續而無限增長的動態數據集合。
▲圖挖掘:用于挖掘大型圖數據集的頻繁圖模式,進行特征化、區分、分類和聚類分析。應用于化學信息學,生物信息學,計算機視覺,視頻索引,文本檢索,Web分析等。
▲復雜數據類型的挖掘,包括對象數據,空間數據,多媒體數據,時序數據,文本數據和Web 數據??臻g數據挖掘是指從大數據量的地理空間數據庫中發現有意義的模式;多媒體數據挖掘是指從多媒體數據庫中發現有意義的模式;文本數據是指從文本數據中抽取有價值的信息和知識的計算機處理技術,文本數據挖掘是從文本中進行數據挖掘;Web 挖掘是指從大量的Web文檔集合中發現蘊涵的、未知的、有潛在應用價值的、非平凡的模式,它所處理的對象包括靜態網頁、Web數據庫、Web結構、用戶使用記錄等信息。
在運維方面的應用
作者:陳是維,現任職優云軟件(秉承devops的理念,從監控、到應用體驗,到自動化持續交付,全棧運維解決方案服務商:https://uyun.cn)
原創文章,作者:uyunops,如若轉載,請注明出處:http://www.www58058.com/24203