Difference between revisions of "Slamdunkers Proposal"

From Visual Analytics for Business Intelligence
Jump to navigation Jump to search
 
(25 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
<div>
 
<div>
 
{|style="background-color:#F7A65C; border-top:3px solid #F7A65C; border-bottom:3px solid #F7A65C; color:#000000 padding: 5px 0 0 0;" width="100%" cellspacing="0" cellpadding="0" valign="top" border="0"  |
 
{|style="background-color:#F7A65C; border-top:3px solid #F7A65C; border-bottom:3px solid #F7A65C; color:#000000 padding: 5px 0 0 0;" width="100%" cellspacing="0" cellpadding="0" valign="top" border="0"  |
| style="padding:0.4em;  font-size:100%;  text-align:center; background-color:#B25500; font-family:font-family: 'Montserrat', sans-serif; " width="20%" |  [[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Proposal</b></font>]]
 
 
 
| style="background:none;" width="1%" | &nbsp;
 
| style="background:none;" width="1%" | &nbsp;
| style="padding:0.4em; font-size:100%; background-color:#F7A65C;   font-family:'Montserrat', sans-serif;   text-align:center; color:#E6E87D" width="20%" |[[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Presentation</b></font>]]
+
| style="padding:0.4em; font-size:100%;  text-align:center; background-color:#B25500; font-family:font-family: 'Montserrat', sans-serif; " width="25%" | [[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Proposal</b></font>]]
  
 
| style="background:none;" width="1%" | &nbsp;
 
| style="background:none;" width="1%" | &nbsp;
| style="padding:0.4em; font-size:90%; background-color:#F7A65C;  font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width="20%" |[[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Poster</b></font>]]
+
| style="padding:0.4em; font-size:90%; background-color:#F7A65C;  font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width="25%" |[[Slamdunkers_Poster|<font color="#ffffff" size=3><b>Poster</b></font>]]
  
 
| style="background:none;" width="1%" | &nbsp;
 
| style="background:none;" width="1%" | &nbsp;
| style="padding:0.4em; font-size:100%; background-color:#F7A65C; font-family:'Montserrat', sans-serif;  text-align:center; color:#E6E87D" width="20%" |[[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Application</b></font>]]
+
| style="padding:0.4em; font-size:100%; background-color:#F7A65C; font-family:'Montserrat', sans-serif;  text-align:center; color:#E6E87D" width="25%" |[[Slamdunkers_Application|<font color="#ffffff" size=3><b>Application</b></font>]]
  
 
| style="background:none;" width="1%" | &nbsp;
 
| style="background:none;" width="1%" | &nbsp;
| style="padding:0.4em; font-size:100%; background-color:#F7A65C;  font-family:'Montserrat', sans-serif;  text-align:center; color:#E6E87D" width="20%" |[[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Research</b></font>]]
+
| style="padding:0.4em; font-size:100%; background-color:#F7A65C;  font-family:'Montserrat', sans-serif;  text-align:center; color:#E6E87D" width="25%" |[[Slamdunkers_Research|<font color="#ffffff" size=3><b>Research</b></font>]]
  
 
|
 
|
Line 26: Line 24:
 
</div>
 
</div>
  
 +
PROPOSAL UPDATED
  
 
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>PROBLEM & MOTIVATION</font></div>
 
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>PROBLEM & MOTIVATION</font></div>
 
<br />
 
<br />
The National Basketball Association (NBA) is the pre-eminent men's professional basketball league in North America, and is widely considered to be the premier men's professional basketball league in the world. It is considered to be one of the four major sports in the United States and Canada. According to [http://www.businessinsider.sg/sports-leagues-top-salaries-2015-5/?r=US&IR=T#C34GUip0fempoAJ3.97/ Business Insider], NBA is the highest-paying league in the world. Numerous star players such as Kobe Bryant, Lebron James and Kevin Durant are among the world’s highest-paid sportsmen listed by [http://www.forbes.com/athletes/list/ Forbes] in 2016.
+
The National Basketball Association (NBA) is the pre-eminent men's professional basketball league in North America, and is widely considered to be the premier men's professional basketball league in the world. It is considered to be one of the four major sports in the United States and Canada. According to an article by [http://www.businessinsider.sg/sports-leagues-top-salaries-2015-5/?r=US&IR=T#C34GUip0fempoAJ3.97/ Business Insider], NBA is the highest-paying league in the world. Numerous star players such as Kobe Bryant, Lebron James and Kevin Durant are among the world’s highest-paid sportsmen listed by [http://www.forbes.com/athletes/list/ Forbes] in 2016.
  
In attempt to win the championship each season, NBA teams spends a large sum of money on [http://hoopshype.com/salaries/ players' salary]. It is in each team's best interest to recruit the best players with the limited resources they have. Before the start of each season, each team will negotiate with the players to represent them for the season. They aim to look for the best fit players in term of their skills, abilities and past statistics to form the best optimal formation. Better understanding of the players’ statistics can help coaches to focus their resources on the player's strengths.
+
In attempt to win the championship each season, NBA teams often scout top performing players to join them. These scouts often sit in the games to monitor and evaluate players’ performances, skills and techniques. Putting all these information together, they get an overview of all the players capabilities and their standing against other players.  
  
A player performance tool could assist coaches to better analyse the players. By comparing the past players’ statistics, they could better understand each player’s strengths and weaknesses. The tool provides players’ performance by looking at their statistics (e.g. total number of shot made per game) and the game’s statistics (e.g. the remaining time left of each shot).
+
With the rise in big data and technology, scouts have more means to evaluate players more accurately. In 2013, NBA started installing [http://www.theatlantic.com/entertainment/archive/2015/06/nba-data-analytics/396776/ player-tracking systems] in their arenas. Scouts can leverage on this new data available to get more accurate data on players' performances. For example, the player-tracking system is able to track from what distance a player made his shot from and if the shot was made or missed. Collating all these data, scouts can determine from what distance is a player most comfortable shooting from. These new insights offer scouts more information for their consideration in determining if a player is suitable to join their team.  
 
<br /><br />
 
<br /><br />
  
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>OBJECTIVE</font></div>
+
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>OBJECTIVES</font></div>
 
<br />
 
<br />
In this project, we aim to provide a visualisation for coaches to perform the following:
+
In this project, we aim to create a visualisation to perform the following:
* To gain a better insight of the players they are interested in.
+
* Provide an overview of all players' stats
* To make comparison between players
+
* Compare player's strengths and weaknesses
* To identify the players’ strength and weaknesses
+
* Analyze player's shooting skill
* To be able to make strategic game changing tactics by looking at the performance of players at different periods of the games.
 
 
<br />
 
<br />
  
 
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>SELECTED DATASET</font></div>
 
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>SELECTED DATASET</font></div>
 
<br />
 
<br />
Our selected dataset is downloaded from [https://www.kaggle.com/dansbecker/nba-shot-logs/ Kaggle]. The original data is extracted from the [http://www.espn.com/nba/ NBA of ESPN] by using the REST API. The data is based on the NBA 2015-16 season.
+
Our selected dataset is downloaded from [https://www.kaggle.com/dansbecker/nba-shot-logs/ Kaggle]. The original data is extracted from the [http://www.espn.com/nba/ NBA of ESPN] by using the REST API. The data is based on the NBA 2014-15 season.
  
 
The rationale for the range of data used for our analysis are as follow:
 
The rationale for the range of data used for our analysis are as follow:
The data contains 128069 records of shot made in the season. With the detailed information, it allows us to carry us better and accurate analysis based on each shot.
+
* The data contains 128069 records of shots made in the season. With the detailed information, it allows us to carry out more accurate analysis based on each shot.
The attributes is based on the statistics of the players and games. It enables us to find the relationship between the different periods of the game and how the player has performed.
+
* The attributes is based on the statistics of the players and games. It enables us to find out how each player performed in different periods of the game.
 +
 
  
 
The table shows the data dictionary of the dataset.
 
The table shows the data dictionary of the dataset.
Line 100: Line 99:
 
| Player Name || Name of the player who made the shot
 
| Player Name || Name of the player who made the shot
 
|}
 
|}
 +
 +
After performing some initial transformation and analysis, we realized that players tend to have different data characteristics. For example, some players only shoot 2-points or 3-points or never attempted any shots at all. We later then learnt that this is because different players have different positions and hence different roles. Their roles would determine their playing style. As such, we decided to mine additional player's position data to combine with our original dataset. This would offer more meaningful data to the users.
 +
<br /><br />
 +
 +
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>BACKGROUND SURVEY</font></div>
 
<br />
 
<br />
  
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>BACKGROUND SURVEY</font></div>
+
{| class="wikitable"
 +
|-
 +
! Visualization !! Description
 +
|-
 +
| [[File:Slamdunkers-bg1.jpeg|center|400px]]
 +
||
 +
<b>Viewing player's strengths</b><br />
 +
 
 +
In our survey, we find that the radar chart is a popular method in plotting the relative strength of a player. An example is shown in the diagram. The more highlighted area a player has, the more “strength” the player has. This would be a useful visualization for our purpose.
 +
|-
 +
| [[File:Slamdunkers-bg2.png|center|400px]]
 +
||
 +
<b>Player shot accuracy over distance</b><br />
 +
 
 +
Small multiples method is used to plot the player’s shot accuracy over distance. In this case, the line graph helps to show the trend and highlights the peaks where the player does well.
 +
|}
 +
<br />
 +
 
 +
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>DASHBOARD MOCKUP</font></div>
 +
<br />
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Visualization !! Description
 +
|-
 +
| [[File:Slamdunkers-db1.jpg|center|400px]]
 +
||
 +
<b>NBA Player Dashboard</b><br />
 +
 
 +
In the first dashboard, we aim to have a primary visualization to show the performance of all players. To achieve that, we will have a parallel coordinate graph there to show the different patterns of each player. This is accompanied by the average percentages of the season's performance by the side.
 +
|-
 +
| [[File:Slamdunkers-db2.jpg|center|400px]]
 +
||
 +
<b>Player Analysis</b><br />
 +
 
 +
In the second dashboard, we have a more in depth analysis of the player's performance. Here, we attempt to use line graphs to display the player's performance.
 +
|}
 
<br />
 
<br />
  
<br /><br />
+
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>POSSIBLE QUESTIONS & APPROACH</font></div>
 +
<br />
 +
Our approach is to first consider the questions that a scout would ask when scouting for players. These questions include:
 +
* What are the statistics that I want to see?
 +
* Who are the good shooters?
 +
* What is the most comfortable distance player can shoot from and get a goal? (distribution? precision?)
 +
<br />
 +
With these questions, we shall perform some data exploration to get some insights to these questions.
  
 +
<br />
  
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TECHNICAL CHALLENGES & APPROACH TO SOLVE</font></div>
+
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TECHNICAL CHALLENGES</font></div>
 +
<br />
 +
<b>Sourcing for suitable datasets</b>
 +
* Start searching for datasets early
 +
* Find out how to perform data mining on NBA website
 
<br />
 
<br />
  
<br /><br />
+
<b>Unfamiliar with D3.js libraries</b>
 +
* Begin exploration early to try and understand the examples
 +
* Look up online resources and examples to find out how to tweak to our intended graphic
  
 +
<br />
  
 
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TIMELINE & MILESTONES</font></div>
 
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TIMELINE & MILESTONES</font></div>
 
<br />
 
<br />
[[File:Slamdunkers-timeline.jpg|center|1200px]]  
+
[[File:Slamdunkers-timeline.jpg|center|900px]]  
 +
<br />
 +
 
 +
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TECHNOLOGIES USED</font></div>
 +
<br />
 +
* <b>Microsoft Excel</b> for quick data manipulation
 +
* <b>Java</b> coding to read and format data into required form
 +
 
 +
<br />
 +
* <b>[https://d3js.org/ D3.js]</b> to generate charts
 +
* <b>[http://dimplejs.org/ Dimple.js]</b> to run above D3 to give interactive capability
 +
* <b>[https://angularjs.org/ AngularJS]</b> to support application interaction and parsing data
 +
* <b>[http://getbootstrap.com/ Bootstrap UI]</b> for application's theme and lookhttps://github.com/limlaiho/VA-SlamDunkers
 +
* <b>[https://github.com// GitHub]</b> for application development and versioning
 
<br />
 
<br />
  
Line 131: Line 199:
 
<br />
 
<br />
  
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>GROUP MEMBERS</font></div>
+
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>GROUP MEMBERS & RESPONSIBILITIES</font></div>
 
<br />
 
<br />
# Alson TAN Yong Kiong
+
{| class="wikitable"
# Arnold LEE Wai Tong
+
|-
# LIM Lai Ho
+
! Member !! Job scope
 +
|-
 +
| Alson TAN Yong Kiong <br /> <font size=1>aka SlamDunker 1 </font>
 +
||
 +
* In charge of report
 +
* Data exploration
 +
|-
 +
| Arnold LEE Wai Tong <br /> <font size=1>aka SlamDunker 2 </font>
 +
||
 +
* In charge of wiki
 +
* Data exploration
 +
* Creating visualization
 +
* Do user guide
 +
|-
 +
| LIM Lai Ho <br /> <font size=1>aka SlamDunker 3 </font>
 +
||
 +
* In charge poster
 +
* Data exploration
 +
* Creating visualization
 +
|}
 
<br />
 
<br />
  

Latest revision as of 16:17, 22 November 2016

Slamdunkers-logo.jpg



  Proposal   Poster   Application   Research

PROPOSAL UPDATED

PROBLEM & MOTIVATION


The National Basketball Association (NBA) is the pre-eminent men's professional basketball league in North America, and is widely considered to be the premier men's professional basketball league in the world. It is considered to be one of the four major sports in the United States and Canada. According to an article by Business Insider, NBA is the highest-paying league in the world. Numerous star players such as Kobe Bryant, Lebron James and Kevin Durant are among the world’s highest-paid sportsmen listed by Forbes in 2016.

In attempt to win the championship each season, NBA teams often scout top performing players to join them. These scouts often sit in the games to monitor and evaluate players’ performances, skills and techniques. Putting all these information together, they get an overview of all the players capabilities and their standing against other players.

With the rise in big data and technology, scouts have more means to evaluate players more accurately. In 2013, NBA started installing player-tracking systems in their arenas. Scouts can leverage on this new data available to get more accurate data on players' performances. For example, the player-tracking system is able to track from what distance a player made his shot from and if the shot was made or missed. Collating all these data, scouts can determine from what distance is a player most comfortable shooting from. These new insights offer scouts more information for their consideration in determining if a player is suitable to join their team.

OBJECTIVES


In this project, we aim to create a visualisation to perform the following:

  • Provide an overview of all players' stats
  • Compare player's strengths and weaknesses
  • Analyze player's shooting skill


SELECTED DATASET


Our selected dataset is downloaded from Kaggle. The original data is extracted from the NBA of ESPN by using the REST API. The data is based on the NBA 2014-15 season.

The rationale for the range of data used for our analysis are as follow:

  • The data contains 128069 records of shots made in the season. With the detailed information, it allows us to carry out more accurate analysis based on each shot.
  • The attributes is based on the statistics of the players and games. It enables us to find out how each player performed in different periods of the game.


The table shows the data dictionary of the dataset.

Label Description
Game ID Identification number of each game
Date Date of game
Player Team Player's team
Opponent Team Opponent team
Home/Away If player's team is on home ground
Win/Lose If player's team win or lose
Game Score Difference Difference in total game score
Shot Number N-th shot made by the player
Period Period of the game when the shot was made
Game Clock Game time when the shot was made
Shot Clock Shot time when the shot was made
Dribbles Number of times the player dribbled before the shot was made
Touch Time Total time held by the player before the shot was made
Shot Distance Distance from the basket when the shot was made
Point Type If shot attempt is 2 or 3 points
Shot Result Result of the shot
Closest Defender Name of the closest opponent defender
Distance from Closest Defender Distance between player and the closest opponent defender when the shot was made
Field Goal Made If a goal was made
Points Points earned by the player's shot
Player Name Name of the player who made the shot

After performing some initial transformation and analysis, we realized that players tend to have different data characteristics. For example, some players only shoot 2-points or 3-points or never attempted any shots at all. We later then learnt that this is because different players have different positions and hence different roles. Their roles would determine their playing style. As such, we decided to mine additional player's position data to combine with our original dataset. This would offer more meaningful data to the users.

BACKGROUND SURVEY


Visualization Description
Slamdunkers-bg1.jpeg

Viewing player's strengths

In our survey, we find that the radar chart is a popular method in plotting the relative strength of a player. An example is shown in the diagram. The more highlighted area a player has, the more “strength” the player has. This would be a useful visualization for our purpose.

Slamdunkers-bg2.png

Player shot accuracy over distance

Small multiples method is used to plot the player’s shot accuracy over distance. In this case, the line graph helps to show the trend and highlights the peaks where the player does well.


DASHBOARD MOCKUP


Visualization Description
Slamdunkers-db1.jpg

NBA Player Dashboard

In the first dashboard, we aim to have a primary visualization to show the performance of all players. To achieve that, we will have a parallel coordinate graph there to show the different patterns of each player. This is accompanied by the average percentages of the season's performance by the side.

Slamdunkers-db2.jpg

Player Analysis

In the second dashboard, we have a more in depth analysis of the player's performance. Here, we attempt to use line graphs to display the player's performance.


POSSIBLE QUESTIONS & APPROACH


Our approach is to first consider the questions that a scout would ask when scouting for players. These questions include:

  • What are the statistics that I want to see?
  • Who are the good shooters?
  • What is the most comfortable distance player can shoot from and get a goal? (distribution? precision?)


With these questions, we shall perform some data exploration to get some insights to these questions.


TECHNICAL CHALLENGES


Sourcing for suitable datasets

  • Start searching for datasets early
  • Find out how to perform data mining on NBA website


Unfamiliar with D3.js libraries

  • Begin exploration early to try and understand the examples
  • Look up online resources and examples to find out how to tweak to our intended graphic


TIMELINE & MILESTONES


Slamdunkers-timeline.jpg


TECHNOLOGIES USED


  • Microsoft Excel for quick data manipulation
  • Java coding to read and format data into required form


  • D3.js to generate charts
  • Dimple.js to run above D3 to give interactive capability
  • AngularJS to support application interaction and parsing data
  • Bootstrap UI for application's theme and lookhttps://github.com/limlaiho/VA-SlamDunkers
  • GitHub for application development and versioning


REFERENCES


Motivation

  • NBA is the highest-paying league in the world. [1]
  • The world’s highest paid athletes [2]
  • NBA player salaries [3]

Dataset

  • Primary dataset [4]
  • Original source of data [5]


GROUP MEMBERS & RESPONSIBILITIES


Member Job scope
Alson TAN Yong Kiong
aka SlamDunker 1
  • In charge of report
  • Data exploration
Arnold LEE Wai Tong
aka SlamDunker 2
  • In charge of wiki
  • Data exploration
  • Creating visualization
  • Do user guide
LIM Lai Ho
aka SlamDunker 3
  • In charge poster
  • Data exploration
  • Creating visualization


COMMENTS & FEEDBACK


Feedback and comments in this area!