Difference between revisions of "IS428 AY2019-20T1 Assign Tommy Johnson"

From Visual Analytics for Business Intelligence
Jump to navigation Jump to search
Line 69: Line 69:
 
[[File:Combinedata.PNG|500px|centre]]
 
[[File:Combinedata.PNG|500px|centre]]
  
The last step is to combine the static and mobile sensor data into 1 file. This will be the working file that I am going to use in Tableau. I use Union because I am just going to append more rows. After that, I will still need to clean the data to remove any duplicate columns so that all columns are arranged.
+
The next step is to combine the static and mobile sensor data into 1 file. This will be the working file that I am going to use in Tableau. I use Union because I am just going to append more rows. After that, I will still need to clean the data to remove any duplicate columns so that all columns are arranged.
 +
 
 +
=== 4. Aggregated the Timestamp by 1 minute interval ===
 +
Using the following formula, I aggregate the timestamp by 1 minute interval
 +
</br>
 +
<b> DATETIME(INT([Timestamp]) + (INT(FLOAT([Timestamp]) % 1 * (60*24)) / (60*24))) </b> </br>
 +
DATETIME(INT([Timestamp]) : Retain the datetime of the timestamp </br>
 +
(INT(FLOAT([Timestamp]) % 1 * (60*24)) / (60*24))) : A calculation to create a 1-minute interval. ([60 minute] / [desired minute interval] * [24 hour]) </br>
 +
After that, i deleted the original Timestamp from the raw data.
 +
[[File:1-minuteinterval.PNG|250px|centre]]
 +
 
 +
=== 5. Aggregated the Value based on the Timestamp ===
 +
After aggregated the timestamp, I sum all the measuring readings for that particular sensor ID within that 1 minute interval. For example, 12 counts of readings level for Sensor ID 1 across different seconds. I summed the 12 counts and created 1 row within that minute. This will reduce the number of rows in the data set. Hence, create a faster running time.
 +
[[File:AggregatedValue.PNG|250px|centre]]
  
 
The final Workflow will look like this:
 
The final Workflow will look like this:
  
 
[[File:Finalworkflow.PNG|500px|centre]]
 
[[File:Finalworkflow.PNG|500px|centre]]
 +
[[File:Finalworkflow(2).PNG|500px|centre]]
  
 
== Interactive Visualization ==
 
== Interactive Visualization ==

Revision as of 11:56, 5 October 2019

Nuclear-power-plant 09-24-18.jpg Visualization Analysis on Always Safe nuclear power plant

HOME

 

22px   ABOUT US

 

22px   PROJECT OVERVIEW

 

22px   PROJECT MANAGEMENT

 

22px   DOCUMENTATION

Problem & Motivation

One of St. Himark’s largest employers is the Always Safe nuclear power plant. The pride of the city, it produces power for St. Himark’s needs and exports the excess to the mainland providing a steady revenue stream. However, the plant was not compliant with international standards when it was constructed and is now aging. As part of its outreach to the broader community, Always Safe agreed to provide funding for a set of carefully calibrated professional radiation monitors at fixed locations throughout the city. Additionally, a group of citizen scientists led by the members of the Himark Science Society started an education initiative to build and deploy lower cost homemade sensors, which people can attach to their cars. The sensors upload data to the web by connecting through the user’s cell phone. The goal of the project was to engage the community and demonstrate that the nuclear plant’s operations were not significantly changing the region’s natural background levels of radiation.

When an earthquake strikes St. Himark, the nuclear power plant suffers damage resulting in a leak of radioactive contamination. Further, a coolant leak sprayed employees’ cars and contaminated them at varying levels. Now, the city’s government and emergency management officials are trying to understand if there is a risk to the public while also responding to other emerging crises related to the earthquake as well as satisfying the public’s concern over radiation.

With the data visualization, it would help analyse:

  • The radiation level for both static and mobile sensor over time
  • Identify observations and anomalies to the existing data available
  • Identify contaminated areas and cars so that evacuation can be done efficiently and quickly

Dataset Analysis & Transformation Process

Before moving on to the analysis, it is essential to clean and transform the raw data so that I can bring value to the analysis. In the zipped file, I am given 3 raw data sets namely:

  • MobileSensorReadings.csv - contains the sensor readings of different mobile sensor Ids over a period of time and its locations
  • StaticSensorReadings.csv - contains the sensor readings of different static sensor Ids over a period of time
  • StaticSensorLocations.csv - contains the different static sensor Ids with its locations

I will be using Tableau Prep to clean and transform the data. It is a new feature provided by the Tableau. The following section will explain step by step on how I prepare the data sets.

1. Combine the Static sensor readings and locations

JoinStaticsensor.png

The first step is to combine the two csv files of static into one. This is to create a tidier data (Tall and skinny structure). I use Join to combine the columns from two different files into one.

2. Create a calculated field for Static and Mobile sensor Ids

CleanSensorId.PNG

The next step is to concatenate "- Static" or "- Mobile" at the back of the sensor Ids with the [Sensor-id] + "- Mobile" or [Sensor-id] + "- Static" calculated fields. This is because I realize that the static sensor Ids have the same Id number although they are referring to different records. Hence, this is done to avoid confusion at the later part. The final output will be as follow.

Static Sensor

Staticdata.PNG


Mobile Sensor

Mobiledata.PNG

3. Combine the static and mobile sensor data into one

Combinedata.PNG

The next step is to combine the static and mobile sensor data into 1 file. This will be the working file that I am going to use in Tableau. I use Union because I am just going to append more rows. After that, I will still need to clean the data to remove any duplicate columns so that all columns are arranged.

4. Aggregated the Timestamp by 1 minute interval

Using the following formula, I aggregate the timestamp by 1 minute interval
DATETIME(INT([Timestamp]) + (INT(FLOAT([Timestamp]) % 1 * (60*24)) / (60*24)))
DATETIME(INT([Timestamp]) : Retain the datetime of the timestamp
(INT(FLOAT([Timestamp]) % 1 * (60*24)) / (60*24))) : A calculation to create a 1-minute interval. ([60 minute] / [desired minute interval] * [24 hour])
After that, i deleted the original Timestamp from the raw data.

1-minuteinterval.PNG

5. Aggregated the Value based on the Timestamp

After aggregated the timestamp, I sum all the measuring readings for that particular sensor ID within that 1 minute interval. For example, 12 counts of readings level for Sensor ID 1 across different seconds. I summed the 12 counts and created 1 row within that minute. This will reduce the number of rows in the data set. Hence, create a faster running time.

AggregatedValue.PNG

The final Workflow will look like this:

Finalworkflow.PNG
Finalworkflow(2).PNG

Interactive Visualization

The interactive visualization can be accessed here:

Home Page

Radiation Level by Map Chart

I am using map chart to visualize the radiation measurements for both static and mobile sensors. With this chart, analysts will be able to see which areas are prone to high or low radiation levels from each sensor types. Adding on, they are able to visualize the track that one mobile sensor took throughout the day and how these affect the readings.

Static sensor radiation level

MapchartRadiationLevel.PNG

Mobile sensor radiation level

Mobilemapchartradiationlevel.PNG

To enhance the visualization of the data, implementing interactive elements would help users in analyzing the data intuitively. The following elements are used in this graph.

Interactive Features Rationale Brief Implementation Steps
Highlight Mobile sensor ID
HighlightsensorID.PNG
To provide a better insight for the analyst to understand how one particular mobile sensor ID move and how it can affect the readings
Click on the arrow button on the Sensor ID filter and choose "Show Highlighter
Filter dates with the use of checkboxes
Datefilter.PNG
To provide flexibility for analysts to choose the dates that they are interested to analyse. They can choose only one or multiple dates.
  1. Drag the Timestamp to the Filter
  2. Change the format of the timestamp to custom date Month/Date/Year with Date Part option
    CustomDate.PNG
Animate the radiation level throughout the day
TimestampAnimation(1).PNG
To allow for greater analysis and aesthetics of the data. Analysts will be able to view the changes of radiation level and identify the highest / lowest level at a particular time clearly.
  1. Put the Timestamp in Pages section of the Tableau
  2. Change the format of the timestamp to Hour with a custom option of Date Value

Readings Level by sensor type

For further breakdown, I visualize how the readings changes over time according to the sensor type.This visualization allows the analyst to look at the pattern of the readings at one glance.

Static reading level

Staticreadings.PNG

Mobile reading level

The snapshot below is not limited. Analysts are able to scroll down to view more reading levels from different sensor Id

Mobilereading.PNG
Major features included Rationale Brief Implementation Steps
Differentiate sensor ID by the colour
SensorIDColour.PNG
To provide easy readability and improve on aesthetics.
Drag the sensor ID to the color Marks
Differentiate the timestamp by days
Timestampdifferentiate.PNG
To provide easy readability and improve on aesthetics
Drag the Timestamp in the Columns and custom the date to Month/Date/Year with Date Part option
CustomDate.PNG
Log Transformation of the value
LogValue.PNG
Log transformation will make the distribution to be less skewed. This will make the pattern to be more interpretable and inferential statistics are met
Create a calculated field of log value. Then, put it at the Rows

Interesting Observation and Anomalies

This section aims to answer the questions posed at the mini challenges

Q1. Visualize radiation measurements over time from both static and mobile sensors

To answer this question, you may look at the Overall Radiation Level and Readings Level by sensor type

  • I found out that the highest readings level for static sensor comes from sensor 15-Static at 1,077 cpm on 8 April 2020 at 10:20:10 AM
Higheststatic.PNG


  • The lowest reading level for static sensor comes from sensor 14 - Static at 0 cpm on 10 April 2020 at 6:06:25 AM
Loweststatic.PNG


  • The highest readings level for mobile sensor comes from sensor 2-Mobile at 1,673 cpm on 6 April 2020 at 9:17:50 PM
Highestmobile.PNG


  • The lowest reading level for mobile sensor comes from sensor 19-Mobile at 0 cpm across both 6 April 2020 to 7 April 2020
Lowestmobile.PNG