這是一個最好的年代
這是一個最好的年代,是信息爆炸時代。在移動互聯的浪潮下,大家都成了數據的生產者和數據的消費者,給我們帶來了更精彩的生活;企業走在信息智能化的道路上,並在持續在收集,整理,規範著數據,以支持更好的發展。
在這個最好的年代,我們可以更簡便的獲取信息進行學習,娛樂和社交;企業也依靠數據完成更好的發展。數據領域變得熱門,相應的數據分析和挖掘也就變得時尚,而且變得越發的重要。
數據分析的幾個階段
對於以下說明的也是一些企業常規的數據治理的情況。
常規的統計
常規的數據統計分析,求均值,求方差,統計求和等。通過這些統計量直觀的反應數據,但是過於簡單,也只是片面的反應業務運轉情況。這階段最常見的也就是使用Excel等分析軟件進行初步分析。
數據信息化
相關應用系統實現業務信息化(如ERP),在這些系統中的關係數據中,存儲各種的關係數據。這階段主要使用SQL,加上一些展示手段完成分析工作,這時已經可以完成一些複雜的分析工作。
體系化複用化
應用系統越來越多,數據也越來越多,這時複雜到了無法只依靠SQL就可以處理。這時開始數據複用化,構建數據集市,數據倉庫,構造數據總線等。這時數據變得井然有序,且質量較為高,針對構建好的數據,更容易展開專題性的分析,分析複雜度也在增加。
複雜分析
構建商業智能系統,進行對業務數據進行多維分析,提供自動化,靈活的分析,支持即席數據分析,這步在數據已經體系化。在規範化的前提下,構建的時間較長。對於多維分析數據集使用特有的MDX語言進行分析,較難掌握。
挖掘分析並大數據化
深層次的數據分析已經到了挖掘的地步,應用各種的算法,找到數據內部的規律和聯繫,這時完備的分析工具是一方面,更重要一方面是挖掘分析人員。
響應時代的號召要有大數據,但前提你要有大量的數據。但多大的數據可以定義為大數據呢,沒有那個權威機構給出界定,但有專家建議是以5個T的數據為起點。
分析步驟及技術體系
結合相關體系說明
對SQLServer BI體系和Python體系的和mongodb大數據分析體系分析說明,對於這三者體系分別是各個領域和階段較有代表性的。
SQLServer BI體系
其代表了各傳統豪強在數據分析,商業智能領域的發展,諸如:IBM , Oracle,SAP等。特點是集成度較高,易用性可靠性較高,有良好的技術支持,價格死貴,大中型企業偏愛使用。
Python體系
早期統計學,生物學家的熱衷的分析語言之一,所以在分析領域沉澱了較多優秀的分析庫,但要對各個庫結合使用,集成度極差,能發揮多大的作用,主要看使用者能力。免費,但是主要的成本還是在開發人員上。
其代表了開源免費類的工具語言,如R等。但是如果想充分利用,需要有較好的技術基礎,所以受一些互聯網技術公司青睞。
Mongodb大數據體系
新時代挑戰者,MongoDB就可以扮演HDFS的角色來為Spark提供計算的原始數據,以及用來持久化分析計算的結果,但更多的還是大數據體系。
確定問題或目標: 數據驅動業務,當然是為了解決遇到問題或達到更大的目標。需要業務人員,運營人員,管理人員等進行溝通後確認。
明確數據源:在明確了問題或目標後,在目前現有的數據體系中,選擇可供使用的數據源,目前絕大多數來是存儲在關係數據庫中,部分在以文件信息存放或者需要從互聯網上爬取。
數據質量檢測:主要的分析的點就是: 缺失值 ;異常值 ;數據矛盾性分析
對於SQLServer中可以使用SSIS中的 事件嗅探任務對數據質量進行檢查
對於分析的結果
候選鍵配置
可用於ETL中,用於主鍵的列的參考
列Null比率
數據為null的比率,用於數據質量判斷,便於ETL方案制定
列模式配置
判斷列數據的變異長度,即可以發現異常數據的可能性
列統計信息
用於列信息有大體性認識
列長度分佈配置
列值分佈配置
可以獲取較為詳細的值分類信息
對於Python可以使用相關函數進行分析
分析項
分析函數
對應的庫
基礎描述性分析
describe();對數據均值,方差,最大最小值分析
pandas
四分位距分析
Plot();異常數據(過大,過小)分析
pandas
統計量分析
通過統計量,均值,方差等的進一步分析;求極值,求變異性等
pandas,numpy
其他
從數據庫中獲取數據時,編寫合理的sql語句獲取合適的數據,會更利於分析,或是直接使用sql語句對缺失值 ;異常值 ;數據矛盾性分析。對於mongodb中的數據質量檢測,使用的方法應該是類似python,需要需要相應的函數進行分析。
數據清洗(ETL)
在分析了數據質量後,需要對數據進行清洗,裝換和裝載,是一個相對耗時的工作。
對於Sqlserver 使用SSIS中各功能組件進行分析,構建相應的數據流
對於python進行數據清洗中,方向性更為明確,當然也是使用相關函數
清洗項
操作
缺失值處理
刪除數據;插補數據;不處理等,具體處理後續介紹
異常值處理
刪除數據;修正數據;不處理等,具體處理後續介紹
數據變換
單位縮放;標準化;離散化等,具體處理後續介紹
其他
必要的SQL語句進行讓清洗事半功倍,對於mongodb的解決方案,通過已有大數據中的相關工具進行清洗。
構建數據模型
對於SQLServer BI SSAS分為兩種解決方案:使用多維分析模型;或使用構建表格分析模型。
對於Python,在數據抽取清洗後,使用相關分析庫進行分析,主要是 scikit-learn,scipy,keras等,這些抽取的數據是要契合相關庫中函數的數據要求的
使用Excel Pivot構建自助表格分析模型,其操作大體和SQLServer BI中的表格分析模型一樣。
報表呈現
對於SQLServer 使用 SSRS報表系統或者使用PowerBI進行構建報表
對於python,使用matplot輸出分析圖表,後續可以將這些圖表在Web上或者是在ppt中呈現。
這也是一個最壞的年代
各種終端產品收集著大家的數據;
信息消費時代,信息生產者需求更多的消費者,難免的生產寫低俗,無聊的信息。
tip:
接下來,將SQL Server BI 和python 處理步驟的詳細說明。