1. 對數據驅動的認識
數據驅動,其根本在數據。一切一切的前提在於數據一定是要真實的,虛假的數據就算再能擬合某個演算法或者模型,總歸還是一句夢囈。
不能轉化為規律數據是駁雜的,毫無意義的。但是如果沒有數據作支撐,任何所謂的模型、演算法、規則都是無水之源。2個點可以擬合無數種函數,而20萬個點可能只有幾只函數可以擬合,甚至無法擬合。
但是這個過程是令人振奮的:隨著可靠數據的增加,可以擬合的函數一條一條的減少,甚至於出現了一條從未被人發現的,可以解析的曲線。這就如同發現了一條新航路的船長,新航路將帶來無數的絲綢香料。直到這條航路不再適合下一代的船舶航行。
規則=模型==》知識
人的知識來源於對規律的總結,即簡單的函數擬合。
一代又一代的人們通過研究數據總結出了一個又一個的模型,嘗試觀測並描述這個世界。
人的計算能力與接收能力限制了擬合上限,而計算機的出現一定程度上緩解了人類的缺陷,同時雲概念的提出,使規則自行演化成為了可能。
對於一個未知的現象,直接寫出一個完美的模型幾乎是不可能的;既然規則可以演化,那麼我們姑且寫一個粗糙的模型,然後投以大量的可靠數據(最好符合特徵),讓其不斷精確參數,逼近最終的結果。
2. 什麼是 控制流驅動 什麼是數據流驅動
的
----------------------------------------------------------------------
什麼是數據驅動呢?很大一部分人肯定認為數據驅動就是把需要參數化的東西寫在EXCEL里,然後在跑腳本時調用。如果我告訴你,這其實不是數據驅動,而只是較高級的參數化,你肯定會很驚訝!現在我來解釋一下:首先為什麼叫數據驅動呢,那麼它肯定有驅動的含義,比如你用EXCEL可以控制測試的業務流嗎?回答是不能的。那又如何作到驅動呢?所以說我們將測試數據放在獨立的文件里只是高級的參數話。而數據驅動,你必須有數據來控制測試的業務流。比如你測一個WEB程序,有很多頁面,你可以通過一個數據來控制每次是再哪個頁面下工作的(即通過數據來導航到相應的頁面)。它是關鍵字驅動的低級版本,他控制的是函數級的,而關鍵字是控制動作級的。
3. 自動化測試中,數據驅動是什麼
數據驅動的自動化測試框架是這樣的一個框架,從某個數據文件(例如ODBC源文件、Excel文件、Csv文件、ADO對象文件等)中讀取輸入、輸出的測試數據,然後通過變數傳入事先錄制好的或手工編寫的測試腳本中。其中,這些變數被用作傳遞(輸入/輸出)用來驗證應用程序的測試數據。在這個過程中,數據文件的讀取、測試狀態和所有測試信息都被編寫進測試腳本里;測試數據只包含在數據文件中,而不是腳本里,測試腳本只是一個「驅動」,或者說是一個傳送數據的機制。
4. 什麼是數據驅動
數據驅動開發也就是說基於持久層的設計來完成整個模塊開發的過程。Java界在這方面也是引起了重視、由此推出的bstek,就是在java方面的數據驅動上做到了實現。
數據驅動的開發由定義持久層(數據表或持久層對象)、創建數據集(查詢語句)以及綁定數據集至相應的表現層組件(樹、表格)三個步驟來完成,此時基於此數據集的顯示、維護、查詢等均得到了實現
5. 什麼是數據驅動,數據驅動的定義是什麼
(1)客戶模塊:主要是「關系數據飛輪」:企業與客戶的連接方式發生了根本的轉變,傳統的渠道商和中間商被逐漸弱化,由客戶直接連接品牌成為未來發展的趨勢;人群就是傳播,有界面的地方就需要營銷,產品和消費者接觸的界面就是營銷點;企業可依據O2O 的23 個接觸點的關系數據,進行全渠道管理、全媒體營銷。
(2)產品模塊:主要是「價值數據飛輪」:產品的研發設計源自用戶反饋、參與的數據;產品價值中,信息部分的價值越來越高,如特斯拉機械部分成本不到30%,但信息部分的成本很高;一定要將產品設計分為標品和非標品兩類,把標品價格壓低,和對手競爭,提高非標品價格,獲得利潤。
(3)基礎設施模塊:在基礎設施模塊,主要是「平台數據飛輪」:內外部資源平台化,基礎設施以前是企業自己的生產平台,這些年可以是自己的,也可以是合作夥伴的,甚至是社會化的;從彈性製造到眾包眾籌,甚至物流,都可以視為企業的數據資源平台。
(4)盈利模式模塊: 盈利模式悄然發生改變:營收方式的彈性化和交易方式去風險化,收費到免費,一次交易到多次交易,直接付費到第三方付費,這就意味著消費者在買東西時會不再猶豫,多次交易也沒有後顧之憂。由此形成了企業「盈利模式飛輪」。
6. 數據驅動的思維方式包含哪五個方面
每日干貨好文分享丨請點擊+關注
歡迎關注天善智能微信公眾號,我們是專注於商業智能BI,大數據,數據分析領域的垂直社區。
對商業智能BI、數據分析挖掘、大數據、機器學習,python,R感興趣同學加微信:fridaybifly,邀請你進入頭條數據愛好者交流群,數據愛好者們都在這兒。
本文作者:天善智能聯合創始人&運營總監 呂品,微信:tianshanlvpin,原文發表於天善智能服務號,歡迎討論交流。
開篇語
看過不少講解大數據思維的文章,文章的一些觀點能夠帶給我很多的啟發,很有見地也很受用。在跟一些企業的負責人聊起大數據項目規劃和建設的時候,發現大家對大數據並不缺少自己的認識和看法,只是這些認識和看法沒有被系統性的組織起來,形成一個比較有深度的思考問題、解決問題的套路。
這篇文章結合我在和一些朋友溝通過程中看到的一些問題,將大數據思維和價值做了一些聚焦和分解。我來拋磚引玉,希望這篇文章能夠讓大家從另外的一個角度去了解和思考一下到底什麼是大數據思維和價值。
這篇文章適合企業高層、即將或者正在規劃大數據項目、思考如何對大數據進行頂層設計、大數據項目管理人員一讀。作為補充,我在此也推薦幾篇文章以豐富大家思考問題的維度(角度):
【概念篇】大數據思維十大核心原理
【分析篇】趨勢 | 大數據應用落地分析
【案例篇】深入解讀民生銀行阿拉丁大數據生態圈如何養成
【案例篇】大數據如何聚焦業務價值,美的大數據建設的啟發
本文作者:呂品 天善智能聯合創始人
本文整理自 2017年3月3日 美雲智數新品發布會數據雲分論壇呂品的演講內容
人人必談大數據
說到大數據,大家並不陌生,從各種自媒體、線上線下沙龍,包括生活中大家經常提起。早在 2010 年之前,國內的很多互聯網公司都已經在處理 「大數據」,只不過那時對大數據還沒有一個清晰的定義。2013 年起,我們注意到在國內大數據這個詞開始火了,火到什麼程度? 舉個例子:我每次回家,家裡的親人朋友都在問我是做什麼的,我說我們是搞商業智能 BI 的,基本上聽不懂。什麼把數據變為信息、信息產生決策,什麼 ETL、報表,幾乎是懵圈的。後來提了一句,我們有一個技術網站,裡面都是玩數據的,比如大數據、數據分析、數據挖掘...。「大數據啊!大數據我知道!」,我問什麼是大數據,回答很簡潔乾脆:「大數據就是數據大唄!」。
其實這種理解不能說錯,只能說不全面,但是從某種角度上來說大數據還是比較深入人心的,「大數據」這三個字起到了一個很好的名詞普及作用,至少不會像商業智能 BI 那樣很難用一句或者幾句話讓大家有個哪怕是很基礎的概念。
大數據 4V
我們經常提到的大數據四大特徵:4個V
Volume 數據容量大:數據量從 GB 到 TB 到 PB 或以上的級別。
Variety 數據類型多:企業在解決好內部數據之後,開始向外部數據擴充。同時,從以往處理結構化的數據到現在需要處理大量非結構化的數據。社交網路數據採集分析、各種日誌文本、視頻圖片等等。
Value 價值高,密度低:數據總量很大,但真正有價值的數據可能只有那麼一部分,有價值的數據所佔比例很小。就需要通過從大量不相關的、各種類型的數據中去挖掘對未來趨勢和模型預測分析有價值的數據,發現新的規律和新的價值。
Velocity 快速化:數據需要快速處理和分析。2010年前後做過一個美國醫療保險的數據遷移項目,有一個 ETL 需要處理該公司幾十年的歷史文件和歷史數據,文件數據量很大,並且邏輯非常復雜,一個流程幾十個包,一趟下來 35 個小時執行完畢。這種情形如果放在現在的互聯網比如電商平台很顯然是不允許的。比如像電商促銷、或者要打促銷價格戰,實時處理傳統的 BI 是無法完成的。對有這種實時處理實時分析要求的企業來說,數據就是金錢,時間就是生命。
我相信上面提到的大數據的四個 V、核心特徵還是比較容易理解的。如果我們不是站在技術層面去聊的話,大家對大數據或多或少都會有一些比較接近和類似的看法,並且在理解和認識上基本也不會有太大的偏差。
但是當我們談到大數據,大家真正關心的問題在哪裡呢? 從技術角度大家可能關心的是大數據的架構、大數據處理用到了什麼樣的技術。但是站在一個企業層面,特別是在著手考察或者規劃大數據項目建設的負責人、企業高層來說,更多關心的應該是下面這幾個問題:
1. 大數據到底能幫我們企業做什麼,或者說能夠帶給我們企業什麼變化。上了大數據對我們有什麼用,會有什麼樣的改變,是經營成本下降、還是幫我們把產品賣的更多?
2. 我們的企業現在能不能上大數據?如果不能上大數據,為什麼,那又需要怎麼做?
3. 我們企業也想跟隨潮流上大數據,問題是要怎麼做。需要准備什麼,關於投入、人才、還缺什麼、需要用到什麼樣的技術?
4. 我們怎麼驗證這個大數據項目是成功還是失敗,我們判斷的標準是什麼?
我相信這些問題都是大家比較關心的一些點,包括我自己。我們目前還是以 BI 分析為主,但我們也會去爬一些外部的數據,後面也在規劃大數據相關的一些項目和開發。
當然大數據這個話題是非常大的,我們很難從一個或者兩個角度把這些問題回答的非常全面。但是我覺得有一點是我們的企業高層或者決策者可以注意的:在規劃和考慮大數據的時候需要具備一定的大數據思維,或者說是面對大數據時我們所要具備的考慮問題和看問題的角度。
大數據思維方式
大數據思維方式我簡單概括為兩個方面:第一個是以數據為核心、數據驅動的思維方式。第二個是業務核心,業務場景化的思維方式。
以數據為核心、數據驅動的思維方式包含這幾個方面:
1. 盡可能完善自己的數據資源。我們手上握有什麼樣的數據資源,我們數據資源的質量如何?
企業需要關注和梳理我們有什麼樣的數據,以前是關注企業的流程,IT的流程、業務流程再造。現在大多數企業這些 IT 基礎和應用的建設都已經完成了,更加關心的應該是在我們的企業里到底握有什麼樣的數據資源,在不同的行業我們的數據主題是不一樣的。
比如電商零售行業,我們考慮更多的可能是消費數據、涉及到用戶、產品、消費記錄。因為我們可以圍繞這些數據比如做用戶畫像、精準營銷、定製化的產品、產品的市場定位分析等等。
比如製造生產行業,我們涉及更多的數據可能是產品本身、我們的生產流程、供應商等。因為我們可以圍繞這些數據比如做我們的生產質量檢查、降低生產成本、工藝流程再造等。
只有了解我們目前自身的數據資源,才能知道我們還缺少哪些數據資源。而這些缺少的數據資源從哪裡來,如何獲得,就是我們在規劃大數據項目的時候是需要解決的。如果缺乏這種意識,等在規劃和上大數據項目的時候你的大數據資源非常有限的。
2. 增加數據觸點、盡可能多的去收集數據,增加數據收集和採集渠道。大數據的建設和大數據分析它是一個迭代的過程,很多的分析場景都是在不斷的探索中找出來的,它有一定的不確定性。正是因為這種不確定性所以才需要我們盡可能收集更多的數據。
現在是移動互聯網時代,人人都是數據的生產者和製造者。比如每天的社交數據、互聯網點擊網路的數據、刷卡消費的數據、電信運營、互聯網運營數據。像我們的製造和生產行業,有自動化的感測器、生產流水線、自動設施的數據等。有些數據放在以前可能不值錢,但是現在看呢?這些數據現在或者在將來的某一天就會變得很有價值。
比如像我最開始提到的那家美國醫療保險公司,我看過他們的 COBOL 代碼注釋都有是七幾年、八幾年前的。他們積累了幾十年的數據,突然在 2010 年前後開始意識到數據的價值了,開始通過數據進行一些變現了。之前知道這些數據的價值嗎?不知道,但是嘗試到數據的甜頭,比如做自己的數據分析,咨詢機構購買一些脫敏的數據,或者給咨詢機構提供數據做市場研究用途。
所以大數據的構建不會是一天兩天的,這個過程會持續很長的時間,我們需要為將來做准備。所以如果你的公司連個最簡單的業務系統,IT 應用系統都沒有,數據連存放的地方都沒有,怎麼能夠上大數據呢?不合理。
數據越多,數據種類越豐富,我們觀察數據的角度維度就越豐富,我們利用大數據從中就能夠發掘出以前更多沒有看到的東西。
3. 數據開放和共享思維。這一點在我們國內其實說起來很容易,但是實際上很難。
去年的時候我去看了一個市公安局的大數據項目(可參看這篇文章 政府大數據面臨的問題和阻力在哪裡?),他們有兩點意識非常好:
1)非常清楚的知道自己擁有哪些數據資源。比如市公安局以及下屬分局、各個支隊各個應用系統的數據:基礎的人口管理、信訪、犯罪信息、情報。包括數據監控所涉及到的鐵路、網吧、民航購票、ETC 卡口等。
2)為了納入更多的社會化數據資源、實現全行業的數據覆蓋,他們准備接入交通、服務、科技信息化、教育、社保、民政等各個行業的數據。包括他們給下面的單位下了數據的指標,每個單位或者每個民警都有這種收集數據的指標,比如哪個單位今天上傳了什麼樣的多少數據,每個月哪個單位上傳的最多,這都是很好的數據收集的意識。
但問題在哪裡?問題在於很多機構比如銀行受國家政策限制很多數據是沒有辦法共享的、還有像教育機構,我憑什麼把數據給你,在行政上大家是並級的機構。
所以這個時候就需要考慮數據開放和共享的思維,在滿足數據安全性的基礎之上我們可以不可以考慮數據互換共享的可能。公安局有的數據一定是教育機構沒有的數據,那麼同樣的教育機構有的數據,公安機構也不一定有。如果兩者數據在某種程度上形成共享,在保證數據安全和不沖突的情況下是可以創造出更多的社會價值的。比如公安局可以提供教育機構關於各個地區犯罪率的信息,包括交通安全事故多發地等,教育機構可以針對
7. 試舉例說明什麼是數據驅動的智能軟體
數據驅動的智能軟體,又稱為功能測試,是把測試對象看作一個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟體產品的功能,不需測試軟體產品的內部結構和處理過程。數據驅動測試注重於測試軟體的功能性需求,也即數據驅動測試使軟體工程師派生出執行程序所有功能需求的輸入條件。數據驅動測試並不是白盒測試的替代品,而是用於輔助白盒測試發現其他類型的錯誤。
8. 什麼是基於數據驅動的前端框架
如果只談前端,那麼問題就會簡化很多,一般來說,會比較 「數據驅動」 與 「事件驅動」。數據驅動思想的出現一定程度上彌補了事件驅動的不足。
先說事件驅動,一個很典型的例子就是 jQuery。用 jQuery 開發的頁面執行初期就像這樣:
通過特定的選擇器查找到需要操作的節點 -> 給節點添加相應的事件監聽
響應用戶操作,效果是這樣:
用戶執行某事件(點擊,輸入,後退等等) -> 調用 JavaScript 來修改節點
這種模式,對於業務需求簡單的頁面來說沒什麼問題。只是現在前端越來越復雜,光用這樣的模式已經滿足不了很多大型項目的需求。另一方面,找節點和修改節點這件事兒,效率本身就很低。因此出現了數據驅動模式,我們就拿其中的一種,MVVM 來舉例子,執行初期就像這樣:
讀取模板,同時獲得數據,並建立 VM(view-model) 的抽象層 -> 在頁面進行填充
要注意的是,MVVM 對應了三個層,M - Model,可以簡單的理解為數據層;V - View,可以理解為視圖,或者網頁界面;VM - ViewModel,一個抽象層,簡單來說可以認為是 V 層中抽象出的數據對象,並且可以與 V 和 M 雙向互動(一般實現是基於雙向綁定,雙向綁定的處理方式在不同框架中不盡相同)。
針對用戶的操作,大致是這樣:
用戶執行某個操作 -> 反饋到 VM 處理(可以導致 Model 變動) -> VM 層改變,通過綁定關系直接更新頁面對應位置的數據
總結一下,可以簡單的這么去理解:數據驅動不是操作節點的,而是通過虛擬的抽象數據層來直接更新頁面。我覺得,主要就是因為這一點,數據驅動框架才得以有較快的運行速度(因為不需要去折騰節點),並且可以應用到大型項目。