- 智能風控:評分卡建模原理、方法與風控策略構建
- 張偉
- 3772字
- 2021-12-01 14:05:21
4.1 關于數據的系統性認識
以數據為研究對象的學科領域包括數據科學和數據工程:數據科學的重點在于對數據進行分析和建模,以便從數據中提取有價值的信息,偏分析層面;數據工程的重點在于數據的采集、存儲、處理、服務等,偏工程層面。
大多數情況下,數據分析的過程必須包括數據探索。對于數據探索可以有兩個層面的理解:一是僅利用一些工具對數據特征進行查看;二是通過探索,理解業務含義,感知數據價值,并由此決定后續數據加工和處理的邏輯。對數據進行探索、預處理和分析,既需要技術手段的支撐,也需要具備數據分析經驗和對業務問題有深入的理解。對數據進行處理和探索,依賴于對數據本身的理解,包括數據的業務邏輯、數據的存儲邏輯等。
4.1.1 數據基本特征
1. 定類型、定序型、定距型、定比型
度量特性反映了數據的業務含義,按照度量特性,數據可以分為定類型、定序型、定距型和定比型4類。
1)定類型指無序的數據,例如性別。
2)定序型指有序的數據,例如學歷。
3)定距型指有刻度單位的數據,雖然不能進行乘和除操作,但是可以相減以計算距離或差異,例如溫度、年齡。
4)定比型數據可以進行各種數值型操作,特別是相比操作,例如金額、比例。
在有些文獻中數據也分為三大類,區間型、序數型、分類型,即將定距型和定比型數據合并為區間型,定類型即為分類型,定序型即為序數型。
對數據度量特性的理解和判斷將影響和決定后續數據處理的方式,如果一個數據是定類型的,雖然用數值1、2、3等進行存儲,但數值的相對大小與業務含義并不對應,這種情況下必須要將數值轉換成類別編碼,不能直接將數值代入模型中。
2. 連續型與離散型,數值型與分類型
更簡單的數據分類方式是分為連續型和離散型或者數值型和分類型。通常將定類型和定序型數據歸為離散/分類型數據,定距型和定比型數據歸為連續/數值型數據,這種對應并不嚴格。
注意這里提到的“數值型”是數據業務邏輯層面的概念,而非計算機物理存儲層面的概念。例如年齡,業務邏輯理解應當是數值型的,但可能因為特殊原因,例如數據導出時就是以帶引號的數字存儲的,導致在數據庫中以char方式存儲,在后續數據處理過程中就需要將其轉換成數值型。又例如性別,業務邏輯理解應當是分類型的,但可能因為自定義編碼在數據庫中是以數字形式存儲的,在后續數據處理過程中就需要將其轉換成分類型。
如果不了解字段的實際業務含義,僅以存儲數據的格式為依據,分析人員可能會出現數據類型判斷失誤。數據庫中以數值形式存儲的1,業務含義不一定是數值型,也可以是分類型,例如性別,其實際業務含義是分類型的變量。
3. 數據類型
數據庫中的數據類型一般可以分為整型、浮點型、字符型、日期型、時間型、日期時間型、時間戳型等,不同的數據庫系統的數據類型定義和分類會有一定的差異。
不論是何種數據類型,本質上在計算機底層數據存儲的都是數值型或者字符型,數值型是按數值的bit編碼方式,而字符型是按ASCII編碼方式(多語種符號有更多編碼方式,例如Unicode、UTF8、GBK等),例如bit位00 000 000,如果是數值型變量則代表數字0,如果是字符型變量則代表空白,至于內存段的bit位00 000 000是數字0還是空白字符,取決于數據類型定義。
需要注意的是,不同的編程語言或數據系統所定義的數據類型集合以及計數起始點是不同的,在跨系統時需要考慮這種差異帶來的潛在影響。例如SAS中的數據類型只有兩種:數字型Num和字符型Char。SAS中所謂的日期型、時間型,均是數據格式的概念。例如對于日期變量,有的數據庫系統是從1960年1月1日開始計數,有的數據庫系統(SAS、Excel)是從1900年1月1日開始計數,在跨系統讀取時可能會出現數值錯誤。
4. 數據格式
數據庫或編程語言中的數據格式用于指定數據顯示的形式,例如日期型可以顯示為2020-07-11,也可以顯示為2020/07/11。同一個日期在底層存儲的是同一個數值,但可以顯示為不同的格式,在SAS中定義了幾十種數據顯示格式。
需要注意的是,SAS中數據類型和數據格式這兩個概念是有區別的。SAS中的數據類型只有兩種:數值型和字符型。而數據格式有很多種,同一數值可以顯示為不同格式,例如:SAS中變量取值為3.123,用format=10.2則顯示為3.12,用format=10.3則顯示為3.123,但底層物理存儲的值是一樣的。
形象地說,可以將數據格式視作數據的視圖,而數據類型決定了數據的底層存儲,同一底層數據存儲值可以以不同的數據格式展現。
5. 結構化、半結構化、非結構化
數據按照存儲形態可以分為結構化、半結構化、非結構化。
結構化是指數據有行列結構,通常以二維表的方式存儲在數據庫、數據文件或內存變量中。時序數據和空間數據,因為有固定結構,所以一般被當作結構化數據。
半結構化是指存在約定結構格式但沒有顯式的行列結構,最常見的是XML、JSON、HTML等格式的數據。半結構化數據可以通過解析轉換成多結構化表。
非結構化是指沒有約定結構,最常見的如圖像、語音、視頻、文本等。非結構化數據在計算機中也是有固定編碼的,可以通過“特征提取”來提取結構化的特征。近些年出現的深度學習技術,更準確地說是表征學習技術,可以實現端到端的學習,不用依賴顯式的特征提取。
需要強調的是,隨著大數據和人工智能技術的發展,半結構化和非結構化數據在數據分析和數據挖掘領域的應用越來越普遍,對于分析建模師,有必要掌握半結構化和非結構化數據處理、特征提取和建模技術。
6. 數據維度
維度是人們觀察事物的角度。從不同的維度觀察數據,可能會得到不同的結果,同時也使人們可以更加全面和清楚地認識事物的本質。數據的維度是定義數據指標的角度,即指標是針對給定一組變量細分、計算出來的。維度可以簡單理解為類似于計算指標SQL的group by語句中的一組變量。數據維度的示例如圖4-1所示。

圖4-1 數據維度示例
當數據有了維度的概念之后,便可對數據進行多維分析。常見的多維分析主要有鉆取、切片、切塊和旋轉。鉆取是改變維度的層次,即變換分析的粒度(類似于放大鏡或鏡頭調整焦距),包括上鉆和下鉆。上鉆是在某一維上將低層次的細節數據概括到高層次的匯總數據,減少了分析的維數。下鉆則是相反,它是將高層次的匯總數據進行細化,深入到低層次的細節數據,增加了分析的維數。對于切片和切塊,在多維分析中,如果在某一維度上限定了一個值,則稱為對原有分析的一個切片。如果對多個維度進行限定,每個維度限定為一組取值范圍,則稱為對原有分析的一個切塊。在多維分析中,維度都是按某一順序顯示的,變換維度的順序和方向或交換兩個維度的位置的操作稱為旋轉。
7. 數據粒度
數據粒度是指數據倉庫中數據的細化和綜合程度。根據數據粒度細化標準,細化程度越高,粒度越小,細化程度越低,粒度越大。根據數據倉庫中的數據粒度,我們可以估計數據倉庫存儲空間的大小。
數據粒度可以形象地理解為比例尺、分辨率、放大鏡。對于指定維度,例如日期維度,不同的粒度是指年、月、日等,越向下,數據粒度越細,同時數據存儲量以及對數據庫的處理能力要求就越高,可以從高粒度層次下鉆(明細),也可以從低粒度層次上鉆(匯總)。
4.1.2 常見數據問題
1. 數據PIT問題
數據PIT(Point In Time,時點)問題是建模過程中常見但是很容易被忽視的問題。對于離線建模,通常基于歷史數據建模,所有數據都必須回溯到歷史時點,使用歷史時點的數據。這就要求銀行在做數據存儲時保留變更(修改和刪除)的軌跡歷史信息,而不是僅保留當前的最新狀態信息,僅保留當前最新狀態信息不能實現歷史數據和狀態的回溯。
忽視數據PIT問題,可能導致變量時間穿越,即用未來的數據預測未來的目標,這種情況會帶來建模邏輯錯誤。
2. 數據回溯問題
數據可回溯是指可以回到歷史時點得到當時時點的數據。離線建模經常遇到數據不可回溯問題,數據的不可回溯性包括如下3種情況。
1)時點狀態數據原址更新,但未保存歷史時點快照。
2)數據實時API接口服務用完即走,并未落庫。
3)回溯時點之后數據庫升級,例如數據只在回溯時點之后才開始采集。
數據回溯可能存在“偽回溯”問題,特別是在采購外部第三方數據前進行數據測試時可能會面臨這個問題?!皞位厮荨奔幢砻嫔峡磾祿氐浇r點,但數據加工邏輯中隱含地使用了當前的數據。在采購外部第三方數據前進行數據測試時需要保持警惕,避免出現“偽回溯”問題。“偽回溯”問題帶來的后果是,采購前測試效果很好,上線后效果明顯下降。
3. 熱數據與冷數據
銀行數據有冷數據和熱數據之分。熱數據是需要被計算節點頻繁訪問的在線類數據。冷數據是不需要經常訪問的數據,比如企業備份數據、業務與操作日志數據、話單與統計數據。對于已經結清的賬戶,可以保存在單獨的已關戶賬戶表里,對應的流水數據也可以單獨保存,這樣有利于提高存量賬戶表數據處理性能。
在提取數據及進行數據處理時,需要有冷數據與熱數據的意識,避免數據提取不全或者數據處理邏輯錯誤。例如建模會用到客戶/賬戶信息表,一般是提取最新時點信息表,需要確保冷數據的客戶/賬戶仍然保留在表里,否則會出現關聯不上客戶信息的情況。
4. 松耦合與弱連接
多數情況下,信貸業務數據都是緊耦合的,表和表通過明確的主鍵和外鍵進行關聯,但在某些情況下,兩個數據表之間可能不存在明顯的業務關聯意義,也就不存在顯式的連接關系了。
1)人行征信數據:人行征信查詢一般是獨立的外部數據查詢前置,信貸申請表與人行征信可能不是通過一個鍵進行關聯的。
2)外部第三方數據:一般是根據用戶實體和時間戳進行連接,但本身沒有直接的業務關聯。
3)設備行為信息:用戶在設備上操作行為軌跡,與本筆業務之間沒有直接的關系。