天天看點

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

本節書摘來自華章出版社《資料分析實戰

基于excel和spss系列工具的實踐》一書中的第3章,第3.3節,紀賀元 著,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

資料的整理往往是一個痛苦的耗時耗力的過程,有人曾經以做飯菜來打比方:做過飯菜的人都知道,下油鍋炒菜的時間其實并不長,幾分鐘就夠了,而做菜之前的買菜、泡菜(用水浸泡菜去除農藥)、洗菜、切菜、配菜等會消耗2~3小時。這和做資料分析很類似,做一個聚類分析,如果選擇的模型得當并且電腦運作很快的話,幾分鐘甚至幾秒鐘就做完了,但是要把聚類的資料全部收集完畢,很可能要花幾天甚至幾個月的時間。

資料分析之前的資料整理工作要做哪些事情呢?我們看看以下邏輯。

(1)盡可能保證資料是對的

在錯誤的資料上分析得出的結論往往是錯誤的,是以要盡量保證資料的準确性,重複資料以及空行、空列、異常值、不符合邏輯關系的資料都會造成資料品質的降低,要想辦法剔除這些資料。至少也要對這些資料有所警醒!

(2)盡可能保證資料能用得上

通常情況下,資料中都會有很多缺失值,面對這種情況,删除肯定是個簡單的處理方法,但問題是,這樣操作會丢失很多資料和資訊。我曾經對某個項目進行測算,如果用“簡單粗暴”的方法去删除包含缺失值的資料,那麼大概要損失70%左右的資料,這樣一來,根據30%左右的資料分析得出來的結論肯定是不準确的。

(3)要保證資料的格式能夠直接用于分析

資料有多種組織方式,統計和挖掘中的很多算法模型都需要針對固定格式來做,比如對應分析、關聯分析等,是以免不了要做格式轉換,有時,為了實作對大資料量的分析,還需要進行程式設計。

3.3.1 重複、空行、空列資料删除

以案例檔案3.1為例,如何對資料進行重複值的排查呢?可綜合運用三種方法進行删除,其中,excel提供了兩種方法,不過都是直接删除,而spss中的重複值處理可以先辨別然後再删除,相對更合理一點。下面分别講講這三種方法。

(1)excel中的“删除重複項”

首先,選擇“資料”中的“删除重複項”,如圖3-2所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

然後選擇判斷是否重複的項,如圖3-3所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

請注意,圖3-3中的“編号”、“成績”之前的勾選就是重複值的判斷條件,意思就是如果編号和成績都相同,那麼就是重複值。我們可以用是否勾選來靈活決定判斷重複值的條件。

點選“确定”後會彈出圖3-4所示的對話框。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

删除重複項的操作簡單易行,但是有一個重大缺陷,就是它會直接将重複值删除,這有點“簡單粗暴”,更理想的方法是先标注一下,待操作人員檢視确認之後,再删除比較好。是以在做這個操作之前最好先進行資料備份。

(2)進階篩選

很多人都知道進階篩選是用來做多條件的複雜篩選的,但是知道用進階篩選來删除資料的人卻不多,下面會介紹這個方法。首先進入進階篩選界面,如圖3-5所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

在進階篩選界面中,選擇源資料區域和将要複制的資料塊位置,如圖3-6所示。

特别要注意的是,圖3-6左下角的“選擇不重複的記錄”一定要勾選,然後點選确定,操作即完成。

相對于删除重複項,進階篩選連個輸出提示都沒有,這讓初次使用的人往往感到有點沒頭沒腦,起碼應該有一個操作告訴我處理了多少資料、删除了多少資料吧。是以,進階篩選這個操作也需要謹慎,要事先做好資料備份。

(3)spss中的處理重複值

在spss中有專門處理重複值的子產品,請見圖3-7。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

進入“辨別重複個案”子產品後,會彈出如圖3-8所示的界面。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

如同excel中的“删除重複項”,spss中也需要選擇若幹字段作為判斷是否重複的依據,圖3-8中選擇了手機号碼和arpu,代表手機号碼和arpu都相同才表示資料重複。“基本個案訓示符”中的1表示唯一值,0表示重複值。勾選左下角的“将比對個案移至檔案頂端”表示會将有重複的資料移到檔案最上端。

最後的輸出結果如圖3-9所示。這樣的輸出結果是比較合理的,可以先觀察再删除,比直接删除要安全。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

(4)删除空行

以案例檔案3.3為例,為了删除空行,先用excel進行排序,如圖3-10所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

排序結束後,删除空行即可,如圖3-11所示。

以上删除空行的方法打亂了資料的順序,若想不打亂資料的順序,可采用輔助列的方法,如圖3-12所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

也就是先按照編号進行排序,删除空行後,再按照“次序”進行排序,最後删除“次序”輔助列。

資料中的缺失值産生的原因很多,有的是原始資料中就沒有,有的是漏了,有的則是因種種原因沒有收集;還有填寫者故意不填的,例如市場調查的問卷中,涉及收入、對競争對手如何看待等敏感性問題時,就經常會出現缺漏的情況。還有一種比較特殊的情況是,最近的資料還沒有統計出來,例如現在是2017年,可能2017年的q1的資料還沒有出現,甚至有可能2016年的q4的資料都還沒有出來。

之前已經說過,對于缺失值資料,一般不能采用“簡單粗暴”的删除方法,而應盡可能地進行填充,下面就介紹一些填充的方法。

(1)手工填充

以案例檔案3.4為例,2011年和2012年的資料都是完整的,2013年的資料有一些缺漏,這個時候有幾種填充思路:

1)按照2013年銷量的平均值做填充,這是比較簡單的做法。

2)用曆年同月的平均值做填充,例如2013/12/21的資料是空缺的,就拿2011年和2012年銷量的平均值來填充,這是比較精準的做法。

以上的填充技術非常簡單,不再贅述,直接用average函數即可。

(2)利用spss“替換缺失值”進行填充

案例檔案3.5,spss中有兩處菜單功能涉及缺失值,一是“轉換”中的“替換缺失值”,二是“分析”中的“缺失值分析”。“替換缺失值”中可以用多種替換方法,以案例檔案3.5為例來看一下,先在圖3-13所示的菜單找到“替換缺失值”。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

然後,進入“替換缺失值”界面,如圖3-14所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

在替換的方法中,有序列均值、臨近點的均值、臨近點的中位數等多種方法可以選擇,一般選擇“序列均值”和“臨近點的均值”比較多一些。

(3) 利用spss“缺失值分析”進行填充

對于案例檔案3.6,在分析分組和年齡這兩個因素對分析名額的影響時,可采用spss的線性回歸來處理,如圖3-15所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

然後進入線性回歸的界面進行設定,如圖3-16所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

得到的結論如圖3-17所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

由于體重組和年齡的檢驗p值都小于0.05,是以得到結論:體重組和年齡對于分析名額都有着顯著的影響。

若對案例檔案3.7(該案例有缺失值)執行同樣的操作,得到的輸出結果如圖3-18所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

從圖3-18所示的輸出可以看出,在有缺失值的情況下,體重組的sig是0.076>0.05,是以得到結論:體重組對于分析名額的影響不顯著,而年齡對于分析名額的影響顯著。

現在考慮如何填充資料,在圖3-19所示的界面選擇“缺失值分析”。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

spss的缺失值分析中,常用的有em和回歸這兩種方式。下面首先展示em方式填充缺失值的方法,如圖3-20所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

在圖3-20所示的界面中,點選“em...”,進入如圖3-21所示的界面。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

将填充好的缺失值放到資料集a中,就完成了相應的操作。

同樣也可以用回歸方法實作缺失值的填充,如圖3-22所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

為了比較em和回歸這兩種填充方法的優劣,仍舊做資料回歸來比較em和回歸這兩種填充方式的差異,請注意,這裡出現了兩個“回歸”,前面一個“回歸”是資料分析的回歸方法,後面一個“回歸”是spss裡面的一種填充算法。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

圖3-23是采用em方法填充資料後進行回歸分析的輸出結果,圖3-24是采用“回歸”方法填充資料後進行回歸分析的輸出結果。可以看到,em回歸的兩個檢驗p值0.008和0.004,分别小于0.023和0.012,這說明em填充缺失值的品質要高于回歸填充缺失值。

重複值、空行(列)、缺失值這些都是比較明顯的錯誤,而資料之間的邏輯關系則是比較隐蔽的問題。案例檔案3.9給出了對啤酒飲用習慣進行調查後所記錄的資料,先來看看年齡和學曆這兩組資料,單獨看這兩組資料并無可疑之處,但是考慮到邏輯關系就不盡然了。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

從目前我國大學的情況看,一般大學生畢業在21~23歲,碩士生畢業在25~27歲,如果考慮學曆和年齡之間的邏輯關系,再對案例檔案3.9進行排查,看看情況如何。這裡使用條件格式進行排查,如圖3-25所示。

進行條件格式後的界面如圖3-26所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

在圖3-26中,選擇自定義公式,在公示欄中輸入公式:=and(c2<=25, d2>=5),也就是當c2(年齡)小于等于25,并且學曆大于等于5(5是碩士,6是博士)的時候,将編号填充為紅色,結果如圖3-27所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.3 耗時耗力的資料整理過程

從圖3-27可以看出,編号為11和18的,其學曆和年齡之間的邏輯關系不正常,需要重點關注和糾正。

根據業務關系來排查資料的例子還很多,這需要讀者結合自己的業務邏輯努力去排查判斷。

此外,資料合并也是資料準備的重要内容,這将在4.1節中詳細叙述,在此不再重複。

繼續閱讀