數(shù)據(jù)分析的準(zhǔn)備工作:從問題分析到數(shù)據(jù)清洗

1 評論 25930 瀏覽 103 收藏 34 分鐘

本文給大家介紹一下數(shù)據(jù)分析前的準(zhǔn)備工作,一共分為四部分:首先是對問題的分析,其次是數(shù)據(jù)的收集,然后是數(shù)據(jù)的預(yù)處理,最后是數(shù)據(jù)的預(yù)分析。

先復(fù)習(xí)一下前幾天,我們學(xué)習(xí)了數(shù)據(jù)分析的框架:

今天我們開始對框架進行詳細(xì)的拆解:

今天首先給大家介紹一下數(shù)據(jù)分析前的準(zhǔn)備工作,一共分為四部分:首先是對問題的分析,其次是數(shù)據(jù)的收集,然后是數(shù)據(jù)的預(yù)處理,最后是數(shù)據(jù)的預(yù)分析。

首先是對問題的分析:

對問題的分析不是今天想要說的重點,但是為了框架的完整性,今天做一些簡單的介紹。關(guān)于對問題本身的分析,人類的知識體系在這方面沉淀了大量的智慧和經(jīng)驗。

其中尤其是以維特根斯坦的語言哲學(xué)分析,還有諾貝爾獎得主西蒙的滿意決策論,還有大量關(guān)于宗教哲學(xué)政治關(guān)于標(biāo)準(zhǔn)和價值觀方面探討的積累。任何一個緯度的敘述,都有可能會窮盡一個人一生的經(jīng)歷。所以今天只能點到為止,簡單給大家做一個介紹。

關(guān)于問題的提出

首先是關(guān)于問題的提出。

問題的提出可能來自老板,也可能來自同事。關(guān)于公司人際關(guān)系的分析,不是我們探討的重點。當(dāng)然這一點在實際工作中尤其重要,因為每個人的精力都是有限的,然而每個人面對的任務(wù)其實是無限的,我們必須有選擇的去完成一些對我們同時對公司重要的項目。

我們首先來看一下,當(dāng)我們面對一個提出的問題的時候,我們是在提問什么?

在大多數(shù)時候都覺得當(dāng)我們需要去解決一個問題的時候,我們需要創(chuàng)造性的提供一種解決方案,實際情況可能和我們的常識不是很一樣。

我們可以想象這樣一種情景:

通常認(rèn)為,在回答一個問題之前,你必須提出那個問題?;蛘?,換個比喻的說法,要找的東西必須是已經(jīng)丟失的東西。

但這是不是真的呢?當(dāng)一個人發(fā)現(xiàn)了一個金礦脈時,是不是大自然丟失了這個金礦脈呢?

如果我們能找到我們不曾丟失的金子,我們就有可能回答我們未曾問過的問題。

現(xiàn)實工作中,我們很多時候當(dāng)面對一個問題的時候,我們往往需要自己尋找一個解決方案,而不是去創(chuàng)造一個解決方法,所以我們工作的重點應(yīng)該是怎么去和我們已有的積累形成聯(lián)系,或者用更加數(shù)學(xué)化的語言描述說。怎么將現(xiàn)實問題映射到我們的模型空間中去,這應(yīng)該是我們的工作重點。

關(guān)于問題種類的分析

有問題種類的分析,我們先來看一下我們?yōu)槭裁匆治鲆粋€問題的種類?,F(xiàn)實中我們面臨的實際問題,它的表達(dá)形式可能是千變?nèi)f化的。然而我們資源是有限的,又不能為每一種問題都去積累經(jīng)驗,都去建立模型。我們只能為一些包含重要特征的問題,去建立模型空間。

所以當(dāng)我們面臨一個問題的時候,首先應(yīng)該去看一下這個問題,它本質(zhì)上在說什么,它的標(biāo)準(zhǔn)形式是什么樣的。

這個過程中,我們首先要做的第一步需要剝離自然語言。這一點比較容易理解,我們平時在說話的過程中,語言中有很多冗余的成分。我們首先要做的就是把這些冗余的成分刪除掉,其次是把我們一些似是而非的名詞替換成我們的標(biāo)準(zhǔn)名詞。經(jīng)過對自然語言的整理之后,我們更容易發(fā)現(xiàn)一個問題的本質(zhì)。

舉個例子:可能大家會更加明白,比如:甲方爸爸給了這樣一個需求:俺們公司最近遇到了一件特別鬧心的事情,一舉辦活動,活躍用戶就少很多,我們很著急,你們快來幫我們看看巴拉巴拉。

以上這段話轉(zhuǎn)化一下就是: 舉辦活動 和 活躍用戶的相關(guān)性分析。

用集合的語言和系統(tǒng)泡泡圖,去重新描述問題。去把一個在復(fù)雜現(xiàn)實情景中的問題,轉(zhuǎn)化為若干研究對象和這些研究對象之間的關(guān)系的問題。

當(dāng)工作進行到這一步的時候,我們就已經(jīng)已經(jīng)可以清晰的看出一個問題說出的類別了。 一般在世界上所有的問題都大概可以分為三類:

  1. 首先是一類探索是什么的問題,也就是關(guān)于一些科學(xué)性的問題。這一類問題的核心特征是科學(xué)研究中對準(zhǔn)確率要求非常高,一般要達(dá)到99.7%以上。在工作中,要求可能并不需要這么高。
  2. 還有一類問題是關(guān)于為什么的問題,也就是關(guān)于一些價值評價標(biāo)準(zhǔn)的問題。日常所說的宗教哲學(xué)政治探討的問題,都屬于這個范疇。這個問題的特征是特別講究多遠(yuǎn),從本質(zhì)上來看,各個價值觀之間它們是沒有可比性的。然而這只是理論上的,實際生活中還是會看到很多大家因為不同價值觀真的面紅耳赤的情況,這一類問題在研究過程中非常體現(xiàn)的是組織的價值觀,還有上級的價值觀。
  3. 還有一個問題是關(guān)于怎么辦的問題,這一類問題本質(zhì)上是屬于一類工程問題。在這類問題中我們要注意的是,我們并不是像求解第一類是什么問題,要追求極高的準(zhǔn)確率,我們追求的是在資源有限的情況下,我們?nèi)绾伟岩患虑樽龅搅鲿?,也就?0分到80分的樣子。也就是說在大多數(shù)的時候,我們求解的不是最優(yōu)解,我們求解的僅僅是一個滿意解而已。 現(xiàn)實生活中我遇到遇到的本質(zhì)性的三類問題,其他任何問題都可以轉(zhuǎn)化為這三類問題,或者轉(zhuǎn)化為這三類問題的組合。

這三類問題在模型空間里也有標(biāo)準(zhǔn)的對應(yīng)形式,價值觀的探索問題,本質(zhì)是一類標(biāo)記或者分類問題。關(guān)于是什么的探索問題,往往是一類預(yù)測相關(guān)性的問題。 關(guān)于怎么辦一類的工程問題,本質(zhì)上是一類關(guān)于過程描述模型和概率描述模型的問題。

對問題邊界的邊界分析

對問題的邊界分析就是我們這個問題解決之后,最好可以達(dá)到什么樣的效果,如果問題沒有能夠解決,最壞的結(jié)果是什么樣的。

為什么我們要對問題進行邊界分析?因為我們工作中,面臨的大多數(shù)問題,都是在給定限制條件下尋求滿意解,因為給定了資源限制,也給定了我們能力的邊界。

從更深層次上來看,一個工程問題優(yōu)化的空間永遠(yuǎn)都是有限的。

為什么呢?

因為從本質(zhì)上來看首先對問題的測量就有很大誤差,然后圖靈機限制/哥德爾不完備定理/摩爾定律這些底層規(guī)律都對工程問題的優(yōu)化做了邊界上的限定。所以,千萬不能以科學(xué)的態(tài)度和方法對待工程問題.。

那么我們?nèi)绾螌栴}進行邊界分析呢?這里給出一個參考思路,我們工作中往往面臨來自三方面的限制:時間/質(zhì)量/成本;我么可以選擇一個必須達(dá)到要求的,然后去調(diào)節(jié)另外倆者的關(guān)系。

比如:我們現(xiàn)在要在放假之前,完成集中周作業(yè)/考試/談戀愛等等若干項目,我們先抓住主要因素:時間,必須在放假之前完成,然后就是質(zhì)量和成本的關(guān)系,成本方面可以削減項目,比如相比交作業(yè)和考試,戀愛就可以先不談了,質(zhì)量方面,追求中等質(zhì)量,作業(yè)不返圖,考試不掛科就可以.

數(shù)據(jù)的收集:

數(shù)據(jù)收集分為內(nèi)部數(shù)據(jù)讀取和外部數(shù)據(jù)收集倆部分,今天主要談內(nèi)部數(shù)據(jù)讀取的問題。

內(nèi)部數(shù)據(jù)收集

1. 數(shù)據(jù)庫種類

關(guān)系型數(shù)據(jù)庫,是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。關(guān)系模型是在1970年由IBM的研究員E.F.Codd博士首先提出的,在之后的幾十年中,關(guān)系模型的概念得到了充分的發(fā)展并逐漸成為主流數(shù)據(jù)庫結(jié)構(gòu)的主流模型。

簡單來說,關(guān)系模型指的就是二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織。

關(guān)系型數(shù)據(jù)庫的最大特點就是事務(wù)的一致性:傳統(tǒng)的關(guān)系型數(shù)據(jù)庫讀寫操作都是事務(wù)的,具有ACID的特點,這個特性使得關(guān)系型數(shù)據(jù)庫可以用于幾乎所有對一致性有要求的系統(tǒng)中,如典型的銀行系統(tǒng)。

但是,在網(wǎng)頁應(yīng)用中,尤其是SNS應(yīng)用中,一致性卻不是顯得那么重要,用戶A看到的內(nèi)容和用戶B看到同一用戶C內(nèi)容更新不一致是可以容忍的。或者說,兩個人看到同一好友的數(shù)據(jù)更新的時間差那么幾秒是可以容忍的。因此,關(guān)系型數(shù)據(jù)庫的最大特點在這里已經(jīng)無用武之地,起碼不是那么重要了。

相反地,關(guān)系型數(shù)據(jù)庫為了維護一致性所付出的巨大代價就是其讀寫性能比較差,而像微博、facebook這類SNS的應(yīng)用,對并發(fā)讀寫能力要求極高,關(guān)系型數(shù)據(jù)庫已經(jīng)無法應(yīng)付(在讀方面,傳統(tǒng)上為了克服關(guān)系型數(shù)據(jù)庫缺陷,提高性能,都是增加一級memcache來靜態(tài)化網(wǎng)頁。

而在SNS中,變化太快,memchache已經(jīng)無能為力了),因此,必須用新的一種數(shù)據(jù)結(jié)構(gòu)存儲來代替關(guān)系數(shù)據(jù)庫。

關(guān)系數(shù)據(jù)庫的另一個特點就是其具有固定的表結(jié)構(gòu),因此,其擴展性極差,而在SNS中,系統(tǒng)的升級,功能的增加,往往意味著數(shù)據(jù)結(jié)構(gòu)巨大變動,這一點關(guān)系型數(shù)據(jù)庫也難以應(yīng)付,需要新的結(jié)構(gòu)化數(shù)據(jù)存儲。

于是,非關(guān)系型數(shù)據(jù)庫應(yīng)運而生,由于不可能用一種數(shù)據(jù)結(jié)構(gòu)化存儲應(yīng)付所有的新的需求。因此,非關(guān)系型數(shù)據(jù)庫嚴(yán)格上不是一種數(shù)據(jù)庫,應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合。必須強調(diào)的是,數(shù)據(jù)的持久存儲,尤其是海量數(shù)據(jù)的持久存儲,還是需要一種關(guān)系數(shù)據(jù)庫這員老將。

2. 數(shù)據(jù)庫讀取工具

SQL概述

結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL(發(fā)音:/?es kju? ?el/ “S-Q-L”),是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng),同時也是數(shù)據(jù)庫腳本文件的擴展名。

結(jié)構(gòu)化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng), 可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

SQL語法總結(jié):

  • (選擇全部)SELECT * from celebs;
  • (創(chuàng)建表格)CREATE TABLE celebs (id INTEGER, name TEXT, age INTEGER); (插入行數(shù)據(jù))INSERT INTO celebs (id, name, age) VALUES (1, ‘Justin Bieber’, 21);
  • (選擇某列)SELECT name FROM celebs;
  • (更新信息)UPDATE celebs SET age = 22 WHERE id =1;
  • (添加表列)ALTER TABLE celebs ADD COLUMN twitterhandle TEXT;
  • (處理缺失值)DELETE FROM celebs WHERE twitterhandle IS NULL;
  • (多變量篩選)SELECT name ,imdbrating FROM movies;
  • (唯一篩選)SELECT DISTINCT genre FROM movies;
  • (條件匹配)SELECT * FROM movies WHERE imdbrating > 8;
  • (文本部分匹配單)SELECT * FROM movies WHERE name LIKE ‘Seen’;
  • (文本部分匹配多)SELECT * FROM movies WHERE name LIKE ‘a%’ ;
  • (范圍內(nèi)的數(shù)據(jù))SELECT * FROM movies WHERE name BETWEEN ‘A’ AND ‘J’;
  • (與條件選擇)SELECT * FROM movies WHERE year BETWEEN 1990 AND 2000 AND genre = ‘comedy’;
  • (或條件選擇)SELECT * FROM movies WHERE genre = ‘comedy’ OR year < 1980;
  • (排序)SELECT * FROM movies ORDER BY imdbrating DESC;
  • (選取前幾個)SELECT * FROM movies ORDER BY imdbrating ASC LIMIT 3;
  • (計數(shù))SELECT COUNT(* ) FROM fakeapps;
  • (條件計數(shù)) SELECT COUNT(* ) FROM fakeapps WHERE price = 0;
  • (分組計數(shù))SELECT price ,COUNT(*) FROM fakeapps GROUP BY price;
  • 等等等。

hive概述

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進行運行。其優(yōu)點是學(xué)習(xí)成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。

Hvie是建立在Hadoop上的數(shù)據(jù)倉庫基礎(chǔ)架構(gòu)。它提供了一系列的工具,可以用來進行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)的機制。

Hive定義了簡單的類SQL查詢語句,稱為HQL,它允許熟悉SQL的用戶查詢數(shù)據(jù)。同時,這個語言也允許熟悉MapReduce開發(fā)者的開發(fā)自定義的mapper和reducer來處理內(nèi)建的mapper和reducer無法完成的復(fù)雜的分析工作。

由于Hive采用了SQL的查詢語言HQL,因此很容易將Hive理解為數(shù)據(jù)庫。其實從結(jié)構(gòu)上來看,Hive和數(shù)據(jù)庫除了擁有類似的查詢語言,再無類似之處。

本文將從多個方面來闡述Hive和數(shù)據(jù)庫的差異,數(shù)據(jù)庫可以用在Online的應(yīng)用中,但是Hive是為數(shù)據(jù)倉庫而設(shè)計的,清楚這一點,有助于從應(yīng)用角度理解Hive的特性。傳統(tǒng)數(shù)據(jù)庫都使用的SQL語句,而Hive使用的是HQL語句,在大部分情況下其增刪改查的語句都是類似的。因此廣義上而言,學(xué)會了SQL語句的語法也就學(xué)會了HQL語句。

外部數(shù)據(jù)收集

外部數(shù)據(jù)的收集往往作為我們數(shù)據(jù)收集的補充,對于我們對問題獲得一個外部性的概括認(rèn)知有一定幫助。

優(yōu)秀數(shù)據(jù)源:

  1. 國家數(shù)據(jù) - http://data.stats.gov.cn/index.htm
  2. CEIC - http://www.ceicdata.com/zh-hans
  3. wind(萬得)- http://www.wind.com.cn/
  4. 搜數(shù)網(wǎng) - http://www.soshoo.com/
  5. 中國統(tǒng)計信息網(wǎng) - http://www.tjcn.org/
  6. 亞馬遜aws - http://aws.amazon.com/cn/datasets/?nc1=h_ls 來自亞馬遜的跨科學(xué)云數(shù)據(jù)平臺,包含化學(xué)、生物、經(jīng)濟等多個領(lǐng)域的數(shù)據(jù)集。
  7. figshare - https://figshare.com/ 研究成果共享平臺,在這里你會發(fā)現(xiàn)來自世界的大牛們的研究成果分享,同時get其中的研究數(shù)據(jù),內(nèi)容很有啟發(fā)性,網(wǎng)站頗具設(shè)計感。
  8. github - https://github.com/caesar0301/awesome-public-datasets 如果覺得前面的數(shù)據(jù)源還不夠,github上的大神已經(jīng)為大家整理好了一個非常全面的數(shù)據(jù)獲取渠道,包含各個細(xì)分領(lǐng)域的數(shù)據(jù)庫資源,自然科學(xué)和社會科學(xué)的覆蓋都很全面,簡直是做研究和數(shù)據(jù)分析的利器。

數(shù)據(jù)的預(yù)處理(數(shù)據(jù)清洗):

數(shù)據(jù)清洗(Data cleaning)– 對數(shù)據(jù)進行重新審查和校驗的過程,目的在于刪除重復(fù)信息、糾正存在的錯誤,并提供數(shù)據(jù)一致性。

主要有三種類型:

(1)殘缺數(shù)據(jù)

這一類數(shù)據(jù)主要是一些應(yīng)該有的信息缺失,如供應(yīng)商的名稱、分公司的名稱、客戶的區(qū)域信息缺失、業(yè)務(wù)系統(tǒng)中主表與明細(xì)表不能匹配等。對于這一類數(shù)據(jù)過濾出來,按缺失的內(nèi)容分別寫入不同Excel文件向客戶提交,要求在規(guī)定的時間內(nèi)補全。補全后才寫入數(shù)據(jù)倉庫。

(2)錯誤數(shù)據(jù)

這一類錯誤產(chǎn)生的原因是業(yè)務(wù)系統(tǒng)不夠健全,在接收輸入后沒有進行判斷直接寫入后臺數(shù)據(jù)庫造成的,比如:數(shù)值數(shù)據(jù)輸成全角數(shù)字字符、字符串?dāng)?shù)據(jù)后面有一個回車操作、日期格式不正確、日期越界等。

這一類數(shù)據(jù)也要分類,對于類似于全角字符、數(shù)據(jù)前后有不可見字符的問題,只能通過寫SQL語句的方式找出來,然后要求客戶在業(yè)務(wù)系統(tǒng)修正之后抽取。日期格式不正確的或者是日期越界的這一類錯誤會導(dǎo)致ETL運行失敗,這一類錯誤需要去業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫用SQL的方式挑出來,交給業(yè)務(wù)主管部門要求限期修正,修正之后再抽取。

(3)重復(fù)數(shù)據(jù)

對于這一類數(shù)據(jù)——特別是維表中會出現(xiàn)這種情況——將重復(fù)數(shù)據(jù)記錄的所有字段導(dǎo)出來,讓客戶確認(rèn)并整理。 數(shù)據(jù)清洗是一個反復(fù)的過程,不可能在幾天內(nèi)完成,只有不斷的發(fā)現(xiàn)問題,解決問題。

對于是否過濾,是否修正一般要求客戶確認(rèn),對于過濾掉的數(shù)據(jù),寫入Excel文件或者將過濾數(shù)據(jù)寫入數(shù)據(jù)表,在ETL開發(fā)的初期可以每天向業(yè)務(wù)單位發(fā)送過濾數(shù)據(jù)的郵件,促使他們盡快地修正錯誤,同時也可以做為將來驗證數(shù)據(jù)的依據(jù)。

數(shù)據(jù)清洗需要注意的是不要將有用的數(shù)據(jù)過濾掉,對于每個過濾規(guī)則認(rèn)真進行驗證,并要用戶確認(rèn)。

數(shù)據(jù)清洗方法

一般來說,數(shù)據(jù)清理是將數(shù)據(jù)庫精簡以除去重復(fù)記錄,并使剩余部分轉(zhuǎn)換成標(biāo)準(zhǔn)可接收格式的過程。數(shù)據(jù)清理標(biāo)準(zhǔn)模型是將數(shù)據(jù)輸入到數(shù)據(jù)清理處理器,通過一系列步驟“ 清理”數(shù)據(jù),然后以期望的格式輸出清理過的數(shù)據(jù)(如上圖所示)。

數(shù)據(jù)清理從數(shù)據(jù)的準(zhǔn)確性、完整性、一致性、惟一性、適時性、有效性幾個方面來處理數(shù)據(jù)的丟失值、越界值、不一致代碼、重復(fù)數(shù)據(jù)等問題。

數(shù)據(jù)清理一般針對具體應(yīng)用,因而難以歸納統(tǒng)一的方法和步驟,但是根據(jù)數(shù)據(jù)不同可以給出相應(yīng)的數(shù)據(jù)清理方法。

  1. 解決不完整數(shù)據(jù)( 即值缺失)的方法 大多數(shù)情況下,缺失的值必須手工填入( 即手工清理)。當(dāng)然,某些缺失值可以從本數(shù)據(jù)源或其它數(shù)據(jù)源推導(dǎo)出來,這就可以用平均值、最大值、最小值或更為復(fù)雜的概率估計代替缺失的值,從而達(dá)到清理的目的。
  2. 錯誤值的檢測及解決方法 用統(tǒng)計分析的方法識別可能的錯誤值或異常值,如偏差分析、識別不遵守分布或回歸方程的值,也可以用簡單規(guī)則庫( 常識性規(guī)則、業(yè)務(wù)特定規(guī)則等)檢查數(shù)據(jù)值,或使用不同屬性間的約束、外部的數(shù)據(jù)來檢測和清理數(shù)據(jù)。
  3. 重復(fù)記錄的檢測及消除方法 數(shù)據(jù)庫中屬性值相同的記錄被認(rèn)為是重復(fù)記錄,通過判斷記錄間的屬性值是否相等來檢測記錄是否相等,相等的記錄合并為一條記錄(即合并/清除)。合并/清除是消重的基本方法。
  4. 不一致性( 數(shù)據(jù)源內(nèi)部及數(shù)據(jù)源之間)的檢測及解決方法 從多數(shù)據(jù)源集成的數(shù)據(jù)可能有語義沖突,可定義完整性約束用于檢測不一致性,也可通過分析數(shù)據(jù)發(fā)現(xiàn)聯(lián)系,從而使得數(shù)據(jù)保持一致。

目前開發(fā)的數(shù)據(jù)清理工具大致可分為三類。

  1. 數(shù)據(jù)遷移工具允許指定簡單的轉(zhuǎn)換規(guī)則,如:將字符串gender替換成sex。sex公司的PrismWarehouse是一個流行的工具,就屬于這類。
  2. 數(shù)據(jù)清洗工具使用領(lǐng)域特有的知識( 如:郵政地址)對數(shù)據(jù)作清洗。它們通常采用語法分析和模糊匹配技術(shù)完成對多數(shù)據(jù)源數(shù)據(jù)的清理。某些工具可以指明源的“ 相對清潔程度”,工具Integrity和Trillum屬于這一類。
  3. 數(shù)據(jù)審計工具可以通過掃描數(shù)據(jù)發(fā)現(xiàn)規(guī)律和聯(lián)系。因此,這類工具可以看作是數(shù)據(jù)挖掘工具的變形。

數(shù)據(jù)清洗工具:Python簡介

Python是一種計算機程序設(shè)計語言,是一種動態(tài)的、面向?qū)ο蟮哪_本語言,最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨立的、大型項目的開發(fā)。

設(shè)計者開發(fā)時總的指導(dǎo)思想是,對于一個特定的問題,只要有一種最好的方法來解決就好了。這在由Tim Peters寫的Python格言(稱為The Zen of Python)里面表述為:There should be one– and preferably only one –obvious way to do it. 這正好和Perl語言(另一種功能類似的高級動態(tài)語言)的中心思想TMTOWTDI(There’s More Than One Way To Do It)完全相反。

Python的數(shù)據(jù)清洗實現(xiàn)示:

Python學(xué)習(xí)的一點心理體會

Python的學(xué)習(xí)又是一個大的模塊,本質(zhì)我們其實只是在學(xué)習(xí)如何使用Python的包而已,新人最容易有畏懼心理:我從來沒學(xué)過任何語言,會不會很難?

其實,我們只是把以前用在記憶軟件操作上的時間用在了記憶代碼上,并沒有什么非常難的問題要解決,我們前期只需要明白輸入/輸出是什么就可以,至于中間的原理可以后期去學(xué),甚至可以跳過。

我簡單提兩點注意事項:

  1. 輸入法配置:搜狗輸入法的英文狀態(tài),記得設(shè)置標(biāo)點為英文.
  2. 找有源碼的教程:一邊看,一邊打。有源碼很關(guān)鍵,因為有一個完全正確的對照,比較容易發(fā)現(xiàn)自己錯誤的地方。否則一處代碼錯誤,可能是環(huán)境錯誤,可能是語法錯誤,可能是標(biāo)點錯誤,可能是…..

數(shù)據(jù)的預(yù)分析:

數(shù)據(jù)的描述統(tǒng)計分析:

描述性統(tǒng)計,是指運用制表和分類,圖形以及計算概括性數(shù)據(jù)來描述數(shù)據(jù)特征的各項活動。描述性統(tǒng)計分析要對調(diào)查總體所有變量的有關(guān)數(shù)據(jù)進行統(tǒng)計性描述,主要包括數(shù)據(jù)的頻數(shù)分析、集中趨勢分析、離散程度分析、分布以及一些基本的統(tǒng)計圖形。

  1. 數(shù)據(jù)的頻數(shù)分析:在數(shù)據(jù)的預(yù)處理部分,利用頻數(shù)分析和交叉頻數(shù)分析可以檢驗異常值。
  2. 數(shù)據(jù)的集中趨勢分析:用來反映數(shù)據(jù)的一般水平,常用的指標(biāo)有平均值、中位數(shù)和眾數(shù)等。
  3. 數(shù)據(jù)的離散程度分析:主要是用來反映數(shù)據(jù)之間的差異程度,常用的指標(biāo)有方差和標(biāo)準(zhǔn)差。
  4. 數(shù)據(jù)的分布:在統(tǒng)計分析中,通常要假設(shè)樣本所屬總體的分布屬于正態(tài)分布,因此需要用偏度和峰度兩個指標(biāo)來檢查樣本數(shù)據(jù)是否符合正態(tài)分布。
  5. 繪制統(tǒng)計圖:用圖形的形式來表達(dá)數(shù)據(jù),比用文字表達(dá)更清晰、更簡明。

在SPSS軟件里,可以很容易地繪制各個變量的統(tǒng)計圖形,包括條形圖、餅圖和折線圖等。

數(shù)據(jù)的相關(guān)性探索分析

數(shù)據(jù)(data)是事實或觀察的結(jié)果,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經(jīng)加工的的原始素材。數(shù)據(jù)可以是連續(xù)的值,比如聲音、圖像,稱為模擬數(shù)據(jù)。也可以是離散的,如:符號、文字,稱為數(shù)字?jǐn)?shù)據(jù)。

數(shù)據(jù)相關(guān)性是指數(shù)據(jù)之間存在某種關(guān)系,如正相關(guān),負(fù)相關(guān)。 數(shù)據(jù)相關(guān)性是指數(shù)據(jù)之間存在某種關(guān)系。大數(shù)據(jù)時代,數(shù)據(jù)相關(guān)分析因其具有可以快捷、高效地發(fā)現(xiàn)事物間內(nèi)在關(guān)聯(lián)的優(yōu)勢而受到廣泛關(guān)注,并有效地應(yīng)用于推薦系統(tǒng)、商業(yè)分析、公共管理、醫(yī)療診斷等領(lǐng)域。

數(shù)據(jù)相關(guān)性可以時序分析、空間分析等方法進行分析。數(shù)據(jù)相關(guān)性分析也面對著高維數(shù)據(jù)、多變量數(shù)據(jù)、大規(guī)模數(shù)據(jù)、增長性數(shù)據(jù)及其可計算方面等挑戰(zhàn)。

對于不同測量尺度的變數(shù),有不同的相關(guān)系數(shù)可用:

  1. Pearson相關(guān)系數(shù)(Pearson’s r):衡量兩個等距尺度或等比尺度變數(shù)之相關(guān)性。是最常見的,也是學(xué)習(xí)統(tǒng)計學(xué)時第一個接觸的相關(guān)系數(shù)。
  2. 凈相關(guān)(partial correlation):在模型中有多個自變數(shù)(或解釋變數(shù))時,去除掉其他自變數(shù)的影響,只衡量特定一個自變數(shù)與因變數(shù)之間的相關(guān)性。自變數(shù)和因變數(shù)皆為連續(xù)變數(shù)。
  3. 相關(guān)比(correlation ratio):衡量兩個連續(xù)變數(shù)之相關(guān)性。
  4. Gamma相關(guān)系數(shù):衡量兩個次序尺度變數(shù)之相關(guān)性。
  5. Spearman等級相關(guān)系數(shù):衡量兩個次序尺度變數(shù)之相關(guān)性。
  6. Kendall等級相關(guān)系數(shù)(Kendall tau rank correlation coefficient):衡量兩個人為次序尺度變數(shù)(原始資料為等距尺度)之相關(guān)性。
  7. Kendall和諧系數(shù):衡量兩個次序尺度變數(shù)之相關(guān)性。
  8. Phi相關(guān)系數(shù)(Phi coefficient):衡量兩個真正名目尺度的二分變數(shù)之相關(guān)性。
  9. 列聯(lián)相關(guān)系數(shù)(contingency coefficient):衡量兩個真正名目尺度變數(shù)之相關(guān)性。
  10. 四分相關(guān)(tetrachoric correlation):衡量兩個人為名目尺度(原始資料為等距尺度)的二分變數(shù)之相關(guān)性。
  11. Kappa一致性系數(shù)(K coefficient of agreement):衡量兩個名目尺度變數(shù)之相關(guān)性。
  12. 點二系列相關(guān)系數(shù)(point-biserial correlation):X變數(shù)是真正名目尺度二分變數(shù)。Y變數(shù)是連續(xù)變數(shù)。
  13. 二系列相關(guān)系數(shù)(biserial correlation):X變數(shù)是人為名目尺度二分變數(shù)。Y變數(shù)是連續(xù)變數(shù)。

可視化探索分析

數(shù)據(jù)可視化主要旨在借助于圖形化手段,清晰有效地傳達(dá)與溝通信息。但是,這并不就意味著數(shù)據(jù)可視化就一定因為要實現(xiàn)其功能用途而令人感到枯燥乏味,或者是為了看上去絢麗多彩而顯得極端復(fù)雜。

為了有效地傳達(dá)思想概念,美學(xué)形式與功能需要齊頭并進,通過直觀地傳達(dá)關(guān)鍵的方面與特征,從而實現(xiàn)對于相當(dāng)稀疏而又復(fù)雜的數(shù)據(jù)集的深入洞察。然而,設(shè)計人員往往并不能很好地把握設(shè)計與功能之間的平衡,從而創(chuàng)造出華而不實的數(shù)據(jù)可視化形式,無法達(dá)到其主要目的,也就是傳達(dá)與溝通信息。

推薦學(xué)習(xí)網(wǎng)站:博客園/知乎/網(wǎng)易云課堂/人人都是產(chǎn)品經(jīng)理社區(qū)/GitHub

最后講個小故事:

七十六歲這一年,愛因斯坦因為腹主動脈瘤破裂引起內(nèi)出血,被送到醫(yī)院。這不是什么疑難雜癥,醫(yī)生建議馬上手術(shù),但是愛因斯坦拒絕了。

愛因斯坦說:“當(dāng)我想要離去的時候請讓我離去,一味地延長生命是毫無意義的。我已經(jīng)完成了我該做的,現(xiàn)在是該離去的時候了,我要優(yōu)雅地離去?!?/p>

希望我們離開這個世界的時候也可以這樣說一句:我要優(yōu)雅的離去

 

作者:小祁愛數(shù)據(jù),公眾號:小祁同學(xué)的成長故事

本文由 @小祁愛數(shù)據(jù) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 差點以為看了一遍哲學(xué)文,這怕不是被數(shù)據(jù)分析耽誤了的修仙哲學(xué)家吧hhhhh

    來自上海 回復(fù)