Entry Name: "PKU-Yuan-MC2"

VAST Challenge 2021
Mini-Challenge 2

 

Team Members:

Yuchu Luo, Peking University, [luoyuchu@pku.edu.cn] PRIMARY

Datong Wei, Peking University, [weidt@pku.edu.cn]

Jiachen Chen, Peking University, [1800012949@pku.edu.cn]

Yuhan Guo, Peking University, [1900017746@pku.edu.cn]

Xiaoru Yuan, Peking University, [xiaoru.yuan@pku.edu.cn] SUPERVISOR

 

Student Team: YES

 

Tools Used:

Python

Excel

D3.js

Adobe Illustrator

MovementFinder, developed by Peking University, 2014

Several simple visualization tools, developed by Peking University, 2021

 

Approximately how many hours were spent working on this submission in total?

150

 

May we post your submission in the Visual Analytics Benchmark Repository after VAST Challenge 2021 is complete?

Yes

 

Video

undefined


As a visual analytics expert assisting law enforcement, your mission is to identify which GASTech employees made which purchases and identify suspicious patterns of behavior.. You must cope with uncertainties that result from missing, conflicting, and imperfect data to make recommendations for further investigation.

Use visual analytics to analyze the available data and develop responses to the questions below. In addition, prepare a video that shows how you used visual analytics to solve this challenge. Submission instructions are available here. Entry forms are available for download below.

Questions

Before exploring the popularity of locations, we matched the credit cards and loyalty cards. We determine whether the records of credit cards and loyalty cards are matched according to rules in Fig 1.1. The reason we define the second class match is that we observed the existence of many pairs of records being of different prices but the same numbers after decimal points in prices. We infer they are the same deal of transactions under a strange loyalty card policy.

image-20210713014853011

Fig 1.1: Rule for matching credit card records and loyalty card records

After matching, there are 82 unmatched loyalty card records and 182 credit card records. And the matched pairs are merged. So we got the processed list of transactions. And we find some anomalies during matching. (Fig 1.2)

image-20210713033819686

Fig 1.2: Anomalies in match result: non-one-to-one correspondences between cards

We firstly explore the popularity of POI from the statistical overview. As Fig 1.3 and Fig 1.4, we demonstrate the visiting times / total cost and average visiting daytime of different POIs with a scatterplot (locations like homes and the GASTech are irrelevant in this question). We found that some POIs for eating are visited most frequently like Brew've Been Served in the morning, Katerina's Cafe at lunch and dinner time. We can also check the detail by interactions between the scatterplot and a table-like view. (Fig 1.5)

image-20210713011857241

Fig 1.3: The visiting times and average visiting daytime of all POI

The most POIs with high costs are related to industrial production, while others are shops or restaurants. (Fig 1.4)

image-20210713011645550

Fig 1.4: The total cost and average visiting daytime of all POI

image-20210713035222578

Fig 1.5: Another view provides more detailed information about transactions. Through interactions, we can explore when is a POI popular.

Through the overview of transactions, we can find anomalies in time. For example, the transactions in Kronos Mart always happen at midnight. (Fig 1.6)

image-20210713040607284

Fig 1.6: An anomaly on time: all the records in Kronos Mart are in early morning. This defies common sense.

Some anomalies in prices are also able to be detected. For example, the largest transaction happened in Frydos Autosupply n' More (Fig 1.7). And By filtering and nonlinear transformation, we can recognize the largest transaction related to food. (Fig 1.8)

image-20210713043259320

Fig 1.7: An anomaly on prices: a very large transaction occured on a non-special credit card in Frydos Autosupply n' More.

image-20210713045316848

Fig 1.8: Through filtering and non-linear transformation, we can check these large food-related transactions.

The anomalies in cards matching have been mentioned before. And we partially correct them by the second class match rule.

 

 

2. Add the vehicle data to your analysis of the credit and loyalty card data. How does your assessment of the anomalies in question 1 change based on this new data? What discrepancies between vehicle, credit, and loyalty card data do you find? Please limit your answer to 8 images and 500 words.

Adding the GPS data of vehicles, we tried firstly to map the POIs to a precise position in the map. The original tourist map only give very rough position of POIs. Some POIs even more do not show up in the tourist map. For matching the POIs and positions on the map, we combined an automatic algorithm and interactive visualization system. (Fig 2.1)

image-20210713145509131

Fig 2.1: the pipeline to find the precise positions for POIs

In our visualization system, all the positions where any cars had been stay are annotated as the candidate positions. What we need to do on the visualization system is to find correspondent candidate position for each POI. In our visualization, user can select a candidate position as well as a POI at the same time to compare their temporal features of visiting. The entries would be automatically sorted for convenience. (Fig 2.2)

image-20210713142845219

Fig 2.2: A view for observing the overall characteristic of GPS data and transaction data

3. Can you infer the owners of each credit card and loyalty card? What is your evidence? Where are there uncertainties in your method? Where are there uncertainties in the data? Please limit your answer to 8 images and 500 words.

To infer the owners of credit cards and loyalty cards, we need to match the cards and cars. We leverage a pipeline including an automatic matching algorithm and a manual interactive determination.

image-20210713135252356

Fig 3.1: The pipeline of matching credit cards and gps records

Firstly, we design a metric to measure the likelihood of a car matching a car. Because we think a transaction in a card is more likely to match with a car stop event than a. while the opposite is not true. So the matching score will be calculated based on each transaction. (Fig 3.1)

In the outcome of automatic matching, some results are very confident, while others are weaker or even conflict with each other. So we implemented a simple visualization tool to check and do further determination. (Fig 3.2)

image-20210713135946671

Fig 3.2: A interactive visualization system prototype to check the result generated by automatic algorithm and make modification.

A result overview and a rough check can be done on the matrix view. The score and rank of each pair can be read when the mouse hovers. In this view, a grid will be framed by a red border if it has maximum value among its column and row. This kind of grids is likely to represent stable and confident matching pairs. While the border of grids with only the maximum value among its column or row is a dashed red box. (Fig 3.3)

image-20210713140500035

Fig 3.3: In the matrix view, we can have a overview on the matching. We also can check the stable couples and strongly potential competitors in a match

We also can check the distance between the score of the best match and the second-best match. If the distance is far enough, we would think the match is with strong confidence.

For those pairs which are difficult to discriminate, we need more careful check, we provide small multiples to check the detailed matching situation of each transaction. (Fig. 3.4)

image-20210713142150329

Fig 3.4: a view of small multiples demonstrate the detailed context of a transaction. By interactively adjusting the parameters, user can discriminate between pairs with similar computed matching score

As for the uncertainty in the data, we found mainly three categories of uncertainties. The first type of uncertainty is the record time-shifting. As mentioned before, the Kronos Mart and several POIs for breakfast have obvious record time time-shifting.

The second type of uncertainty in the data is the noise in GPS records. But fortunately, the noise only appears in the GPS records of car #28. (Fig 3.5)

image-20210713154130335

Fig 3.5: The noise in GPS records is a kind of uncertainties in data

The last one is the missing GPS records. The driver of car #9, Gustav Cazar, has a spotty GPS logger. There are many missing segments in the GPS record of car #9, which makes it hard to trace its actual trajectories. (Fig 3.6)

image-20210713155344072

Fig 3.6: In the GPS record of car #9, two adjacent GPS record entities may be far from each other
4. Given the data sources provided, identify potential informal or unofficial relationships among GASTech personnel. Provide evidence for these relationships. Please limit your response to 8 images and 500 words.

img

Fig 4.1 Transactions and stop events at Chostus Hotel are highlighted.

Elsa(#7) and Brand(#33) drove to the Chostus Hotel together during lunch time.

img

Fig 4.2 Car stop events at #22, #23 and #30’s home are highlighted with red stroke.

Isande(#28) went to #22, #23 and #30’s home 2 times. Isande(#28) went to Ahaggo Museum with Adra(#22) on January 18th, and Adra(#22) paid the bill.

5. Do you see evidence of suspicious activity? Identify 1- 10 locations where you believe the suspicious activity is occurring, and why? Please limit your response to 10 images and 500 words.

img

Fig 5.1 Car stop events at #22, #23 and #30’s home are highlighted with red stroke

16 cars gathered at #2’s home at night on January 10th.

img

Fig 5.2 Car stop events at #4’s, #10’s, #32’s and #35’s home.

Car #15 and #16 stayed at #10’s home during midnight on January 7th. Car #15 and #24 stayed at #32’s home during midnight on January 9th. Car #16 and #21 stayed at #35’s home during midnight on January 11th. Car #21 and #24 stayed at #4’s home during midnight on January 14th.

6. If you solved this mini-challenge in 2014, how did you approach it differently this year?