Party Resolution - Graph Example
This notebook steps through extracting all the transaction reports from the API, then generating a network/graph of reported parties (using the networkx graph library). Once the graph is created high frequency (poor linkage characteristics are removed) and node identifiers less than a specified number of characters. The notebook then goes on to loop through the nodes contracting nodes with more than two linkages. This is the type of notebook that is required to be produced as part of ```FI-Comp``` thus coding has been removed.
%%capture capt
print(nx.info(G)) ## Alternatively print('Network Nodes : ' , G.number_of_nodes()) print('Network Edges : ' , G.number_of_edges())
Remove Nodes
In this step we reduce the graph to only include nodes required for contraction. Firstly we remove nodes with a high degree - which means that they have a lot of linkages - indicating that they would be poor evidence that a party should be contracted. Secondly we drop nodes with short addresses (as people sharing a common short address generally does not mean much - e.g. two people have an address of Sydney). Finally we remove nodes with a degree of one or zero. Basically if a name, address, account or identification is only linked to one partyId then they can not be used for contraction.