2011年6月10日 星期五

華人家庭計畫歷年資料合併檔架構


        華人家庭計畫執行已逾十年,累積資料量相當龐大且複雜,為了方便使用者分析,提高資料使用的效率,將歷年資料整併釋出成為華人家庭動態資料庫未來發展的方向。由於華人家庭計畫每年的問卷皆包含相當詳細的家庭、親屬訊息、變項相當多,直接和併歷年資料勢必使得資料長度過長,無意增加資料的複雜度及維護困難。有鑑於此,擬以模組化的主從式分散架構建立合併資料庫,以樣本編號、性別、出生年次等基本訊息建立的主資料(索引資料)做為合併資料庫的核心;將其餘資料按題組拆解成為分散架構,以題組為單位分別合併歷年資料,成為子資料。主資料與子資料間以樣本編號為索引鍵進行串連,使用者可依實際需要結合不同的子資料進行分析研究。模組化資料庫的另一優點在於可加快資料維護與釋出的速度。各模組可以分開處理,完成後獨立釋出,日後維護也可針對個別模組進行,不牽涉到其他的部份。
        計畫雖然曾經於多年前建立過一次合併資料,但因未隨著各期資料整理同步更新,因此內容已與目前釋出的單期資料有差異。為了解決差異問題,同時也藉此次合併資料工作解決歷年資料矛盾的問題,因此本次合併資料擬利用目前釋出的單期資料重新整理的方式建立。

資料建立範圍
        合併資料的範圍為1999-2006已公開釋出之資料,日後再隨資料釋出進度擴充。資料建立的第一步先以199920002003三次抽樣原始主樣本進行合併,暫時排除主樣本之子女。主樣本合併資料完成後,再陸續納入子女主樣本,最後接才進行子女問卷部份的合併工作。
合併資料建構規劃
        合併資料的初期,擬以主資料與子資料間維持一對一的對應關係建立合併資料庫。換句話說,合併資料的基本邏輯仍以「將同一位受訪者的歷年資料串連為一筆資料」的方式進行,僅將資料表按題組切割成不同的子資料表,以減少資料表的長度而已。此種資料格式較為直觀,使用者僅需下載所需要的子資料表,並按樣本編號串連後即可使用。此外,可將受訪者基本資料規劃於主資料表中,使用者可先單獨下載主資料表,瞭解樣本的資本型態,再依需求下載所需的子資料檔。但此方式也存在著兩個缺點:首先,各子資料表的長度仍會隨著合併期數的增加而不斷延長,使得資料表的複雜度逐漸增加;其次,若從資料庫的角度思考,當增加合併期數時,必須增加資料表的欄位,這也意味著資料庫的結構將隨著合併期數的增加而不斷改變,若未來合併資料以線上資料庫的形式釋出,可能會增加資料庫維護的成本和困難度。
        此階段,變數名稱將經過整理後重新命名,題目相同的變數將冠以相同的名稱,並於名稱後加「_yy[1] 以區別該變數的訪問年次。相同題目若不同時期的選項有所更動將予以保留,僅於合併資料過錄編碼簿中說明。
        若未來資料庫考慮發展為網路資料庫形式公開,為了資料庫系統的穩定及日後更新方便,擬將資料庫格式改為一對多的架構型態。所謂一對多的架構即由具有唯一鍵值(樣本編號)的主檔,及歷年資料以堆疊方式儲存的子資料表組成的資料庫型態。整個資料庫結構及欄位固定不變。主資料表僅包含樣本編號、性別、年齡等不會隨時間變動的欄位;子資料表包含樣本編號、訪問年及其他題組欄位,不同年度的資料以堆疊的方式儲存相同的欄位中,以「訪問年」及「訪問波次」作為區別。例如受訪者編號001001019992008每年皆接受訪問,則在工作題組的子資料表中,就包含10筆受訪者編號為0010010,調查年分別為199920002001...的資料。
        使用一對多的資料庫架構優點在於資料庫欄位固定,較利於使用介面操作;同時新增合併資料時,僅需將新增資料按題組及其他資料處理規則整理好後,加入各子資料表即可,不牽涉資料的合併和串連,維護較簡單。但使用者面對此資料結構,在分析時需涉及陣列與迴圈等技術的應用,技術門檻較高。或者需由計畫開發程式,將資料依使用者需求,在下載前動態轉換為受訪者編號唯一的合併資料表後再讓使用者下載;此方式牽涉程式開發,需要時間完成。
工作流程
1.      整理歷年題目及變項名稱,統一重新命名
說明:可參考聖智完成的歷年題目資料庫及之前建立合併資料時所做的PSFD_DATASET_目視表,在目視表的基礎上,利用歷年題目資料庫進行整理。
2.      規劃資料表架構,劃分子資料表(題組)
說明:決定主資料表所要包含的變數,並按題組進行規劃決定子資料表的數量及類別。
3.      建立主資料表及釋出
說明:合併主資料表,並校對性別、年次等唯一變數。完成後可先行釋出。
4.      建立子資料表,並依序釋出
說明:依序完成各子資料表,完成後可個別依序釋出。


[1] yy代表西元調查年的後兩碼。

沒有留言:

張貼留言