在資料科學領域,資料準備是至關重要的基礎工作,直接影響後續分析的準確性和可靠性。資料的型別、來源和生成方式決定了資料準備策略的選擇。資料的結構化程度、來源的可靠性以及生成方法的合理性都會影響資料的品質,進而影響分析結果。因此,瞭解不同資料型別(結構化、非結構化和半結構化資料)的特性,以及掌握首要來源和次要來源的區別,對於有效進行資料準備至關重要。此外,理解合成資料的生成方法,包括統計分佈、代理模型和深度神經網路等,也有助於在缺乏真實資料的情況下進行資料分析。

2.3.2 非結構化資料

非結構化資料不遵循特定的格式或預先定義的模型。資料或實體之間的關聯是任意的,根據邏輯關聯或依賴。如圖 2.2 所示,這種資料可以被視為一個圖表或網路,其中包含資料屬性(節點)。缺乏統一的結構導致異常和模糊性,使得使用傳統程式設計平臺處理這種資料更加具有挑戰性。非結構化資料通常是質性的,包括文字、影片、音訊、影像、報告、電子郵件、社交媒體帖子、圖表資料等。NoSQL 資料函式庫現在提供了一個流行的平臺來儲存非結構化資料。儲存和處理非結構化資料的需求正在增長,因為大多數當前的資料生成源不遵循任何嚴格的框架。與結構化資料相比,非結構化資料格式具有高度的可擴充套件性,導致需要大資料儲存和處理。

2.3.3 半結構化資料

半結構化資料代表了一種介於結構化和非結構化格式之間的資料安排。雖然這種資料不符合特定的資料模型,但包含的資料可以透過標籤或其他標記器來進行分類別,從而納入某些語義元素。如圖 2.3 所示,屬性分類別可能會強制執行一個分層安排,包括記錄和欄位。這種格式也被稱為自我描述。大多數大資料來源都會產生半結構化資料。與其他兩種格式相比,半結構化資料相對較少複雜且易於分析。半結構化資料分析已經成為大資料觀點下的熱門話題。流行的資料儲存和事務格式,如 JSON 和 XML,是為了與半結構化資料進行通訊而設計的。

2.4 資料來源

資料來源是指資料的來源地。資料函式倉管理系統的主要資料來源是資料函式庫,它可以儲存在本地硬碟或遠端伺服器上。電腦程式可以使用檔案、資料表、電子試算表、XML 檔案或甚至硬編碼的資料作為其資料來源。根據資料收集或生成的方式,來源可以分為兩種。

2.4.1 首要來源

首要來源是直接由玄貓生成的原始或原始資料。首要來源有助於檢索隱藏和新的事實。生成首要資料是一項昂貴且耗時的活動。一旦分析,首要資料可以進一步處理以生成次要資料。

2.4.2 次要來源

次要來源是儲存已經從首要來源衍生並經過整理的資料的倉函式庫。通常,科學家生成資料並使其可供公眾使用。資料可能會經過多輪實驗和統計分析。雖然不是直接生成,但次要來源可以確保可靠性和有效性,如果它已經測試了資料。

2.5 資料生成

研究人員和資料科學家經常遇到缺乏適合的真實世界(首要或次要)資料的情況,或者可能無法使用此類別資料,由於封閉存取、隱私問題和/或訴訟潛力。在這種情況下,使用人工生成的資料集是一種替代方案。合成資料生成是指使用電腦模擬或演算法建立人薪水料,以替代真實世界資料的過程。

2.5.1 合成資料型別

根據生成資料的人工程度或合成度,可以將其分為兩種型別:完全合成和部分合成。

2.5.2 資料生成步驟

基本的資料生成步驟可能包括五個主要步驟:確定目標、選擇生成器、收集樣本資料、訓練模型和生成資料。

2.5.3 生成方法

可以使用以下幾種技術來生成合成資料:統計分佈、代理模型和深度神經網路。

2.5.4 工具

有許多合成資料生成工具可用,包括軟體工具和程式函式庫。例如 Hazy、Datomize、Mostly.AI 和 Facteus 等軟體工具,可以生成銀行、保險和金融科技行業的原始銀行資料。Python 程式函式庫如 Scikit-Learn、Numpy、Pydbgen 和 Sympy 等,可以用於生成各種型別的資料。

看圖說話:

  flowchart TD
    A[首要來源] --> B[次要來源]
    B --> C[合成資料]
    C --> D[統計分佈]
    D --> E[代理模型]
    E --> F[深度神經網路]

資料準備:資料科學的基礎

資料準備是資料科學中一個至關重要的步驟,決定了資料分析的品質和可靠性。高品質的輸入資料是確保資料科學任務成功的關鍵因素。因此,瞭解資料的性質、儲存格式和來源至關重要。

資料清理

資料清理是資料準備的第一步,涉及移除雜訊、估計缺失值和糾正背景資訊。這個步驟主要解決兩個問題:缺失值和資料重複。缺失值可能對資料分佈產生負面影響,導致結果偏差或使描述性和預測性資料科學演算法失敗。

處理缺失值

缺失值是資料預處理中的一個重大挑戰。它們可能由於各種技術原因而產生,例如測量裝置問題、資料傳輸中斷或資料收集階段的疏漏。缺失值可以分為三類別:完全隨機缺失(MCAR)、隨機缺失(MAR)和非隨機缺失(MNAR)。

  • 完全隨機缺失(MCAR):指的是缺失資料與其實際值無關的缺失資料。
  • 隨機缺失(MAR):當缺失觀察的機率取決於其他觀察資料的方面,但不取決於缺失觀察本身的值時。
  • 非隨機缺失(MNAR):指的是不屬於前兩類別的缺失資料,在這種情況下,缺失觀察的可能性與其值相關。

處理缺失值有幾種方法,包括忽略它們、引數估計等。忽略缺失值只適合於MCAR情況,否則可能導致結果偏差。引數估計方法,如使用最大似然法或期望最大化演算法,適合於MNAR缺失資料。

資料還原和轉換

除了資料清理,資料還原和轉換也是重要的步驟。資料還原涉及減少資料維度以簡化分析,而資料轉換則涉及將資料轉換為適合分析的格式。

資料整合

最後,資料整合是將多個資料源合並成一個統一的檢視,以便進行更全面性的分析。這一步驟需要仔細處理資料之間的關係和差異,以確保最終結果的準確性。

3.2.1.3 資料填補(Imputation)

資料填補是指對於缺失資料的處理過程。其目的是使用估計值替代缺失的資料,以提高資料的完整性。雖然資料填補可能無法提供最準確的預測,但它可以增強資料的品質。

3.2.1.3.1 單一值填補(Single-value Imputation)

單一值填補是一種用單一估計值替代缺失值的方法。這種方法假設缺失值與已知值相似。常見的單一值填補方法包括:

  • 平均值填補(Mean Imputation):使用某個屬性的平均值替代缺失值。
  • 迴歸填補(Regression Imputation):使用迴歸模型預測缺失值。
  • 最小平方迴歸填補(Least-squares Regression Impute):使用最小平方迴歸模型填補缺失值。
  • 區域性最小平方迴歸填補(Local Least Squares Impute):結合KNN填補法和最小平方迴歸模型。
  • K-Nearest-Neighbor 填補(KNN Impute):使用K個最接近的鄰居來估計缺失值。

3.2.1.3.2 熱甲板和冷甲板方法(Hot-deck and Cold-deck Methods)

熱甲板填補法是一種使用最後觀察值替代缺失值的方法。冷甲板填補法則是從外部資料集中選取捐贈例來替代缺失值。

3.2.1.3.3 多重填補(Multiple Imputations)

多重填補是一種使用多個預測值來估計缺失值的方法。這種方法假設缺失值具有單調性,如果一個屬性的某個值缺失,則其後續值也缺失。

3.2.2 重複資料偵測(Duplicate-data Detection)

重複資料偵測是指檢測資料中重複的記錄或屬性。傳統方法是透過比較記錄或屬性來檢測重複資料,但這種方法耗時且低效。其他方法包括:

3.2.2.1 知識基礎方法(Knowledge-based Methods)

知識基礎方法使用知識函式庫中的特定知識來檢測重複資料。例如,Intelliclean 工具使用知識函式庫來標準化記錄中的縮寫和全稱。

3.2.2.2 ETL 方法(ETL Method)

ETL 方法(Extraction、Transformation、Loading)是一種廣泛使用的重複資料偵測方法。這種方法包括三個步驟:抽取、轉換和載入。它可以進行例項級別和結構級別的重複資料偵測。

3.3 資料降維(Data Reduction)

大規模資料挖掘可能耗時且資源密集,因此使用完整的資料集不是總是必要的。資料降維技術可以減少資料的大小,而不影響分析結果的品質。常見的資料降維方法包括:

3.3.1 引數式降維(Parametric Data Reduction)

引數式降維技術使用模型引數來減少原始資料的體積。這種方法包括迴歸和非線性模型等。

3.3.2 抽樣(Sampling)

抽樣是一種從大型資料集中選取代表性子集的方法。抽樣可以分為簡單隨機抽樣、分層抽樣和聚類別抽樣等。

3.3.3 維度降低(Dimensionality Reduction)

維度降低是指消除不必要或不重要的屬性,以提高分析效率和降低維度災難的影響。常見的維度降低技術包括主成分分析(PCA)。

3.4 資料轉換(Data Transformation)

資料轉換是指將資料從一個格式轉換為另一個格式,以適應分析需求。常見的資料轉換技術包括:

3.4.1 離散化(Discretization)

離散化是指將連續屬性轉換為離散屬性。離散化可以提高分析效率和簡化模型。

3.4.1.1 監督離散化(Supervised Discretization)

監督離散化使用類別標籤來決定離散化邊界。常見的監督離散化方法包括根據熵的離散化和根據卡方檢驗的離散化。

3.4.1.2 非監督離散化(Unsupervised Discretization)

非監督離散化不使用類別標籤來決定離散化邊界。常見的非監督離散化方法包括平均值離散化和中位數離散化等。

3.4.2 標準化(Standardization)

標準化是指將資料轉換為相同尺度,以消除不同尺度之間的差異。標準化可以提高分析效率和簡化模型。

從資料科學的基本——資料準備的完整流程觀點來看,本文深入探討了資料的本質、型別、來源及生成方式,並著重剖析了資料準備的關鍵環節:資料清理、還原、轉換與整合。尤其在資料清理部分,針對缺失值處理,從MCAR、MAR到MNAR,詳細闡述了不同缺失機制及其對應的處理策略,展現了系統性的思考。此外,本文還涵蓋了重複資料偵測、資料降維及資料轉換等重要技術,並對各項技術的細分方法,如單一/多重填補、監督/非監督離散化等,進行了深入比較分析,體現了相當的專業深度。展望未來,隨著資料規模的不斷擴大及資料複雜度的提升,更高效、更智慧的資料準備技術將成為資料科學領域的發展趨勢。預計自動化資料清理、根據AI的缺失值填補及更精細化的資料轉換方法將扮演更重要的角色。對於資料科學家而言,掌握這些前沿技術,並能根據實際應用場景靈活運用,將是提升資料分析效率和準確性的關鍵。玄貓認為,資料準備並非單純的前置作業,而是貫穿資料科學始終的迭代過程,其重要性值得所有資料科學從業者重視。