1. 教你如何看數據分析
之前跟一個之前在國內最大的數字商品交易平台的同事大哥在一起好好地聊了下,很有收獲。 對於數據,有一個共識就要會看數據,通過合理及透徹的分析來驅動產品,運營及市場策略的調整。但是這些知識看數據的中級階段,高級階段則是通過龐大的多維度的數據分析,能夠預測到未來一個季度,半年甚至一年的業務走勢,當然預測可以有一定的偏差在裡面。還有的就是如果要進入到新業務的擴張上,那麼能夠計算出未來的一定周期內需要有多大的資金投入量,人員投入量,市場及運營資源投入等達到一個什麼樣的規模,或者說反推,我想達到這樣的規模那麼需要多少投入,多長時間。這個是最高階段,在一般情況下也許根本不會觸及到這個方面,少部分能夠做到中級階段基本上已經算是極限了。 互聯網的有諸多領域,每個領域關注的點都不一樣。我這邊先從熟悉的社區和電子商務兩個領域來說起。說到數據首先就是要去了解統計數據、分析數據的維度是有哪些。個人認為一般是有用戶的維度,運營的維度,在社區來說還有內容的維度,在電子商務內部有運營的維度,我把推薦的單拎出來作為一個維度。 一、用戶的維度 從用戶的維度來看網站數據,其實就是通常所說的網站分析層面。這個維度主要來看用戶是通過什麼渠道來到網站,在網站用戶的行為是什麼,主要的目地為市場人員提供推廣效果依據,以及幫助產品人員來分析指南各個網站上哪些頁面,哪些區域及模塊最能夠吸引用戶並及時進行策略調整。 網站分析的第一個數據點用戶來源渠道,用戶是從哪些渠道來到我們的網站上。是直接輸入網站地址,是從收藏夾中打開收藏鏈接,還是在搜索引擎上搜索過來(那麼前二十的搜索關鍵詞都有哪些)。抑或是從微博、各個論壇等一些新媒體上點擊我們網站鏈接進來的。如果網站現階段也在做市場推廣,最好的就是每一個放出去的鏈接都應該帶有獨立統計標識,這樣能夠清楚地看到不同的媒體上不同的廣告位置的流量怎麼樣。這樣市場人員可以通過這些數據來發現能夠為網站帶來穩定流程的渠道,同時剔除掉效果不好的渠道。上面說的前二十的搜索關鍵詞也是做SEM確定關鍵詞的一個重要來源。 第二個數據點是用戶在網頁上行為,就是用戶通過各種不同的方式來到我們網站上後,常有的著陸頁面是哪些,這些頁面都有什麼特點需要好好分析一下。重點關注用戶在頁面上的點擊行為,一般用戶會看幾屏,點擊哪些按鈕或者鏈接的概率大,在各個頁面上的停留時間是怎麼樣的。這些數據產品人員需要多關注,通過分析用戶在各個網頁上的行為,能為我們做產品決策提供很大的依據。 第三個點在用戶訪問路徑上,主要是用戶從進入著陸頁上之後,陸續會到哪些頁面上,最後在哪些頁面上進行注冊登錄操作,在哪些頁面上跳出。由這些數據可以清晰地勾勒出典型用戶的訪問路徑圖,在結合用戶來源渠道一起來分析,就能找到那些渠道上的用戶來到網站之後,訪問深度最高,轉化率從最高,這樣市場人員也可以及時調整策略,對這些流量大,效果好的渠道加大推廣力度。 第四個點是注冊流程,一般來說很多網站的注冊流程並不是很短,都需要至少兩步,有的能到三四步,重點關注這個是因為注冊流程繁瑣,那麼你的推廣做到再好網站各個模塊再易用,最後的轉化率照樣慘不忍睹。通過對這個流程的監測,可以看到有意願注冊的用戶到底在哪些環節流失了,是不是填寫信息太多,是不是發送確認信息失敗等等。 最後總括起來就是,用戶來源渠道,UV,PV,停留時間,網頁點擊熱圖,一跳率,二跳率,訪問路徑,轉化率,市場推廣還應該關注你的CPM,CPC,以及用戶轉化成本等。 二、運營的維度 運營的維度就是用戶到了網站上後續行為,這個方面上社區和電子商務都有自己要去關注的點。 對於電子商務網站來說,用戶的維度的分析是分析用戶來源,運營的維度那就分析收入情況了。第一個數據點是每日的訂單數,這個是要看電商網站整體的銷售情況也是最重要的一個數據指標。第二個就是客單價了,每筆訂單的金額,基本上訂單數和客單價的乘積差不多就是電商網站的整體銷量,與實際情況的差別不是很大。接下來就是要去看訂單支付成功率,很多人都有這樣的經歷在電子商務網站上,我們可能會把很多商品放在了購物車上,但是最後肯那個會刪掉購物車上某些商品,或者說很多訂單最後並沒有被支付。電商的運營人員非常關注這個數據,如果說大量的未支付訂單,就需要去分析問題是出現哪裡。是注冊環節出了問題,還是說支付環節出問題導致用戶支付失敗。 第四個數據點在退貨率,這個數據很重要,如果有大量的退貨對於網站來說損失非常大,同時還要分析退貨的原因是什麼。 第五個就是訂單交付周期,每個訂單從用戶支付成功到送達用戶簽收的時間,當然不同的區域,一線城市和二線城市的交付周期都有差別,但是這是考驗了電商整體的物流水平。 還有一個不為人注意的數據點就是投訴率,電子商務的用戶體驗是一個從線上到線下的全過程,重在服務某一個環節出現差錯都是致命。用戶投訴,往往就是在某個環節出現了問題,留給用戶的印象非常之差。投訴率是電商整體服務水平的體驗,建立一個品牌很難,但是毀掉一個品牌則是非常的容易。 對於電商來說,最後一個重點數據則在用戶的重復購買率或者二次購買率,這個則是考驗了用戶的忠誠度。某個用戶第一次購買體驗非常好,對商品很滿意,那麼產生二次購買行為的概率就非常大。用戶多次購買的時間周期也是一個需要關注的數據點。 對於社區來說,需要關注的運營數據跟電商就有很多差別。以優質內容分享社區為例,每天的新注冊用戶數,登錄的老用戶數,人均PV數是社區整體數據。再下來,社區每天產生的內容有多少,具體到文字,圖片,視頻等各種不同類型的內容各是多少,上前日的增長率是多少,相對於上周或者上月的增長率又是多少。同時,么天新增關注,新增評論,轉發等等,這幾個數據,都是整個社區互動氛圍的整體表現。當然還要考慮流失情況,兩周未登錄,一月未登錄,兩月未登錄各佔到社區總注冊人數的比率,比率越高對於社區產品及運營人員來說是非常危險的,更要好好地去關注。 當然對於社區來說,優質活躍用戶是營造社區氛圍的關鍵。那麼對於這些優質用戶來說,是需要重點來關注的。通過數據來分析,達到優質標準的用戶每周增長多少,每個人本周發布的內容,各個類型的內容以及互動的數量,有多少人是處於瀕臨流失狀態。這些數據都會幫助運營人員調整自己的策略,例如看到很多用戶很活躍,但是發布內容並不好,那麼應該怎麼去引導用戶;還有用戶瀕臨流失,那麼就需要考慮用什麼方法挽回這些用戶。 三、商品及內容的維度 這個維度其實也應該放在運營的維度裡面年,但是這一塊確實很多人都會忽略掉的,所以把這個維度也單拎出來。 在電商中,出了關注網站整體的用戶及銷售數據,還要關注單一品類及單一商品的數據。某一品類的銷量,平均每次購買量,金額,以及退換貨率。對於單一商品也是同樣的數據分析,來看此商品在一定時期內的銷量,訂單數,金額,以及退換貨率。通過這樣的分析就能看到熱門品類和熱門商品的趨勢,後續的運營,營銷或者促銷的選擇就很清晰了。 對於社區來說也是如此,我們要看社區整體的數據情況,但是社區中內容的重要性與人的重要性同等重要。對於優質內容分享的社區來說顯得尤為重要。除了內容的文字,圖片,視頻的不同類型,還有內容本身的分類。包括是攝影,旅行,美食,時尚,動漫,電影等不同標簽的內容。在社區中內容的標簽是用戶自己添加的。那麼需要關注的第一個數據點就是用戶自己添加的標簽有多少是本周內新增的。這樣就可以看到社區每周會要多少新鮮的內容產生。第二就是各個標簽下用戶的發布內容量,每天是多少,每周是多少。最這樣就看出哪些標簽下的內容最活躍,後續相關的運營活動就可以從這裡面找到方向。第三個數據點就是各個標簽下用戶的互動數,包括評論、轉發、收藏抑或喜歡等不同行為操作的數量,這個數據很清晰地顯示了用戶在不同標簽內容中的活躍程度,這是社區氛圍運營及活躍必不可少的數據。
2. 豆瓣電影數據分析
這篇報告是我轉行數據分析後的第一篇報告,當時學完了Python,SQL,BI以為再做幾個項目就能找工作了,事實上……分析思維、業務,這兩者遠比工具重要的多。一個多月後回過頭來看,這篇報告雖然寫得有模有樣,但和數據分析報告還是有挺大差別的,主要原因在於:a.只是針對豆瓣電影數據分析太過寬泛了,具體關鍵指標到底是哪些呢?;b.沒有一個確切有效的分析模型/框架,會有種東一塊西一塊的拼接感。
即便有著這些缺點,我還是想把它掛上來,主要是因為:1.當做Pandas與爬蟲(Selenium+Request)練手,總得留下些證明;2.以豆瓣電影進行分析確實很難找到一條業務邏輯線支撐,總體上還是描述統計為主;3.比起網上能搜到的其他豆瓣電影數據分析,它更為詳細,可視化效果也不錯;
本篇報告旨在針對豆瓣電影1990-2020的電影數據進行分析,首先通過編寫Python網路爬蟲爬取了51375條電影數據,採集對象包括:電影名稱、年份、導演、演員、類型、出品國家、語言、時長、評分、評論數、不同評價佔比、網址。經過去重、清洗,最後得到29033條有效電影數據。根據電影評分、時長、地區、類型進行分析,描述了評分與時長、類型的關系,並統計了各個地區電影數量與評分。之後,針對演員、導演對數據進行聚合,給出產量與評分最高的名單。在分析過程中,還發現電影數量今年逐步增加,但評分下降,主要原因是中國地區今年低質量影視作品的增加。
另外,本篇報告還爬取了電影票房網( http://58921.com/ )1995-2020年度國內上映的影片票房,共採集4071條數據,其中3484條有效。進一步,本文分析了國內院線電影票房年度變化趨勢,票房與評分、評價人數、時長、地區的關系,票房與電影類型的關聯,並給出了票房最高的導演、演員與電影排名。
清洗、去重後,可以看到29033條數據長度、評分、評論數具有以下特點:
結合圖1(a)(b)看,可以看到電影數據時長主要集中在90-120分鍾之間,向兩極呈現階梯狀遞減,將數據按照短(60-90分鍾),中(90-120分鍾),長(120-150分鍾),特長(>150分鍾)劃分,各部分佔比為21.06%, 64.15%, 11.95%, 2.85%。
結合圖2(a)看,可以看到我們採集到的電影數據評分主要集中在6.0-8.0之間,向兩極呈現階梯狀遞減,在此按照評分劃分區間:2.0-4.0為口碑極差,4.0-6.0為口碑較差,6.0-7.0為口碑尚可,7.0-8.0為口碑較好,8.0-10.0為口碑極佳。
這5種電影數據的佔比分別為:5.78%, 23.09%, 30.56%, 29.22%, 11.34%
再將評分數據細化到每年進行觀察,可以發現,30年內電影數量與年度電影均分呈反相關,年度均分整體呈現下降趨勢,2016年電影均分最低,電影數量最多。
進一步做出每個年份下不同評級等級的電影數據佔比,可以發現,近年來,評分在[2.0,6.0)的電影數據佔比有著明顯提升,評分在[6.0,7.0)的數據佔比不變,評分在[7.0,10.0)的數據佔比減少,可能原因有:
對照圖5,可以發現,評分與時長、評論人數的分布大致呈現漏斗狀,高分電影位於漏鬥上部,低分電影位於漏斗下部。這意味著,如果一部電影的評論人數很多(特別是超過30w人觀影),時長較長(大於120min),那麼它大概率是一部好電影。
根據各個國家的電影數量作圖,可以得到圖6,列出電影數量前十的國家可得表格2,發現美國在電影數量上占第一,達到8490部,中國其次,達6222部。此外,法國,英國,日本的電影數量也超過1000,其餘各國電影數量相對較少。這可以說明美國電影有著較大的流量輸入,在中國產生了較大的影響。
進一步分析各國電影的質量,依據評分繪制評分箱線圖可得圖7,在電影數量排名前20的國家中:
接著我們可以探索,哪個國家的電影對豆瓣評分隨年份下降的貢獻最大,考慮到電影數量對應著評分的權重。根據上述各國的電影評分表現,我們可以猜測電影數量較多的國家可能對年度均分的下降有較大影響。於是,我們再計算出這些國家的年度電影均分,並與整體均分進行比較分析。
再作出中國大陸,中國台灣,中國香港的均分箱線圖圖9(a),可以看到,大陸電影均分低於港台電影,且存在大量低分電影拉低了箱體的位置。
分析相關性可得,大陸、香港、台灣電影年度均分與全部評分關聯度分別為R=0.979,0.919,0.822,說明濾去台灣和香港電影,大陸電影年度均分的變化趨勢與全部評分變化更接近。圖9(b)可以進一步反映這一點。
可以看到,大部分類型集中在X×Y=[10000,30000]×[6.00,7.50]的區間范圍內,劇情、喜劇、愛情、犯罪、動作類電影數量上較多,說明這些題材的電影是近三十年比較熱門的題材,其中劇情類電影佔比最多,音樂、傳記類電影平均得分更高,但在數量上較少,動作、驚悚類電影評論人數雖多,但評價普遍偏低。
除此之外,還有兩塊區域值得關註:
根據類型對電影數據進行聚合,整理得到各類型電影評分的時間序列,計算它們與整體均分時間序列的相關性,可得表格4與圖11,可以看到劇情,喜劇,懸疑這三種類型片與總分趨勢變化相關性最強,同時劇情、喜劇類電影在電影數量上也最多,因此可以認為這兩類電影對於下跌趨勢影響最大,但其餘類別電影的相關性也達到了0.9以上,說明幾種熱門的電影得分的變化趨勢與總體均分趨勢一致。
前面已經得知,中美兩國電影佔比最高,且對於均分時間序列的影響最大。在此,進一步對兩國電影進行類型分析,選取幾種主要的類型(數量上較多,且相關性較高)進行分析,分別是劇情,喜劇,愛情,驚悚,動作,懸疑類電影,繪制近年來幾類電影的數量變化柱狀圖與評分箱線圖可得圖12,13,14,15。
對導演與演員進行聚合,得到數據中共有15011名導演,46223名演員。按照作品數量在(0,2], (2,5], (5,10], (10,20], (20,999]進行分組統計導演數量,可以發現,15009名導演中有79.08%只拍過1-2部作品,46220名演員中有75.93%只主演過1-2部作品。忽略那些客串、跑龍套的演員,數據總體符合二八定律,即20%的人占據了行業內的大量資源。
在此,可以通過電影得分、每部電影評論人數以及電影數目尋找優秀的電影導演與演員。這三項指標分別衡量了導演/演員的創作水平,人氣以及產能。考慮到電影數據集中可能有少量影視劇/劇場版動畫,且影視劇/劇場版動畫受眾少於電影,但得分普遍要高於電影,這里根據先根據每部電影評論數量、作品數量來篩選導演/演員,再根據電影得分進行排名,並取前30名進行作圖,可得圖17,18。
結合電影票房網( http://58921.com/ )採集到的3353條票房數據,與豆瓣數據按照電影名稱進行匹配,可以得到1995-2020年在中國大陸上映的電影信息,分別分析中國內地電影的數量、票房變化趨勢,票房與評分、評價人數、時長、地區以及類型的關系,此外還給出了不同導演與演員的票房表現以及影片票房排名。
如圖19所示,國內票房數據與上映的電影數量逐年遞增,2020年記錄的只是上半年的數據,且由於受疫情影響,票房與數量驟減。這說明在不發生重大事件的情況下,國內電影市場規模正在不斷擴大。
對電影數據根據類型進行聚合,繪制散點圖21,可以發現:
提取導演/演員姓名,對導演/演員欄位進行聚合,計算每個導演/演員的票房總和,上映電影均分、以及執導/參與電影數目進行計算,作出票房總和前30名的導演/演員,可得圖22,23,圖中導演/演員標號反映了票房排名,具體每位導演/演員的上映影片數量、均分、每部電影評價人數、平均時長與總票房在表5、表6中給出。
最後根據電影票房進行排名,得到票房排名前20的電影如表格7所示,可以看到絕大部分上榜電影都是中國電影,索引序號為3、10、12、14、18、19為美國電影,這也反映了除國產電影之外,好萊塢大片占據較大的市場。
本篇報告採集了1990-2020年間豆瓣電影29033組有效數據,從豆瓣電影的評分、時長、地區、類型、演員、導演以及票房等信息進行分析評價,主要有以下結論:
3. 爛片成堆,數據分析告訴你為什麼攔不住春節期間看電影
根據貓眼電影的實時數據,截止2018年2月22日下午5時,2018年春節檔的六部中國電影總票房已經突破63.8億元——10億美元。這幾乎是2017年春節檔同期總票房的兩倍。可以說,今年的春節檔電影打破了不少歷史記錄,用實實在在的票房讓大家看到了中國觀眾的觀影熱情。
貓眼大數據顯示,春節期間的主要觀影人群來自三四線城市,而且觀影人群的年齡也較為均衡。也就是說,大齡觀眾的比例增加了。
春節是闔家團圓的日子,也是我國法定假日里最長的假期之一。在春節期間,大家可以說是有大把休閑娛樂的時間。回家過年,百無聊賴,總要打發打發時間嘛!拉著爸媽一起去看電影,也是很時髦的。
隨著近幾年我國電影業的蓬勃發展,大量院線在三四線城市建成,也為觀影提供了必要的硬體條件。再加上,生活在大城市的人大多有去電影院觀影的習慣,當他們返鄉後,也會帶動身邊的親戚朋友一起去觀影。
所以說,春節檔對於電影公司來說簡直就是天時地利人和的大好商機啊!觀眾的審美也有了提高,並不那麼容易就會為爛片買單,所以電影公司也知道,必須拍出好片子排在春節檔,才能真正賺得盆滿缽滿。春節檔期間,電影公司一般會有一些補貼,用誘人的價格吸引觀眾。這期間看電影是很實惠的,也許二三十元就能看到一場2D電影。拖家帶口的觀眾自然也是想看便宜電影啊。
中國電影春季檔的正式形成不到五年時間,但是已經用次次刷新紀錄的高票房證明了中國市場的實力。電影公司努力在春節期間推出佳作,推廣力度很大,而中國觀眾也慢慢被培養出了在春節期間和親戚朋友看電影的習慣
4. 數據分析的步驟是什麼
1.問題定義
比較典型的場景是我們需要針對企業的數據進行分析,比如公司通常會有銷售數據、用戶數據、運營數據、產品生產數據……你需要從這些數據里獲得哪些有用的信息,對策略的制定進行指導呢?又比如你需要做的是一份市場調研或者行業分析,那麼你需要知道你需要獲得關於這個行業的哪些信息。
首先你需要確定去分析的問題是什麼?你想得出哪些結論?
比如某地區空氣質量變化的趨勢是什麼?
王者榮耀玩家的用戶畫像是什麼樣的?經常消費的是那類人?
影響公司銷售額增長的關鍵因素是什麼?
生產環節中影響產能和質量的核心指標是什麼?
如何對分析用戶畫像並進行精準營銷?
如何基於歷史數據預測未來某個階段用戶行為?
這些問題可能來源於你已有的經驗和知識。比如你已經知道每周的不同時間用戶購買量不一樣,那麼你可以通過分析得出銷量和時間的精確關系,從而精準備貨。又比如你知道北京最近幾年的空氣質量是在變壞的,可能的因素是工廠排放、沙塵暴、居民排放、天氣因素等,那麼在定義問題的時候你就需要想清楚,需要針對哪些因素進行重點分析。
有些問題則並不清晰,比如在生產環節中,影響質量的核心指標是什麼,是原材料?設備水平?工人水平?天氣情況?某個環節工藝的復雜度?某項操作的重復次數?……這些可能並不明顯,或者你是涉足新的領域,並沒有非常專業的知識,那麼你可能需要定義的問題就需要更加寬泛,涵蓋更多的可能性。
問題的定義可能需要你去了解業務的核心知識,並從中獲得一些可以幫助你進行分析的經驗。從某種程度上說,這也是我們經常提到的數據思維。數據分析很多時候可以幫助你發現我們不容易發現的相關性,但對問題的精確定義,可以從很大程度上提升數據分析的效率。
如何更好地定義問題?
這就需要你在長期的訓練中找到對數據的感覺,開始的時候你拿到特別大的數據,有非常多的欄位,可能會很懵逼,到底應該從什麼地方下手呢?
但如果有一些經驗就會好很多。比如,你要研究影響跑步運動員速度的身體因素,那麼我們可能會去研究運動員的身高、腿長、體重、甚至心率、血壓、臂長,而不太會去研究運動員的腋毛長度,這是基於我們已有的知識。又比如我們要分析影響一個地方房價的因素,那麼我們可能會有一些通用的常識,比如城市人口、地理位置、GDP、地價、物價水平,更深入的可能會有產業格局、文化狀態、氣候情況等等,但一般我們不會去研究城市的女孩長相,美女佔比。
所以當你分析的問題多了之後,你就會有一些自己對數據的敏感度,從而養成用數據分析、用數據說話的習慣。這個時候你甚至可以基於一些數據,根據自己的經驗做出初步的判斷和預測(當然是不能取代完整樣本的精準預測),這個時候,你就基本擁有數據思維了。
2.數據獲取
有了具體的問題,你就需要獲取相關的數據了。比如你要探究北京空氣質量變化的趨勢,你可能就需要收集北京最近幾年的空氣質量數據、天氣數據,甚至工廠數據、氣體排放數據、重要日程數據等等。如果你要分析影響公司銷售的關鍵因素,你就需要調用公司的歷史銷售數據、用戶畫像數據、廣告投放數據等。
數據的獲取方式有多種。
一是公司的銷售、用戶數據,可以直接從企業資料庫調取,所以你需要SQL技能去完成數據提取等的資料庫管理工作。比如你可以根據你的需要提取2017年所有的銷售數據、提取今年銷量最大的50件商品的數據、提取上海、廣東地區用戶的消費數據……,SQL可以通過簡單的命令幫你完成這些工作。
第二種是獲取外部的公開數據集,一些科研機構、企業、政府會開放一些數據,你需要到特定的網站去下載這些數據。這些數據集通常比較完善、質量相對較高。當然這種方式也有一些缺陷,通常數據會發布的比較滯後,但通常因為客觀性、權威性,仍然具有很大的價值。
第三種是編寫網頁爬蟲,去收集互聯網上的數據。比如你可以通過爬蟲獲取招聘網站某一職位的招聘信息,爬取租房網站上某城市的租房信息,爬取豆瓣評分評分最高的電影列表,獲取知乎點贊排行、網易雲音樂評論排行列表。基於互聯網爬取的數據,你可以對某個行業、某種人群進行分析,這算是非常靠譜的市場調研、競品分析的方式了。
當然,比較BUG的一點是,你通常並不能夠獲得所有你需要的數據,這對你的分析結果是有一定影響的,但不不影響的是,你通過有限的可獲取的數據,提取更多有用的信息。
3.數據預處理
現實世界中數據大體上都是不完整,不一致的臟數據,無法直接進行數據分析,或分析結果差強人意。數據預處理有多種方法:數據清理,數據集成,數據變換,數據歸約等。把這些影響分析的數據處理好,才能獲得更加精確地分析結果。
比如空氣質量的數據,其中有很多天的數據由於設備的原因是沒有監測到的,有一些數據是記錄重復的,還有一些數據是設備故障時監測無效的。
那麼我們需要用相應的方法去處理,比如殘缺數據,我們是直接去掉這條數據,還是用臨近的值去補全,這些都是需要考慮的問題。
當然在這里我們還可能會有數據的分組、基本描述統計量的計算、基本統計圖形的繪制、數據取值的轉換、數據的正態化處理等,能夠幫助我們掌握數據的分布特徵,是進一步深入分析和建模的基礎。
4.數據分析與建模
在這個部分需要了解基本的數據分析方法、數據挖掘演算法,了解不同方法適用的場景和適合的問題。分析時應切忌濫用和誤用統計分析方法。濫用和誤用統計分析方法主要是由於對方法能解決哪類問題、方法適用的前提、方法對數據的要求不清等原因造成的。
另外,選擇幾種統計分析方法對數據進行探索性的反復分析也是極為重要的。每一種統計分析方法都有自己的特點和局限,因此,一般需要選擇幾種方法反復印證分析,僅依據一種分析方法的結果就斷然下結論是不科學的。
比如你發現在一定條件下,銷量和價格是正比關系,那麼你可以據此建立一個線性回歸模型,你發現價格和廣告是非線性關系,你可以先建立一個邏輯回歸模型來進行分析。
一般情況下,回歸分析的方法可以滿足很大一部分的分析需求,當然你也可以了解一些數據挖掘的演算法、特徵提取的方法來優化自己的模型,獲得更好地結果。
5.數據可視化及數據報告的撰寫
分析結果最直接的結果是統計量的描述和統計量的展示。
比如我們通過數據的分布發現數據分析工資最高的5個城市,目前各種語言的流行度排行榜,近幾年北京空氣質量的變化趨勢,避孕套消費的地區分布……這些都是我們通過簡單數據分析與可視化就可以展現出的結果。
另外一些則需要深入探究內部的關系,比如影響產品質量最關鍵的幾個指標,你需要對不同指標與產品質量進行相關性分析之後才能得出正確結論。又比如你需要預測未來某個時間段的產品銷量,則需要你對歷史數據進行建模和分析,才能對未來的情況有更精準的預測。
數據分析報告不僅是分析結果的直接呈現,還是對相關情況的一個全面的認識。我們經常看到一些行業分析報告從不同角度、深入淺析地剖析各種關系。所以你需要一個講故事的邏輯,如何從一個宏觀的問題,深入、細化到問題內部的方方面面,得出令人信服的結果,這需要從實踐中不斷訓練。
數據分析的一般流程總的來說就是這幾個步驟:問題定義、數據獲取、數據預處理、數據分析與建模、數據可視化與數據報告的撰寫。
5. 11月電影市場數據分析哪裡有
中商情報網訊:10月全國票房最終收官於36.44億,同比下降29.3%,創下2016年9月之後,整整兩年來的單月跌幅之最。在經過7月和8月暑期檔單月大盤連續兩個月逼近70億大關後,後期電影票房明顯下沉。目前已進入到2018年第四季度,但電影市場還是保持著一貫的冷漠。不過在國慶假期的加持下,10月票房相比9月30.99億元來說,環比增長17.6%;單月觀影人次為10531萬人,環比增長19.82%;10月電影上映場次983.15萬場,比9月上映場次增加了85.17萬場。2018年1-10月全國市場共產出綜合票房約525億元。
2018年1-10月票房收入突破525億
中國電影產業在國民經濟新的發展形勢下實現了穩健增長。以電影票房收入衡量,我國電影市場已經成為僅次於美國的全球第二大電影市場。統計數據顯示,我國電影票房市場近年來保持高速增長的態勢,觀影人次從2007年的0.71億,增長2016年的13.72億,年均復合增長率達到34.47%。國內電影票房從2012年的170.7億元增長到2017年559.1億元,年均復合增長率達到26.78%。2018年1-10月全國電影票房累計達525.3億元。按照今年電影票房趨勢來看,2018年全國電影票房超越2017年的559.1億元基本是毫無壓力。
數據來源:中商產業研究院整理
10月電影市場凄慘收官 同比大降29.3%
根據貓眼專業版數據,2018年10月電影票房共計36.44億元,較去年同期51.53億元票房,同比下降29.3%。10月上映影片中,國慶檔影片《無雙》《影》等影片票房居前。
除4月票房有所下滑外,2018年單月票房都取得較好的成績,其中2月101億票房位居榜首,這無疑給2018年電影市場帶來了一個良好的開端!2018年上半年電影市場大漲18%,進入到暑期檔7月-8月,票房再次實現大漲,其中7月同比增長37.9%至69.5億元,僅次於春節檔2月票房,到8月票房同比略有下滑。9月票房下沉明顯,環比大降54.6%。10月在國慶假期加持下票房環比增長17.6%。但卻是2016年9月之後,整整兩年來的單月同比跌幅之最。
數據來源:貓眼、藝恩、中商產業研究院整理
《無雙》單月票房第一《影》排名第二
在2018年10月電影票房排行榜上,榜單前十部影片中有7部電影票房都在1億元之上,3部影片超3億大關。其中庄文強執導的犯罪題材港片《無雙》以票房11.69億霸佔月度冠軍之位。該片9月底上映累計票房順利破10億,累計分賬票房成功超越《澳門風雲3》(11.16億),打破發哥演員生涯的內地票房紀錄。截至11月1日14:30,該片連續24日獲得單日票房冠軍,累計綜合票房達到12.26億元,分賬票房11.3億元,貓眼評分高達8.9分,口碑與票房雙豐收。
影片《影》單月票房第二,10月票房為5.59億元,貓眼評分8.2分。作為張藝謀申奧影片,《影》自籌拍時期就成為相關媒體的聚焦點。盡管《影》在視覺上追求的以水墨風格形成的形式化美感再次以極致表現給觀眾留下深刻印象,但這部作品並未給觀眾帶來更多的驚喜和震撼。月度排名第三的是開心麻花團隊的喜劇片《李茶的姑媽》,10月累計票房4.95億元,貓眼評分7.9分。《找到你》票房第四,10月累計票房2.67億元。《胖子行動隊》以2.28億元票房排名第五,《鐵血戰士》10月票房拿下1.72億元,排名第六。
數據來源:貓眼、中商產業研究院整理
前三電影票房佔比超六成
10月全國電影票房分布集中在國慶檔影片,排名前五部都是國慶檔電影。其中《無雙》單月占據總票房32.1%,《影》佔比15.3%,《李茶的姑媽》佔13.6%。排名前三位的電影票房佔比合計占當月總票房的61.3%。
數據來源:貓眼、中商產業研究院整理
11月上映電影前瞻
從陣容來看,11月進口片是迪士尼與華納兄弟在國內電影市場的一次交鋒。迪士尼在月初與月末先後上映真人童話電影《胡桃夾子與四個國王》與經典動畫續集電影《無敵破壞王2:大鬧互聯網》。華納兄弟則發力下半場,在月中與月末先後上映《神奇動物:格林德沃之罪》與亞裔陣容的喜劇愛情電影《摘金奇緣》。另外《毒液》作為「蜘蛛俠宇宙」中的非典型英雄,該片北美市場目前累計票房達到1.87億美元。值得一提的是,目前《毒液》聯合火箭少女101推出的推廣歌曲《毒液前來》成功引起公眾注意,貓眼想看人數超過30萬,11月進口片中人數最高。11月上映影片信息一起來看一下吧!
資料來源:貓眼、中商產業研究院整理
更多資料請參考中商產業研究院發布的《2018-2023年中國電影行業發展前景及投資機會分析報告》。
6. HelloWorld電影簡單分析
6.11電影「你好世界在大陸上映」。6.12考完六級去影院補票了。盡管之前已經看過很多遍,但是每一次回看都會有新的感受。下面是我個人對電影內容的分析,如果發現有不正確的地方,我會回來修正。最好是看過電影的小夥伴再來看分析。
首先,電影中是有四個世界的,我們將逐一分析。
虛擬世界A:這也是故事開始的地方,16歲的堅書直實(下面簡稱小堅書)所在的世界。跟隨著三足烏鴉,小堅書見到了10年後的堅書(下面簡稱大堅書)。大堅書說要幫小堅書追求一行琉璃(後面簡稱小琉璃),並且要求小堅書在看煙花的那一天拯救被雷擊中的琉璃。
虛擬世界B:這也是26歲的大堅書所在的世界,在這個世界中,琉璃在看煙花時被雷擊中,失去意識。大堅書在了解到精神和意識同步後就可以喚醒琉璃,於是歷經艱苦進入阿爾塔拉,在經理無數次失敗後終於進入虛擬世界A,想要實現自己的計劃。
新世界:小堅書在進入虛擬世界B後,帶回琉璃。兩人進入了一個新的世界。(因為這個時候虛擬世界A已經被還原了)。
現實世界:真實情況是,在煙花會上堅書為了保護琉璃被雷擊,而琉璃為了喚醒堅書,極度恐高的她登上了月球,連智能手機都用不好的她成為了程序員。這一切的努力都是為了救回自己的戀人。
附註幾個小彩蛋:
1.圖書義賣片段中,琉璃爺爺的藏書中有一本《湖底大都市》(應該是叫這個),剛開始借閱卡上寫的並不是琉璃的名字。但是小堅書在復原後,借閱卡第一行的名字變成了一行琉璃,這一點琉璃應該是有所察覺,所以才會連說幾次「謝謝」。
2.在虛擬世界B中,琉璃醒來,判斷眼前的人不是堅書有兩個原因:1.堅書提到了煙花,而在虛擬世界A中,為了保護琉璃,小堅書並沒有約琉璃去看煙花。(這也驗證了此時身體中的精神其實還是小琉璃)。2.琉璃提到的那本書,堅書回答「那本書」?這是因為虛擬世界A和虛擬世界B中的故事線並不完全相同。(例如:是否看過煙花,是否堅書為琉璃還原過圖書,以及直接導致的是否圖書義賣舉行)。
3.個人猜測貫穿全電影的三組烏鴉應該時現實世界中琉璃的化身,因為在電影結束時,琉璃的領口有一個金色羽毛書簽的圖案。
4.許多人認為故事是一個大圓滿的結局,因為無論是虛擬世界還是現實世界,堅書和琉璃都團圓了。但是我卻感到了一絲絲悲傷,首先,三個世界(除去新世界),只成全了兩對戀人。這意味這即使是數據,但確實有一對堅書和琉璃並沒有圓滿。其次,在虛擬世界A中,出來小堅書和小琉璃,整個世界都被還原了,世界,城市,千千萬萬的人,相當於以一個世界的代價成全了一對戀人。
5.在不同世界中,犧牲的或是堅書,或是琉璃,但是另一個人都會為其等候數十年,
歷經千辛萬苦,只為了再見他/她一眼。這就是所謂的事故是偶然,愛是必然吧。
6.在前面的虛擬世界,都是用3D渲染的,但是在最後一幕回到現實(月球基地),卻使用了2D渲染,這或許意味著,對於二次元來說,2D世界才是「現實」吧。
7. Python分析44130條用戶觀影數據,挖掘用戶與電影之間的隱藏信息!
很多電影也上映,看電影前很多人都喜歡去 『豆瓣』 看影評,所以我爬取44130條 『豆瓣』 的用戶觀影數據,分析 用戶之間 的關系, 電影之間 的聯系,以及 用戶和電影之間 的隱藏關系。
在****『豆瓣』****平台爬取用戶觀影數據。
為了獲取用戶,我選擇了其中一部電影的影評,這樣可以根據評論的用戶去獲取其用戶名稱(**後面爬取用戶觀影記錄只需要****『用戶名稱』******)。
url中start參數是頁數(page 20,每一頁20條數據),因此start=0、20、40...,也就是 20的倍數 ,通過改變start參數值就可以獲取這 4614條用戶的名稱。 *
查看網頁的標簽,可以找到******『用戶名稱』******值對應的標簽屬性。
上一步爬取到****『用戶名稱』****,接著爬取用戶觀影記錄需要用到****『用戶名稱』。****
[圖片上傳失敗...(image-65a80e-1624889400616)]
通過改變****『用戶名稱』****,可以獲取到不同用戶的觀影記錄。
url中start參數是頁數(page 15,每一頁15條數據),因此start=0、15、30...,也就是 15的倍數 ,通過改變start參數值就可以獲取這 1768條觀影記錄稱。 *
查看網頁的標簽,可以找到****『電影名』****值對應的標簽屬性。
excel表有兩個標題(用戶, 影評)
定義了寫入excel函數,這樣爬起每一頁數據時候調用寫入函數將數據保存到excel中。
最後採集了44130條數據(原本是4614個用戶,每個用戶大約有500~1000條數據,預計 400萬條數據 )。但是為了演示分析過程,只爬取每一個用戶的前30條觀影記錄( 因為前30條是最新的 )。
最後這44130條數據會在 下面分享給大家 。
從豆瓣.xls中讀取全部數據放到datalist集合中。
以用戶 『mumudancing』 為例進行用戶畫像
以用戶 『mumudancing』 為例,對用戶之間進行 電影推薦
以電影 『送你一朵小紅花』 為例,對電影之間進行 電影推薦
8. 國慶檔電影扎堆上映,神預測:哪部電影的票房會墊底
在經過一段電影空檔期之後,國慶假期前後將迎來幾十部電影的上映高峰,大家又有眼福了。
其他的電影,除了口碑已經建立起來外,都有滑鐵盧的風險,但票房上收回成本的問題不大。《古劍奇譚》有粉絲流量、前期的鋪墊,主演陣容也比較強大;紀錄片《影》講述的是張藝謀導演和主創的故事,雖然紀錄片並不討喜,但張藝謀的品牌效應還是不容小覷的;《新灰姑娘》等動畫片也有自己的觀眾市場。
總之,希望所有電影都能帶給觀眾們好的感受。國慶假期,挑幾部電影放鬆一下,也是一種閑趣所在。
認知升級,活出自己,歡迎關注瑤知天問(微信公眾號:loves-knows)。
9. 如何學習數據分析
如何學好數據分析?
這個一個比較大的命題,很難一兩句話弄說的清楚,所以這個的問題很在QQ群里不太能得到一個滿意的答案。
在這里,我就以一個這數據方面的從業者的身份來說一說我的學習方法,當然有一點要說的是每個人的思想、方法、工作經歷、知識側重點都是不一樣的,所以對於如何學習這個問題可謂是仁者見仁智者見智。我這里只說一說我個人的方法,不一定是對的也不一定適用於每一個人。
數據分析這個崗位可以說很寬泛很雜,從數據錄入員到行業分析師專家都可以認為是數據分析,甚至一些搞數據挖掘、人工智慧的都可以包括到數據分析的范疇里,但是這些工作所做的事情卻相差甚遠,當然待遇也天壤之別。所以大家在應聘時不要只看崗位名稱,重要的是看看清崗位職責和要求。言歸正傳,咱們談談如何學習數據分析。
一、知識技能1、學科知識:從數據分析涉及到的專業知識點上看,他包含的比較多,包含但不僅限於以下學科:
(1)統計學:參數檢驗、非參檢驗、回歸分析……等
(2)數學:線性代數、微積分等
(3)社會學:主要是一些社會學量化統計的知識,如問卷調查與統計分析;還有就是一些社會學的知識,這些對於從事營銷類的數據分析人員比較有幫助
(4)經濟金融:如果是從事這個行業的數據分析人員,經濟金融知識是必須的,這里就不多說了
(5)計算機:從事數據分析工作的人必須了解你使用的數據是怎麼處理出來的,要了解資料庫的結構和基本原理,同時如果條件充足的話,你還能有足夠的能力從資料庫里提取你需要的數據(比如使用SQL進行查詢),這種提取數據分析原材料的能力是每個數據從業者必備的。此外,如果要想走的更遠,還要能掌握一些編程能力,從而借住一些專業的數據分析工具,幫助你完成工作。
這些專業知識不是一時半會能夠全面掌握的,學習的唯一捷徑就是看書、看視頻講解,看權威的書籍、看全面的知識。學習基礎知識沒有一蹴即就的方法,因為基礎,所以學起來會比較枯燥、比較漫長。如何你想在數據分析方面有長遠的發展,希望你能在基礎知識上長期堅持的學習下去。
2、軟體操作:從事數據分析方面的工作必備的工具是什麼,我大致羅列以下幾類:
(1)分析報告類:Microsoft Office軟體(excel、word、powerpoint、visio……)、水晶易表等,如果連excel表格基本的處理操作都不會,連PPT報告都不會做,那我只好說離數據分析的崗位還差的很遠。
(2)專業數據分析軟體:OFFICE並不是全部,要從在數據分析方面做的比較好,你必須會用(至少要了解)一些比較常用的專業數據分析軟體工具,比如SPSS、SAS、R、Matlab等等,這些軟體可以很好地幫助我們完成專業性的演算法或模型分析。
(3)輔助工具:比如思維導圖軟體(如MindManager、MindMapper等)也可以很好地幫助我們整理分析思路。
在此需要說明的一點是:軟體只是幫助我們完成任務的工具。並不是我們只要學好的軟體操作就能很好地完成任務,因為與操作相比,如何解釋最後的結果要重要的多。即使軟體操作的再熟,如果看不懂結果,那跟不會才做沒有兩樣。而看看懂結果就需要扎實的專業知識才行。
對於以上兩點,究竟按照什麼路線來學習,先後順序如何安排,我在網上看到過一個圖,個人認為很不錯:
3、行業知識與工作經驗:這部分知識怎麼說呢,要是說在書本上一點學不來那也是騙人的,但是能真正拿為己用的,多是自己在實際的工作過程中經歷的學到的。做數據分析一定得和自己所從事的行業緊密相關,不結合業務的數據分析無異於紙上談兵。而需要要用到數據分析的行業又多的數不清,一句話,只要有數據的地方就需要有數據分析,比如互聯網、電商、金融、電信、製造業、零售業等等都是數據分析需求大戶,你不可能每個行業都很懂,但是你可以在一個行業很懂,這個懂則需要在工作過程中慢慢積累。
二、談談三者的關系打個形象的比喻,成為一個數據分析精英好比成為一個武林高手(不少朋友應該都看過武俠電影),武林高手通常具備三個要素:渾厚的內功、致命招式/稀世武器、江湖經驗。
基礎知識和行業內的經驗就好比這渾厚的內功,及時你不會作出什麼東西來也能保證別人忽悠不倒你,因為你已經是內行了;
各種軟體操作就好比致命的招式和稀世武器,一旦出手就可以招招致命、事半功倍;
行走江湖最怕的就是缺少江湖經驗,有時候被殺了都不知道是誰殺的,所以工作經驗就好比這江湖經驗,經驗豐富遇到問題才更容易應對。
所以三者相輔相成,任何一個存在短板都會影響整體的發揮,影響個人的數據分析能力水平。
三、談談如何學習1、看書
這我看來要全面系統的掌握知識,最好的辦法就是看書,看書只有看對書,沒有看錯書,選擇了一本能大幅提高自己能力、思想的書就是看對書。再此,我就不做書籍推薦了,每一塊都有不少經典的好書,但是我可以告訴你一個找書的好方法,那就是在網上書店搜索相應的關鍵詞,比如你想找統計學方面的書,那你就搜「統計學」,想看EXCEL方面的書就搜「EXCEL」,你會搜到很多相關的書籍,你可以查看書籍的目錄介紹和相關的評價看是否適合你。
2、逛專業的網站
另外一個就是經常逛一些在數據分析方面的論壇、博客。所謂逛,跟逛街一樣,我不需要東西同樣可以去逛街。所以即使你不想去找某個問題的解決方法同樣也許要去逛,因為那裡有很多也數據分析方面的知識、見解,很多內容都可能會讓你受益匪淺,同時還可以關注到高手大牛以及行業的一些動態。
3、學會向搜索引擎要答案
一個懂得學習人必須是懂得提問的人,那回答你問題的人在哪裡,不在現實中就在網路上。當你遇到難以解決的問題時,建議首先找一找手頭上的書本能不能幫你解答。如果不能,那請你在google、網路上去搜吧,很多問題十有八九在網上可以找到答案(當然那些答案並不一定是最好最優的),如果搜索不到答案,好吧,我承認你的疑問有點小偏了,那就去相關的QQ群或身邊的同事朋友那去問吧。
此外,在軟體操作方面學會想操作手冊要答案
很多關於軟體工具的書籍都只是將最主要的操作方法寫出來,對於個人而言對一款軟體的使用也只是小部分功能,而軟體操作手冊不一樣,它就是軟體的使用說明書,每個細致的功能點都會寫進去,可以說是最全面的軟體字典,在操作手冊中幾乎可以找到所有的操作方法。
為什麼這樣安排順序? 在我看來書本上的答案要比網上的要靠譜,這個靠譜不是說網上沒有好的答案,只是說在沒有甄別能力的前提下,你看不出哪個答案是最好的。而書本不一樣,寫書人的知識水品通常要比寫出來的書的知識水品要高,書上給出的解答雖說不一定是最好的,但一定不會差到哪去。
為什麼要把搜索引擎放在第二位?
因為搜索引擎可以找到幾乎全網的內容,一句話概括就是搜到的東西全。學會使用搜索找問題答案是一種能力,是一種方法。
如果以上方法都找不到的話,就只能向朋友網友求助了。
為什麼說QQ群不是解決問題(一些非常靈活的問題除外)好辦法?
一是,群里確實有高手,但是高手通常都很忙,如果一兩句話能解答你的話,他們很樂意幫你解答,如果不是一兩句話能說清的,他們通常會沉默;二是,群里雖然有高手,但是菜鳥也不少,與其得到一個錯的結果,不如不問。
你可能要問那QQ群有什麼用,我的回答是:解決靈活性問題,交流學習心得,了解他人的動態。
向身邊朋友同事請教是本著求人不如求己原則下來說的,如果朋友熱情並且自己知道答案的話,肯定會告訴你,及時不知道有時也會幫你找一找解決辦法,還有一點是向朋友請教往往還能起到溝通感情的作用。但是有一點,大家工作都很忙,能不去麻煩別人最好還是不去麻煩。
總之,學習是個循序漸進的過程,貴在堅持,不能操之過急;因為數據分析這塊涉及的內容很廣,所以學習的原則要定好大的方向,然後不斷擴展加深知識,「哪裡不會補哪裡」。
寫了這么多也沒給大家一點知識性的內容,但都是我個人的一點看法和經驗之談,不妥的地方請同行朋友們多多指正。
本文轉載自數據控,鏈接: http://datakung.com/p=27
10. 數據挖掘 | 數據理解和預處理
數據挖掘 | 數據理解和預處理
小編遇到過很多人(咳咳,請不要對號入座),拿到數據後不管三七二十一,先丟到模型中去跑,管它具體什麼樣呢,反正「大數據」嘛,總能整出點東西來。
但就像上次說過的,「大數據」很有可能帶來「大錯誤」!所以在數據挖掘工作開始前,認真的理解數據、檢查數據,對數據進行預處理是至關重要的。
很多人說,數據准備工作真是個「體力活」,耗時耗力不說,還異常的枯燥無味。這點小編承認,建模之前的數據處理確實是平淡的,它往往不需要多高的智商,多牛的編程技巧,多麼高大上的統計模型。
但是,它卻能時時觸發你的興奮點,因為它需要足夠的耐心和細心,稍不留神就前功盡棄。
在這次的內容里,小編首先會從「數據理解」、「變數類型」和「質量檢查」三個方面進行闡述,然後會以一個自己做過的實際數據為例進行展示。
一、數據理解
拿到數據後要做的第一步就是理解數據。
什麼是理解數據呢?不是簡單看下有多少Excel表,有多少行,多少列,而是要結合自己的分析目標,帶著具體的業務需求去看。
首先,我們需要明確數據記錄的詳細程度,比方說某個網站的訪問量數據是以每小時為單位還是每天為單位;一份銷售數據記錄的是每家門店的銷售額還是每個地區的總銷售額。
其次,我們需要確定研究群體。研究群體的確定一定和業務目標是密切相關的。
比方說,如果我們想研究用戶對產品的滿意度與哪些因素有關,就應該把購買該產品的所有客戶作為研究群體;如果我們想研究用戶的購買行為受哪些因素影響,就應該同時考察購買人群和非購買人群,在兩類人群的對比中尋找關鍵因素。
研究群體的確定有時也和數據的詳細程度有關。
比如我們想研究「觀眾影評」對「電影票房」的影響,我們既可以把「每部電影」看成一個個體,研究「影評總數」對「電影總票房」的影響,也可以把「每部電影每天的票房」看成一個個體,研究「每天的影評數」對「每天的電影票房」的影響。
具體選擇哪一種取決於我們手上有什麼樣的數據,如果只有總票房和總影評數的數據,那我們只能選擇第一種;如果有更詳細的數據,那就可以考慮第二種方案。
需要注意的是,這兩種方案還會影響我們對於模型的選擇。
例如,如果研究「每天的影評數」對「每天電影票房」的影響,那每部電影又被細分為很多天,同一部電影不同時間的票房會有較高的相似性,這就形成了一種層次結構,可以考慮使用層次模型(hierarchical model)進行分析。
最後,當我們確定了研究目標和研究群體後,我們需要逐一理解每個變數的含義。有些變數和業務目標明顯無關,可以直接從研究中剔除。
有些變數雖然有意義,但是在全部樣本上取值都一樣,這樣的變數就是冗餘變數,也需要從研究中剔除。
還有一些變數具有重復的含義,如「省份名稱」和「省份簡稱」,這時只需要保留一個就可以了。
二、變數類型
所有變數按其測量尺度可以分成兩大類,一類是「分類變數」,一類是「數值變數」。不同類型的變數在處理方法和後期的模型選擇上會有顯著差別。
【分類變數】
分類變數又稱屬性變數或離散變數,它的取值往往用有限的幾個類別名稱就可以表示了,例如「性別」,「教育程度」,「收入水平」,「星期幾」等。細分的話,分類變數又可分為兩類,一類是「名義變數」,即各個類別間沒有順序和程度的差別,就像「手機系統」中ios和安卓並沒有明顯的好壞差別,「電影類型」中「動作片」和「科幻片」也都是一樣的,說不上哪個更好或更差。
另外一類是定序變數,即不同類別之間存在有意義的排序,如「空氣污染程度」可以用「差、良、優」來表示、「教育程度」可以用「小學、初中、高中、大學」來表示。
當研究的因變數是分類變數時,往往對應特定的分析方法,我們在後面的章節會陸續講到,這里暫且不談。
當研究中的自變數是分類變數時,也會限制模型選擇的范圍。有些數據挖掘模型可以直接處理分類自變數,如決策樹模型;但很多數據挖掘模型不能直接處理分類自變數,如線性回歸、神經網路等,因此需要將分類變數轉換成數值變數。
對於定序自變數,最常用的轉換方法就是按照類別程度將其直接轉換成數值自變數,例如將空氣污染程度 「差、良、優」轉換為「1,2,3」。
對於名義自變數,最常用的轉換方法就是構造0-1型啞變數。例如,對於「性別」,可以定義「1=男,0=女」。
當某個名義變數有K個類別取值時,則需要構造K-1個啞變數。例如教育程度「小學,初中,高中,大學及以上」,可以構造三個啞變數分別為:x1:1=小學,0=其它;x2:1=初中,0=其它;x3:1=高中,0=其它。當x1,x2,x3三個啞變數取值都為0時,則對應著「大學及以上」。
需要注意的是,有時候名義變數的取值太多,會生成太多的啞變數,這很容易造成模型的過度擬合。
這時可以考慮只把觀測比較多的幾個類別單獨拿出來,而把剩下所有的類別都歸為「其它」。
例如,中國一共包含56個民族,如果每個民族都生成一個啞變數就會有55個,這時我們可以只考慮設置「是否為漢族」這一個0-1啞變數。
【數值變數】
我們再來看看數值變數。數值變數就是用數值描述,並且可以直接進行代數運算的變數,如「銷售收入」、「固定資本」、「評論總數」、「訪問量」、「學生成績」等等都是數值變數。
需要注意的是,用數值表示的變數不一定就是數值型變數,只有在代數運算下有意義的變數才是數值型變數。
例如財務報表的年份,上市時間等,雖然也是用數值表示的,但我們通常不將它們按照數值型變數來處理。
上面我們講到,分類變數通常要轉換成數值型變數,其實有些時候,數值型變數也需要轉換成分類變數,這就用到了「數據分箱」的方法。
為什麼要進行數據分箱呢?通常有以下幾個原因:
1. 數據的測量可能存在一定誤差,沒有那麼准確,因此按照取值范圍轉換成不同類別是一個有效的平滑方法;
2.有些演算法,如決策樹模型,雖然可以處理數值型變數,但是當該變數有大量不重復的取值時,使用大於、小於、等於這些運算符時會考慮很多的情況,因此效率會很低,數據分箱的方法能很好的提高演算法效率;
3.有些模型演算法只能處理分類型自變數(如關聯規則),因此也需要將數值變數進行分箱處理。
數據分箱後,可以使用每個分箱內的均值、中位數、臨界值等作為這個類別的代表值,也可以直接將不同取值范圍定義成不同的類別,如:將污染程度劃分後定義為「低、中、高」等。
那如何進行數據分箱呢?常用的數據分箱的方法有:等寬分箱(將變數的取值范圍劃分成等寬的幾個區間)、等頻分箱(按照變數取值的分位數進行劃分)、基於k均值聚類的分箱(將所有數據進行k均值聚類,所得的不同類別即為不同的分箱),還有一些有監督分箱方法,如:使分箱後的結果達到最小熵或最小描述長度等。這里不詳細介紹了,有興趣的童鞋可以自行網路。
三、質量檢查
對數據中的各個變數有了初步了解後,我們還需要對數據進行嚴格的質量檢查,如果數據質量不過關,還需要進行數據的清洗或修補工作。
一般來說,質量檢查包括檢查每個變數的缺失程度以及取值范圍的合理性。
【缺失檢查】
原始數據中經常會存在各種各樣的缺失現象。
有些指標的缺失是合理的,例如顧客只有使用過某個產品才能對這個產品的滿意度進行評價,一筆貸款的抵押物中只有存在房地產,才會記錄相應的房地產的價值情況等。
像這種允許缺失的變數是最難搞的,因為我們很難判斷它的缺失是合理的,還是由於漏報造成的。
但無論哪種情況,如果變數的缺失率過高,都會影響數據的整體質量,因為數據所反映的信息實在太少,很難從中挖掘到有用的東西。
對於不允許缺失的變數來說,如果存在缺失情況,就必須進行相應的處理。如果一個變數的缺失程度非常大,比方說達到了70%,那就考慮直接踢掉吧,估計沒救了。
如果缺失比例還可以接受的話,可以嘗試用缺失值插補的方法進行補救。
插補的目的是使插補值能最大可能的接近其真實的取值,所以如果可以從其他途徑得到變數的真實值,那一定優先選擇這種方法。
比如某個公司的財務信息中缺失了「最終控制人類型」和「是否國家控股」這兩個取值,這些可以通過網上的公開信息得到真實值;再比如缺失了「凈利潤率」這個指標的取值,但是卻有「凈利潤」和「總收入」的取值,那就可以通過變數間的關系得到相應的缺失值,即凈利潤率=凈利潤/總收入。
當然,更多的時候,我們無法得到缺失值的真實信息,這時就只能借用已有的數據來進行插補了。
對數值變數來說,可以用已觀測值的均值、中位數來插補缺失值;對分類型變數來說,可以用已觀測數據中出現比例最高的類別取值來進行插補。
這些方法操作起來非常簡單,但它們都是對所有缺失值賦予了相同的取值,所以當缺失比例較大時,可能會扭曲被插補變數與其餘變數的關系。
更復雜一點的,我們可以選擇模型插補方法,即針對被插補變數和其它自變數之間的關系建立統計模型(如回歸、決策樹等),將模型預測值作為插補值。
如何處理缺失值是一個很大的研究課題,我們這里只是介紹了最簡單可行的方法,有興趣的讀者可以參閱Little和Rubin 2002年的專著「Statistical Analysis with Missing Data」。
【變數取值合理性檢查】
除了缺失外,我們還要考察每個變數的取值合理性。每個變數都會有自己的取值范圍,比如「用戶訪問量」、「下載次數」一定是非負的,「投資收益率」一定在0~1之間。通過判斷變數的取值是否超出它應有的取值范圍,可以簡單的對異常值進行甄別。
除了根據變數的取值范圍來檢查變數質量外,還可以根據變數之間的相互關系進行判斷。例如一家公司的「凈利潤率」不應該大於「總利潤率」等。
只有通過了各個方面檢測的數據才是一份高質量的數據,才有可能帶來有價值的模型結果。
四、實例分析——電影票房分析
最後,我們給出一個實例分析。在這個例子中,我們的目標是研究電影哪些方面的特徵對電影票房有影響。
我們有兩方面的數據,一是描述電影特徵的數據,二是描述電影票房的數據。
由於我們關注的是北美的票房市場,所以描述電影特徵的數據可以從IMDB網站得到,它是一個關於演員、電影、電視節目、電視明星和電影製作的在線資料庫,裡面可以找到每部上映電影的眾多信息;電影每天的票房數據可以從美國權威的票房網站Box Office Mojo得到,上面記錄了每部電影上映期間內每天的票房數據。
我們將從IMDB得到的數據放到「movieinfor.csv」文件中,將從Box Office Mojo中得到的數據放到「boxoffice.csv」文件中。
這里,我們以2012年北美票房市場最高的前100部電影為例進行講解。下表給出了這兩個數據集中包含的所有變數以及相應的解釋。
在這兩個數據中,movieinfor.csv數據的記錄是精確到每部電影的,而boxoffice.csv數據精確到了每部電影中每天的票房數據,是精確到天的。上表中給出的變數中,除了電影名稱和ID外,「電影類型」「MPAA評級」(美國電影協會對電影的評級)和「星期幾」是分類型變數;「放映時長」、「製作預算」、「電影每天的票房」和「每天放映的影院數」是數值型變數。兩份數據都不存在缺失值。
我們首先對兩個數據集分別進行變數預處理,然後再根據電影ID將兩個數據整合到一起。下面給出了每個變數的處理方法:
【電影類型】
電影類型是一個分類變數。在這個變數中我們發現每部電影都不止一個類型,例如「The Dark Knight Rises」這部電影就有「Action」、「Crime」和「Thriller」三個類型,並且它們以「|」為分隔符寫在了一起。
同時,不同電影之間可能有相同的類型,也可能有不同的類型,例如票房排名第二的電影「Skyfall」,它的類型是「Action |Adventure |Thriller」。
因此,我們首先需要做的是把每部電影所屬的類型逐一取出來,然後將所有出現過的類型分別形成一個0-1啞變數,如果這部電影在某個類型上出現了,則相應變數的取值就是1,否則是0.
通過上面一步,我們知道這個數據集中出現過的所有電影類型一共有11個。
那是不是按照之前所講的,應該把它轉換為10個啞變數呢?這里需要注意的是,所有的電影類型之間並不是互斥的(即有了action,就不能有其他的類型),所以我們無需因為共線性的原因去掉其中一個。
也就是說,如果把每一個電影類型單獨作為一個獨立的變數,可以衍生出11個新的0-1變數,這完全沒有問題。但11個變數未免有點過多,所以我們根據不同電影類型的頻數分布情況,只把出現次數明顯較多的類型單獨拿出來,最終生成了6個0-1型變數,分別為Adventure,Fantasy,Comedy,Action,Animation,Others。
【MPAA評級】
對於這個分類型變數,我們首先可以看一下數據中它所包含的全部取值,發現一共有「PG」,「PG-13」和「R」三個。
和上面的電影類型(Genre)不同,對於一部電影而言,它只能有一個MPAA取值。因此,在MPAA變數中,我們需要選擇一個作為基準,將另外兩個構造成啞變數。
例如,我們以「PG」為基準,構造的兩個啞變數分別為PG13和R,如果這兩個啞變數的取值同時為0,那就相當於電影的MPAA評級是PG。
【放映當天是星期幾】
這個變數同MPAA評級一樣,每部電影只能有一個取值。
如果它在星期一到星期日上都有取值的話,我們可以衍生出6個0-1型啞變數。
因為這里我們更關注周末和非周末對電影票房的影響,而並不關注具體是哪一天,所以我們將其進一步概括成一個變數,即「是否是周末」。
【放映時長和製作預算】
放映時長和製作預算這兩個變數都是取值大於0的數值型變數,我們可以分別檢查它們的取值是否在合理的范圍內,然後直接保留它們的數值信息。
同時,對「製作預算」而言,假設我們這里關心的不是製作預算的具體數值,而是「小成本電影」和「大成本電影」的票房差異,那我們就可以將這個數值型變數進行分箱處理,轉換為一個0-1型的分類變數,即 「是否為小成本電影」。
在決定按照什麼標准來劃分是否為小成本電影時,我們根據之前文獻里的研究結果,將製作預算在100 million以下的電影看成是小成本電影。
上述所有變數的處理過程都可以使用R中最基本的語句(table,rep,which等)完成,由於篇幅限制,小編這里就不列出詳細的code了,大家感興趣的話,可以閱讀狗熊會的「R語千尋」系列(戳這里),相信會在R語言的學習上受到更多啟發。
最後,我們將所有新生成的變數按照電影ID整合到一起,就大功告成啦。
五、總結
最後總結一下,小編在這次內容中向大家介紹了拿到數據後的數據理解和預處理工作,內容雖然不難,但同樣需要我們認真對待。就好像生活一樣,只有踏踏實實走好前面的路,才有可能迎接後面的高潮迭起!