Wykorzystanie algorytmu EM do łączenia rekordów

9

Interesuje mnie łączenie rekordów w 2 zestawach danych według imienia, nazwiska i roku urodzenia. Czy może to być wykonalne za pomocą algorytmu EM, a jeśli tak, to w jaki sposób?

Rozważ następujący zapis w 1. jako przykład: Carl McCarthy, 1967. Przeszukam wszystkie rekordy w 2. zbiorze danych i przypiszę odległość jaro-winkler między 1. imieniem a Carlem oraz odległość jaro-winkler między nazwiskiem a McCarthy. Odległość ta jest probabilistyczna, podobnie jak odległość między latami urodzenia. Łączymy te 3 prawdopodobieństwa (pomnożymy? Średnią?) W 1.

Teraz jest część reguły decyzyjnej. Pozwól nam uszeregować wszystkie prawdopodobieństwa od najwyższego do najniższego. Najpierw chcemy P (pierwsze trafienie jest zgodne)> = próg. Po drugie, chcemy również P (pierwsze trafienie jest zgodne) / P (drugie trafienie jest zgodne)> = próg, jeśli istnieje P (drugie trafienie jest zgodne). Po trzecie, chcemy, aby pierwsze trafienie w tym drugim zestawie danych było zgodne dla nie więcej niż 1 osoby w 1. zestawie danych z Carlem McCarthym, 1967.

Jak można ustalić te progi?

Wolę podejścia w Stata i / lub Perlu.

Zobacz na przykład:

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1479910/pdf/amia2003_0259.pdf

(Mimo to nadal nie w pełni śledzę, dlaczego i jak oraz jakie są dane wejściowe i wyjściowe, a także założenia i stopień ich ograniczenia).

użytkownik1690130
źródło
Czy zastanawiałeś się nad użyciem reclink w Stata?
Dimitriy V. Masterov

Odpowiedzi:

4

Absolutnie algorytm EM zastosowano do łączenia probabilistycznego. Istnieje wiele artykułów na ten temat, pomocne mogą być następujące informacje Winklera dotyczące szczegółów teoretycznych:

http://www.census.gov.edgekey.net/srd/papers/pdf/rr2000-05.pdf

Również oprogramowanie do łączenia danych opracowane przez Kevina Campbella jest już dostępne tutaj:

http://the-link-king.com/

Oprogramowanie można pobrać bezpłatnie, a Kevin Campbell oferuje wsparcie za opłatą. Kod jest napisany w SAS, więc potrzebujesz podstawowego pakietu SAS.

RobertF
źródło
Dziękuję Ci! Przeczytałem 2 artykuły Winklera, ale nie do końca je zrozumiałem. Zebrałem EM z tego artykułu. Nie wiem też, jak korzystać z SAS. Wiem, że perl ma moduł EM, którego chciałbym użyć, ale nie jestem pewien, dlaczego EM jest odpowiedni ani jak go używać. Pod względem koncepcyjnym, w jaki sposób EM odpowiada na powyższe pytania?
user1690130
Rozumiem, że algorytm EM jest przydatny do modelowania prawdopodobieństwa pozytywnego dopasowania, ponieważ bierze pod uwagę nieznane (lub „ukryte”) prawdopodobieństwo nieprawidłowego połączenia dwóch różnych rekordów lub niepoprawnego połączenia dwóch pasujących rekordów. Szacunki tych prawdopodobieństw są dopracowywane na każdym etapie algorytmu w celu maksymalizacji funkcji prawdopodobieństwa.
RobertF
Jakie dane wejściowe zapewniam? Jednowymiarowy prob i etykieta? I wyrzuca optymalne dopasowanie?
user1690130,
0

Istnieje oprogramowanie RELAIS, które rejestruje powiązania z:

6) Powiązanie rekordów probabilistycznych (Oszacowanie parametrów modelu Fellegiego i Suntera za pomocą EM (Expectation-Maximization).

RELAIS został zaimplementowany w Javie i R i ma architekturę bazy danych (MySQL).

Istnieje więcej dokumentacji na temat łączenia rekordów dostępnych w projekcie ESSnet Data Integration .

djhurio
źródło