2014-01-09 43 views
0

我真的不知道該從哪個項目開始,所以我希望一個廣泛的問題可以至少讓我指出正確的方向。數據匹配算法方法

我現在有2個數據集,每個數據集大約5GB,有2百萬觀察值。它們是在特定時間段內爲特定區域的房產清單收集的評估和歷史數據。我需要做的是將屬性相互匹配。因此,一段時間內可能會出現一次財產,因爲它在此期間被出售了2次或3次。在這個歷史中,我有賣家信息,貸款信息和銷售信息。在評估數據中,我具有描述所售物業的所有特徵。所以爲了做任何定價模式,我需要匹配這兩個。

我有每個類似的變量,但他們會略有不同(拼寫錯誤,縮寫等)。有沒有人有任何關於通過這個建議?首先,我想要做什麼程序?我在STATA,R和一點SAS和Matlab方面有經驗,但我更願意使用前兩者。

我通過這個閱讀:

Data matching algorithm

當他使用.NET和一個用戶提出了萊文斯坦的方法(在那裏計算串之間的距離),所以像地址字段,我可以用這個和重量兩個字符串之間的近似精度。然後有人建議也許可以使用Soundex作爲賣家/所有者的名稱。

但是我真的迷失在如何實現這一點,在我接觸我的部門的任何人之前,我真的需要對我正在做的事有一些想法!

任何幫助或建議將非常有幫助。

+0

您是否嘗試過地址上的確切字符串匹配?你會錯過很多比賽,但你會引入很少的錯誤。而你的數據集相當大,所以你可能只能接受完美匹配的子集 – Ivan

回答

0

是的,有幾個不錯的算法爲您所描述的字符串匹配的問題,即:

  • 哈羅 - 溫克勒,
  • 史密斯 - 沃特曼,
  • 骰子sorense
  • 同音
  • damerau-levenshtein和
  • monge-elkan 僅舉幾例。

我推薦A Comparison of String Distance Metrics for Name-Matching Tasks, by W. W. Cohen, P. Ravikumar, S. Fienberg瞭解什麼可能是最好的。

SoftTFIDF聲稱是最好的。它可以作爲Java包提供。有可用的字符串匹配和記錄鏈接算法其他實現方式:

庫。

+0

你可能會提供一些你所指的論文的更多信息,因爲鏈接看起來已經死了。非常感謝! – hannes101

+1

我更新了參考文獻以及主要作者網站(科恩)的論文鏈接。 – Edmon