最近網上盛傳兩千萬酒店使用者資料洩漏,出於好奇,我也從網上下載了一份下來。本次下載純粹是出於學習和研究用,不會做什麼壞事,不要問本人要下載地址,大家自己找。由於本人並不是學統計和資料探勘方面的,所以只能淺顯的做做統計分析,下面開始我們的學習和研究。
首先,資料來源只有一個表(總資料2005W),裡面主要存放了使用者的姓名、證件型別,證件號碼,生日,性別,住址,手機號碼,郵箱等私人資訊。這些資料應該是從多個資料來源整合進來的,因為裡面的格式很不工整,有些預設值使用的也不一樣。我們要做資料分析,那麼需要進行資料清理,然後建立Cube,使用ETL轉換成維度模型,最後使用各種前段呈現工具進行展示。
資料清理
主要是去除字串首尾的空格,還有就是很多資料是沒有生日和性別的值的,但是我們知道,通過身份證號碼就能夠推斷出生日和性別,所以這部分資料可以補齊。另外還有就是資料重複問題,我們可以把身份證號碼作為主鍵進行去重,我搜尋了下,有相同身份證號碼的大概佔總資料的0.5%,所以我也就沒有做去重工作,認為裡面的資料都表示一個獨立的人。
多維分析模型
有姓名,我們可以對姓氏分佈進行分析,有了身份證號碼,我們可以對出生地(省、市、區)進行分析,對出生的年月分佈進行分析,對性別分佈進行分析。住址由於格式太不一樣,就不分析了,有了手機號碼我們可以對手機號碼段的分佈進行分析,也可以對使用者所在地進行分析(絕大多數使用者使用的手機號就是平時生活所在地的號),有了郵箱地址可以對域名進行統計。
要得到身份證對於的地區,以及電話號碼對應的地區,可以從網上找到對應表,匯入資料庫中即可進行聯合分析。
出生年月和性別
在建立了多維模型後,使用Excel連線Cube進行多維分析是個很簡單的事情。下面我們看看所有人員的年齡分佈。
我們可以看到,住酒店的人主要集中在1962~1990年左右,由於我們的資料是Budget Hotel(比較廉價的酒店)資料,可以想象,住這些酒店的都是社會的中低層,高富帥和官二代是肯定不住這種酒店的,窮的很的那就只有住更廉價的招待所或者睡火車站了。住酒店的人的年齡段大部分都還在工作,看來很多人住酒店還是因為商務的原因。從16歲到20歲左右的酒店人數還是少數哈,並不是傳說的都是約炮資料。
下面再來對比一下各年齡段性別上的分佈。(為了便於觀看主體資料,我把時間段縮短成1949~2000)
從圖中可以看到,在1990年之前出生人裡面,住酒店的男性比例遠高於女性,畢竟出差的人還是以男性居多吧,這個資料可以理解。但是在90後的年齡段裡面,女性比例和男性比例基本是1:1,甚至還有些資料是女性比例高於男性,90後才剛跨入社會開始工作,或者還沒有開始工作,所以不存在大量男性出差的問題,但是為什麼女性比例會比男性比例高呢?這個問題有意思,留給大家自己YY。
省份分佈
我們可以從身份證號碼前2位知道一個人在出生上戶口的時候所在的省份,可以統計每個省份的住酒店人數。本身統計這個沒什麼意思,把全國人口統計資料拿出來比較就比較有意思了。下面看看做出的表。
省份 | 酒店排行 | 人口排行 | 上升名次 |
江蘇 | 1 | 5 | 4 |
山東 | 2 | 2 | 0 |
浙江 | 3 | 10 | 7 |
河南 | 4 | 3 | -1 |
安徽 | 5 | 8 | 3 |
湖北 | 6 | 9 | 3 |
上海 | 7 | 24 | 17 |
河北 | 8 | 6 | -2 |
遼寧 | 9 | 14 | 5 |
山西 | 10 | 18 | 8 |
四川 | 11 | 4 | -7 |
江西 | 12 | 13 | 1 |
黑龍 | 13 | 15 | 2 |
陝西 | 14 | 16 | 2 |
福建 | 15 | 17 | 2 |
湖南 | 16 | 7 | -9 |
廣東 | 17 | 1 | -16 |
北京 | 18 | 26 | 8 |
吉林 | 19 | 21 | 2 |
內蒙 | 20 | 23 | 3 |
天津 | 21 | 27 | 6 |
甘肅 | 22 | 22 | 0 |
廣西 | 23 | 11 | -12 |
貴州 | 24 | 19 | -5 |
新疆 | 25 | 25 | 0 |
雲南 | 26 | 12 | -14 |
青海 | 27 | 30 | 3 |
寧夏 | 28 | 29 | 1 |
重慶 | 29 | 20 | -9 |
海南 | 30 | 28 | -2 |
西藏 | 31 | 31 | 0 |
我們可以看到,上海、浙江、山西、北京、天津這幾個地方的住酒店人數排名遠高於人口排名,江浙一帶和京津塘一帶經濟很發達,出差頻繁,可以理解,但是山西為什麼出差那麼多呢?可能山西人有商業的基因吧。
另外就是發現廣東、廣西、雲南、四川、重慶的住酒店人數小於人口排名,廣東很發達啊,怎麼會住酒店的人少呢?可能是因為廣東人喜歡在本地發展吧,出來到處漂的並不多。
上面只是從身份證上得出的省份,下面再看看手機號得出的省份資料,這個資料反映的應該是人們當前工作/生活的省份的情況。
省份 | 酒店排行 | 人口排行 | 上升名次 |
江蘇 | 1 | 5 | 4 |
上海 | 2 | 24 | 22 |
北京 | 3 | 26 | 23 |
山東 | 4 | 2 | -2 |
廣東 | 5 | 1 | -4 |
浙江 | 6 | 10 | 4 |
河南 | 7 | 3 | -4 |
湖北 | 8 | 9 | 1 |
遼寧 | 9 | 14 | 5 |
陝西 | 10 | 16 | 6 |
河北 | 11 | 6 | -5 |
福建 | 12 | 17 | 5 |
山西 | 13 | 18 | 5 |
安徽 | 14 | 8 | -6 |
黑龍 | 15 | 15 | 0 |
天津 | 16 | 27 | 11 |
四川 | 17 | 4 | -13 |
江西 | 18 | 13 | -5 |
湖南 | 19 | 7 | -12 |
吉林 | 20 | 21 | 1 |
內蒙 | 21 | 23 | 2 |
重慶 | 22 | 20 | -2 |
廣西 | 23 | 11 | -12 |
甘肅 | 24 | 22 | -2 |
貴州 | 25 | 19 | -6 |
新疆 | 26 | 25 | -1 |
雲南 | 27 | 12 | -15 |
海南 | 28 | 28 | 0 |
寧夏 | 29 | 29 | 0 |
青海 | 30 | 30 | 0 |
西藏 | 31 | 31 | 0 |
這個資料比上一個資料的差別更大,可以說是非常不平衡,可以看到,上海、北京、天津的商業很發達,人口排名不高,但是住酒店的人口排名非常高。比較杯具的是雲南、四川、湖南、廣西,工作和出差人數遠少於人口基數。
姓名分佈
這裡我只統計了姓,沒有統計名,不過姓名可以先說一下,在所有姓名資料中,重名最高的前10個姓名是:張偉,王偉,王磊,李偉,張磊,劉偉,李強,張勇,王勇,劉洋。相信很多人周圍就有這些姓名的人。重名排行前250位左右的都是兩個字的姓名,看來起三個字姓名的重名率會低很多很多。重名率最高的Top10三個字姓名的是:王建軍,王志強,王建華,王曉東,張建軍,王婷婷,王志剛,張建華,張志強,張婷婷。好像周圍也很容易找到這些姓名的人。
下面還是說姓吧,這個對中國人來說很重要。姓氏很多,網上找了一個前200姓氏人口排名表,拿來和我做出來的資料對比,發現有以下幾個數字比較突出:
- 金姓和陸姓的酒店統計排名遠遠高於人口統計排名。
- 鄧,曾,孔這三個姓的酒店統計排名遠遠小於人口統計排名。
其中原因還得從其他維度去聯合分析,可能是因為有些姓是集中在某個地方吧!
另外一個題外話,在Top200的姓氏人口統計中沒有肖姓,卻有蕭姓,其實這是同一個姓,古時候根本沒有姓肖的,後來由於文革時期的簡體字運動,把蕭簡寫成了肖,後來這個簡寫又被取消了。
出生月份統計
很簡單的一個統計分析,看看一年12個月裡面,哪個月出生的人最多。
從圖中可以看出,10月份的人最多,4月份的人最少。為什麼會這樣呢?可能需要專家來解釋。
手機號段分佈
我這裡取的是手機號碼的前三位,應該哪個最高?我一直以為是138,結果發現是139。
139 | 1399857 |
138 | 1230530 |
135 | 782764 |
136 | 778188 |
137 | 683742 |
186 | 581451 |
159 | 456526 |
158 | 434760 |
133 | 356135 |
150 | 324798 |
移動的號碼佔很大優勢,聯通186和電信的133都排在後面了。看來廣大中低產階級還是選移動的多啊。
本來還可以進一步分析具體是全球通、神州行還是動感地帶的,難得提取了。有需要的話可以再花點時間分析分析。
郵箱域名分佈
郵箱域名裡面,哪個最多?以前聽說是163,後來又聽說QQ郵箱把他超越了,我們還是看資料吧。
前10大郵箱域名排名:
@qq.com | 611842 |
@163.com | 594392 |
@126.com | 274512 |
@hotmail.com | 203237 |
@sina.com | 151798 |
@yahoo.com.cn | 101692 |
@gmail.com | 96346 |
@139.com | 67565 |
@sohu.com | 50179 |
@yahoo.cn | 31274 |
QQ郵箱果然是最多的,不過優勢也不是那麼明顯,而且排第二第三的都是網易的郵箱,加起來就超過QQ郵箱了。
以上只是簡單的分析,其實在進行了很好的資料清洗和模型設計後,我們還可以從中挖掘出很多好玩的地方。尤其是應用上資料探勘演算法,可以造成多個維度之間的相關性,由於工作較忙,時間比較倉促,所以實驗就做到這裡。大家有什麼想分析的話可以留言,我再做做。