深刻解讀大資料技術在工業界的應用
大資料及其價值
大資料是近幾年非常熱門的一個概念。到底什麼叫做大資料呢?簡單而言,就是具備4V屬性的資料:
Volume:量非常大,大到一臺計算機所無法處理的資料;
Variety:來源廣泛,包括文字、影象、語音、機器感測器訊號、日算計程式日誌等;
Velocity:產生速度非常快;
Veracity:準確性要求高。
關於大資料,有許多大家耳熟能詳的經典案例,比如沃爾瑪的“啤酒和尿布”案例;Target商場預測17歲女孩懷孕的等。
*對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:458345782,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系 .
通過這些例子,我們可以瞭解到大資料具有非常大的潛力和應用價值。如果能夠分析出資料的潛在含義,它將在生活中的各個領域發揮巨大的作用。
越來越多的企業和組織也確實在挖掘資料的力量。
比如:電商網站會根據使用者的歷史瀏覽記錄做個性化推薦;音樂網站則根據使用者聽歌歷史和有同樣愛好者的聽歌記錄,給使用者推送喜歡的音樂;還有現在非常熱門的自動駕駛、影象識別等技術,都是以大資料為基礎的。
資料
科學
什麼是資料科學?
那麼多資料,通過什麼手段才能挖掘出它們的潛在價值?
在這方面,人們已經做了許多研究和嘗試。資料科學就是這些研究和探索的成果——
資料科學是一門新興學科,專門研究利用資料學習知識。其目標是通過從資料中提取出有價值的部分來生產資料產品。
它也是一門交叉學科,採用資料統計和機器學習的方法,通過挖掘資料背後的潛在含義來幫助人們理解問題,解決問題,從而輔助人類決策。
資料科學結合了諸多領域的理論和技術,包括:
應用數學
統計
模式識別
機器學習
資料視覺化
資料倉庫
高效能運算
等……
新興領域
很多每天都在報道資料科學將是未來一個有前途的新興領域,它會給各個產業都帶來變革。
從“大資料”一詞在中國的普及程度就可以知道,這一概念的熱度非常高。
很多高校都已經開設了資料科學專業或相關課程,那麼我們可以預期,未來資料分析的人才量將會呈指數上升。
不過,到目前為止,資料分析還是一門人才緊缺的學科,專業的資料分析人才還有很大缺口。
本來許多行業都會用到資料分析的知識,因此,很多不同領域的優秀人才紛紛轉向資料分析崗位,這也是當前的一大趨勢。
自學資料科學
其實,只要有志於此,即便沒有在學校裡專門學習過資料科學,也可以通過自學、培訓和交流活動等手段來提升自己。以一種自我驅動的方式掌握這門學科的知識。
可以選擇:
從MOOC網站上學習;
與專業人才進行交流;
參加一些真實場景的比賽;
等,都可以學到非常多的理論知識,並獲得專案經驗。
資料科學家的基本素質
專業通過應用資料科學來解決實際問題的人,叫做資料科學家。
成為資料科學家需要具備哪些知識呢?
資料科學是一門交叉學科,資料科學家必須同時具備計算機、數學和統計的專業知識。
計算機——需要了解基本的演算法和資料結構,命令列操作,能夠編寫爬蟲獲取資料,並掌握如Python,R或Scala這類適合資料分析的程式語言。
統計學——要掌握基本的概率分佈,假設檢驗,以及AB Test的基本知識。
數學——大學高等數學學到的知識,比如微積分,線性代數和概率論。
此外,還需要掌握一些分散式儲存、資料處理等方面的系統和工具,比如 Hadoop, MapReduce, AWS等。
資料科學家還需要具備良好的溝通能力。
這樣才能夠將資料分析的結果展示出去,讓沒有任何背景的人也能很快明白資料背後的真實價值,有什麼具體的用處,以及未來能提高什麼方面的能力。
資料視覺化也是必備技能,因為要在分析結果時做出簡明易懂的圖表。
總的來說,資料科學家需要掌握的東西很多——既要像工科生,會技術;也要像文科生,懂審美;還要像演說家,通過和不同部門溝通交流來理清問題思路,學習業務知識,並最後將自己的結論告訴給別人。
資料
分析的流程
資料科學為解決問題和做出決策提供了一套方法,大概分為5個步驟:
【step-1】定義問題
只有準確地定義了問題,才能知道要解決什麼。
為此,資料科學家需要理解問題背景和業務知識,即business understanding。TA需要理解:
使用者提出這個問題,背後真正的目的是什麼?
能夠幫助使用者改善什麼?
能夠幫助使用者創造多少的價值?
這個問題是不是資料可解的問題?
……
另外,還需要深入理解使用者所在領域的行業理論知識,才能更好地為解決這個問題提供背景知識。
【step-2】獲取資料
在理解了問題背景之後,就可以開始為解決問題尋找可以使用的資料了。
資料的來源多種多樣,資料科學家需要先對資料進行理解,然後才能知道:
現有的資料是否能夠支援我們解決當前問題?
現有資料的質量如何?
還需要什麼資料?
……
【step-3】資料預處理
往往實際收集到的資料質量並不像在課堂專案或者比賽時拿到的資料那麼好。缺失值,異常值是非常常見的。
因此,經常需要花費巨大的精力在資料的預處理上。
資料科學家們天天盯著螢幕看:
資料有無缺失?
如果缺失應該如何處理?
這個值從圖上看偏離很遠,是應該丟棄還是保留其特殊含義?
……
還有,通常情況下,在資料庫當中有大量多對多關係的資料表,關聯十分複雜。理清這些關係就是一個非常勞神且無聊的過程。
往往為後續訓練模型準備好一個切實可用的資料框表,就要花費掉投入整個專案的大部分精力和資源。
日常做專案中,可能70%~80%的時間都用在了這一步。資料分析其實是一個非常乏味的工作。
【step-4】設計分析方法、分析、並評估結果
資料清洗好後,我們就進入了資料分析的核心步驟——決定如何分析資料,從而最大程度發揮它們的價值。
資料分析大概包括如下內容:
【4.1】探索性分析
瞭解資料的欄位含義、資料量;檢查資料質量(有否異常值、缺失值、拼寫或輸入錯誤等)。
【4.2】統計分析
統計各個欄位的資料分佈,最大值、最小值等。
可以運用視覺化手段來發現資料中存在的規律或相關性。
【4.3】資料處理
思考如何提高資料質量:
怎麼處理異常值、缺失值?
資料的特徵是否有用?
是否需要加工特徵?
如何選擇特徵?
……
最後將處理乾淨的資料用於訓練模型。
【4.4】資料建模
資料模型多種多樣,有解決分類問題的模型,也有解決預測問題的模型。
首先我們需要選擇模型型別,之後利用處理好的資料對模型進行訓練,並進行驗證和測試。
然後進入迭代的過程:
需要評估模型在實際生活中是否有用——有時候在訓練時有很高精確度的模型,在實際執行中並非如此。
如果模型在實際應用中反饋比較差,就需要回到問題的定義階段,去了解是否是問題定義不合適,或者是資料特徵不明顯等。
只有不斷迭代才能在實際的生產生活中得到更好的效果。
【step-5】展示結果/結果上線
在獲得了足夠實用的模型,或者分析結果之後,還需要向其他人(使用者、決策者)解釋分析結果,清楚地表達結果的價值。
當模型準備就緒後,可以請工程師部署上線,到產品中去實現其功能。
在工
業界應用大資料的難點
不得不說,大資料技術在工業界的應用相較於新興的網際網路行業,遇到了更多的障礙:
觀念的問題
首先,最核心的還是人的問題。
對於傳統行業的從業人員來說,他們對於大資料知之甚少,既不瞭解資料的價值,也不知道大資料可以為他們做些什麼。
具體表現就是他們常常無法清楚的定義一個問題,甚至不明確到底什麼問題是資料可以解決的。
他們或許認為大資料非常厲害,可以解決任何問題,卻不明白具體要解決什麼問題。
反過來,資料科學家又不是業務領域的專家,對領域知識瞭解甚少,可能會盲目的提出一些專案方向,而這些解決方案對於世界業務又不是很有用。
如此一來,很可能就陷入了“大資料無用”的惡性迴圈。
體制的問題
許多工業企業是大型國企、央企或者大型民企。都存在著一套複雜而緩慢的審批流程。人員又對資料科學持有觀望的態度。
因此在與資料企業分享資料資源上會非常困難。
總要花費大量的時間和業務人員進行溝通,說服他們開放資料給資料專業人員。
可能資料分析本身用不了太久時間,但為了獲取資料,光申請流程就需要耗費幾個月甚至更久的時間。
資料的問題
客觀而言,工業大資料和網際網路資料也有很大的區別。
工業領域人為錄入的資料非常稀少,大部分資料來自於機器資料(感測器訊號)。本身機器系統相容性不好,導致資料種類繁多,缺乏統一標準。
而且,很多現實的生產環境條件惡劣,所在地偏遠(郊區或者人非常少的地方)。導致資料傳輸不及時,或者精度不可靠,資料質量可能會很差。
甚至因為一些特殊原因,造成資料大部分缺失,使得後期的資料分析偏差嚴重。
多數中小型企業沒有高質量的數字化系統來記錄資料,還在採用非常落後的方式——用紙幣記錄工作流程引數或裝置引數。這些資料可能最後根本就沒有被儲存下來,都被浪費掉了。
而大型企業,則往往擁有多套系統,缺乏同步管理,資料的採集也沒有固定流程和策略,加之資料量龐大,造成最終資料質量不高。
使用者預期管理的問題
到了資料建模階段,還會遇到很大的問題:工藝人員往往非常關心模型的可解釋性和控制性。
如果運用非常複雜的演算法,比如SVM或者神經網路,是無法解釋問題的,這時工藝人員則會有疑惑。
即使這些高階演算法取得非常好的結果,他們也不是很放心。他們需要在任何時刻都能對模型進行控制。
資料科學家用高階的神經網路去做,但把訓練好的模型交給工藝人員後,會收到他們的質疑。這也是在工業資料分析中比較無奈的一點。
模型質量和效率的問題
在工業大資料分析中,使用者普遍對模型的精度要求更高,容錯率更低。
因為分析結果都是要投入的實際的生產操作環節當中去的。如果不能保證精度的話,可能會造成很大的損失。
比如在化工生產環節,如果資料分析模型的結果出現紕漏,是有可能造成重大事故的!
所以,在得到可靠驗證之前,不應該把模型應用到生產環節。
另外,工業IOT的通訊頻率一般在毫秒級別。機器產生資料的數量也非常龐大,一般都是按TB來計算的。
因此工業大資料對於資料的傳輸和儲存有很高要求,需要制定一套定製化的資料儲存解決方案,才能符合工業大資料的場景。
而且,工業資料通常是時序資料,也就是和時間相關的一種資料型別。故而需要時序資料庫來儲存這些資料。
這種時序資料庫又必須具備分散式運算的能力,並能夠容納多元、異構的資料,對於資料的採集和存取都必須在毫秒級別。
儲存資料的平臺需要有基本的資料分析和視覺化能力,還能夠相容不同的工業協議介面。
如此之多的要求,都是其他領域的資料分析很少遇到的。
工業
大資料應用場景
我們來看兩個工業大資料分析中的典型場景:
故障預警
傳統工業界的做法:裝置的維護髮生在故障之後。
一旦裝置發生了故障,首先需要停機;然後會花費很長時間去尋找問題來源;之後才實施維修。
顯然這樣會耽誤生產執行,造成成本損失。
如果能夠通過分析歷史的工礦資料,瞭解裝置在正常執行下的引數,歷史上發生問題時引數的變化,就可以通過分析工礦資料來建立大資料模型,做到故障預警——當裝置出現同樣問題之後(真正發生故障之前),裝置就會發出預警。
這樣,維修人員就能在裝置停機之前對其進行維修處理。
通過分析歷史上經常損壞的裝置和部件資訊,就可以提前準備部件,避免當裝置出現故障的時候再去採購。這也降低了零部件更換過程中的等待時間。從而提高整體的企業執行效率效率。
產品質量優化
提高產品的良品率也是大資料在工業界應用的一大場景。
在生產過程中,工作人員往往無法實時對引數進行優化,只能在生產結束後對產品進行檢測,並且回溯到生產時的裝置引數,再進行研究。
這樣就產生了滯後性——無法在生產過程中阻止不良產品的生產。
如果通過對歷史工藝的引數分析,發現最優的引數組合,並在裝置生產的過程中實時監控這些工業引數的變化,隨時進行調整,就能夠有效提高產品的良品率,減少不必要的損失。
因此在工業中,對於裝置有一個全生命管理週期的概念,這也是工業大資料中一個重要的領域。
工業
大資料應用的前景
道路曲折,前途光明
傳統工業企業從自身的儲備而言,一般不具備大資料分析的能力,需要引入網際網路大資料的技術和人才。
但因為傳統行業偏保守,想要進入其中非常困難。
不過,一旦被工業企業認可,就會發現一片×××。可惜很多人往往在此之前就倒下了。
在做工業大資料分析的時候,首先需要一兩個成功的、可落地的案例,讓工業界人士看到之後,跨過心裡這道坎,才會願意分享資料,探討行業知識。
因此必須有足夠的耐心的和傳統工業人士溝通,需要花費很長時間在交流和獲取他們的信任上。
進入到正式工作階段後,在定義問題時,就要搞清楚:問題到底是不是是資料可以解決的。
不是所有的投資都有回報,也不是所有的問題都能用資料解決,但是一定有能夠用資料解決的問題。
最好的方法就是坐下來和傳統工業企業內的行業專家進行交流,通過不斷迭代提出真正可解決的資料方案。
不僅是和具體的執行人員溝通,還需要對企業的決策者進行宣貫、交流。他們瞭解了大資料,才會有膽量去嘗試。
工業大資料分析一般是從大型企業開始採用的。通過大企業的應用落地,再同類型進行推廣,比較容易被其他企業借鑑。
而對於中小企兒,讓他們用大資料方法解決問題之前,需要為他們建立一套完善的資料收集機制,讓他們先能夠收集資料。待資料完善後,再做進一步的分析。
不必迷信大資料
傳統行業的問題,也不是一定要有大資料才能解決的。
對於工業大資料來說,不管生產中的工藝引數還是特徵,如果單純將這些資料整理好放入模型進行訓練,往往不會取得好的效果。
更加重要的是要去理解這些資料背後的物理意義。
有時候運用機理模型或者專家經驗可以闡釋出新的特徵。這樣比簡單地把資料扔進模型好得多。
資料分析只是一個輔助的方法,依據行業內積累已久的業務經驗和理論進行分析,結果可能會比大資料更加可靠。
所以,對於很多有志於從事工業大資料的人來說,一定要增加自己的領域知識積累。
另外,很多情況下工業資料量很小,通過簡單的統計分析就可以得出結論,而不必採用什麼炫酷的大資料技術。
在與使用者溝通的時候,我們既要強調大資料的實用性,又不能盲目地說大資料能解決所有問題。也要承認很多問題不用大資料也能解決。
*對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:458345782,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系 .