Users Online Now: 1897  |  September 30, 2024
iTofu's Blog
Stat Roster -- NBA 2K12 for 360 
Posted on June 6, 2012 at 12:26 AM.
INTRO

This roster is mostly to adjust statistical problems in 2K12 when simulating seasons. My goal was to make roster changes based on statistical formulas or direct information. I wanted to remove all bias where possible, to that end, ratings/tendencies where I could not apply a direct statistical model didn't get changed. I felt if I changed ratings that I didn't have a formula for, then my ratings would have the same type of bias as 2K and therfore no better for the public.

Much of the roster's changes are based on the OP by Elknavo in the Comprehensive Simulations Stat Mechanics Guide thread.

Now that you know what the roster is about, I'll explain the thought process behind the ratings.


STATISTICAL SAMPLING

Many ratings are directly based on shooting percentages and advanced statistics percentages. These number are great when you have a large enough sample, however, a person can get into trouble when applying these statistics without sample limits.

IF (2010-11 minutes + 2011-12 minutes) > 500
THEN average of (2010-11 stats) + (2011-12 stats * 1.5)
ELSE IF (2009-10 minutes + 2010-11 minutes + 2011-12 minutes) > 300
THEN average of (2009-10 stats * 0.5) + (2010-11 stats) + (2011-12 stats * 1.5)
ELSE adjust the 2K rating by the average change from 2K ratings to mine for the player's position (explained in next section)

Why did I use 2010-11 stats at all? Two reasons:
  1. Many players get hurt, many players have good or bad years that are statistical outliers especially in a shortened season.
  2. Many players have low rates for specific stats. Such as finding mid/3pt ratings for interior players.
I originally felt 2011-12 stat should have far greater importance, so I attached a multiplier of 2.5. Later I switched it to 1.5, because some players who barely made it through the sample constraints above could have skewed ratings if 2011-12 was a statistical outlier.

I was concerned with switching using 1.5 for players who greatly improved. I compared the ratings using both 2.5 and 1.5 multipliers on Ersan Ilyasova, Jeremy Lin, Andrew Bynum, Ryan Anderson, Greg Monroe, Goran Dragic and Nikola Pekovic. The change was not significant to be concerned with.

Why go all the way back 2009-10 for some players? It makes sense if you think about the players it's applied to; DeMarre Carroll, David Anderson, Jason Kapono, etc. The sample simply needs to expand for low volume players.

If I didn't use this system it will be pointed out.


ADJUSTING RATINGS FOR PLAYERS WITHOUT STATISTICAL SAMPLE

For players who didn't have a statistical sample to work from I adjusted the following ratings based on an average difference in comparison to my ratings: shooting (except FT & 3PT), pass, block, steal, rebounding. I also adjusted shot tendency, dunk/layup, draw foul tendency, touches and commit foul.

I also adjusted all historical teams in the same fashion. I meant to alter their ratings using statistics, but I never got around to it.

Anyway, I used one of two possible methods for finding the average difference.

For shooting ratings and commit foul I used, my average rating MINUS average 2K rating. For everything else I used my average rating of players in the same position and similar positions (e.g. SF would be SG, SF, PF) MINUS average 2K rating of players in the same position and similar positions.


PASSING

Most 2K stat problems have to do with player reputations influencing the ratings. That's not entirely the case for assists, there are roughly four factors in order of importance for assist statistics; pass rating, shot tendency, offensive awareness and tempo.

For Pass rating there are two problems. The first problem is the usual 2K ratings issue; assists start to cap at roughly 23 per game, therefore inflated passer ratings based on reputation start stealing assists from the top passer(s) on the team. Also, a lot of point guards received boosts simply for being point guards. The more unusual problem is that too many players too low, especially below 30, and it impedes players from getting assists.

To adjust for these factors, I've used Elknavo's formula: PassRating = 3 * Ast% / 2 + 30

This formula creates a minimum rating of 30, for players with too small of a sample size and official 2K rating of 30, they are also have a minimum of 30.


BLOCKS

It's pretty clear that the best shot blockers receive far too few blocks when a season is simulated. That isn't fixable, because 99 rating produce roughly 5% on BLK%. Thus my ratings will be produce roughly accurate stats if the player has a block percentage of about 4.6% (not 5%, will explain below) or below.

Used Elknavo's formula: BlockRating = 15 * Block% + 25

However, at the top, I started compressing the ratings for players that had over a 90 rating, the formula I used was: (15 * Block% + 25 - 90) / 3.25 + 90

Why? I'm more comfortable with their being at least a little difference between blockers like Jermaine O'Neal and DeAndre Jordan in comparison to a player like Serge Ibaka.


STEALS

Just applied formula to even out steal rate. Same problem as other areas, reputation seems to influence ratings. The overall impact of the formula is small, just reconfigured to match reality.

Used Elknavo's formula: StealRating = 20 * Steal% + 25

There seems to be an additional problem with steals. There appears to be an upper and lower cap to how many steals teams can get. Unfortunately, this is a common problem with the 2K simulation engine. The result is teams that do not get a lot of steals at getting steals and have one player that's a above average at getting steals then that one player will get a lot of steals. For example, using Elknavo's formula (20 * Steal% + 25) Ricky Rubio will average around 4 steals a game. Thus I decided to modify his formula and settled on:

17 * Steal% + 32

While this formula isn't perfect, there are still outliers, including Rubio, but it is the best I could do with an imperfect system.


REBOUNDS

There is an obvious problem with rebounds; great rebounders do not get enough rebounds. There are two reasons:
  1. Supplementing players ratings based on reputation.
  2. Poor rebounders will always get some rebounds, with a 25 rating 0.7 per 36 minutes.
Elknavo posted some of the other problems, it's a little irrelevant for this post though.

I slightly modified Elknavo's formula:
OffenseReboundRating = 6.25 * (OffReb% - 2) + 25
DefenseReboundRaging = 5.5 * (DefReb% - 4) / 2 + 25


SHOOTING RATINGS

Based on the shoot around hot spots, I estimated the length of each zone:

Inside: Roughly a 3 foot radius around the rim, based on it's proximity to the restricted area and it's length from proximity to the painted area.
Close: From 3' with a maximum of 15'. I estimated 15' because it ends at the free throw line.
Mid: Starting at 15' and ending at the 3pt line.

Thus, I used the Basketball Reference shot finder @ www.basketball-reference.com/play-index/plus/shot_finder.cgi using these parameters:
  • Inside: 0'-3'
  • Close: 3'-15'
  • Mid: 15'+ 2pt field goals
  • 3pt: 30' and under that are 3pt field goals, because I didn't want to penalize players for the end of the quarter heaves.
These rating I broke from usual statistical sampling:

IF (2010-11 minutes + 2011-12 minutes) > 500 AND (2010-11 shot attempts from zone + 2011-12 shot attempts from zone) > 125
THEN average of (2010-11 stats) + (2011-12 stats * 1.5)
ELSE IF (2009-10 shot attempts from zone + 2010-11 shot attempts from zone + 2011-12 shot attempts from zone) > 25
THEN average of (2009-10 stats * 0.5) + (2010-11 stats) + (2011-12 stats * 1.5)
ELSE adjust the 2K rating by the average change from 2K ratings to mine for the player's position (described toward the top)

Clearly, 25 is not a big enough sample, but I wanted a smooth transition away from statistic based ratings rather than a hard stop. To adjust for players with less than 100 attempts in a zone over three years, I used the following:

(MyRating * AttemptsInZone/100) + ( ( 2K Rating + AvgDifference * (100-AttemptsInZone)/100)

AvgDifference being the difference between my rating and 2K's rating. That wasn't applied to 3 point ratings, because the average difference was small.

2K12's stat engine gives a player with 99 inside shot rating roughly 60% inside FG%. That number is below average for an NBA player.

I used Elknavo's formulas, with the exception of a slight modification to mid range.
  • ShotInside Rating = 4 * (Inside FG% - 30) / 3 + 60
  • ShotClose Rating = 3 * (Close FG% - 20) / 2 + 50
  • ShotMedium Rating = 14 * (Medium FG% - 25) / 6 + 35 << slightly modified
  • Shot3Pt Rating = 3 * 3ptFG% / 2 + 25
I also applied minimum ratings of 70 for inside, 50 for close, 35 for mid and 30 for 3pt.

For 3pt rating, I set a maximum cap at: 3PTM/MIN*400 + 75. This was largely to deter players who shot 3 pointers rarely from having outrageously inflated 3 point shooting abilities. The only notable player I recall it being applied to was Ramon Sessions who went from an 88 3pt rating to 80.


DRAW FOULS

I used roughly the same method as Elknavo. Mine is different, but honestly, it's too much of a headache to add here.


COMMIT FOUL

Inside fouls are obviously more common than outside fouls, the simulation engine does account for this. A center with the same rating a guard will commit more fouls. Unfortunatly, unlike drawn fouls, there are no statistics to determine if a player defends in areas unusual for his position. After playing around with the formula

(Personal Fouls / Minutes) * 400 + ( Position Value - 0.5 ) * 3

Position value:
2.0: PG through SF
2.5: SF/PF
3.0: PF
3.5: PF/C
4.0: C

One problem I have found is there are too many shooting fouls and not enough non-shooting fouls. Thus free throws are generally a little high and fouls are a little low. Of course, this is in contrast to official 2K rosters, where fouls are abnormally high preventing players from gaining maximum minutes.


SHOT TENDENCY

This tendency has an effect on how often the player uses a possession, with that in mind it also indirectly effects assists. Surrounding players and players themselves need a consistent and accurate shot tendency create more accurate assists. Fortunately, this can be directly coorelated to the Usage% statistic in real life.

Formula: 2.5 *( USG% - 20 ) + 50


SHOT TENDENCY BY LOCATION

Pretty simple, likelihood of person shooting from that area. This goes hand in hand with shot tendency and effects where the person shoots from. Combining this with accurate shooting locations really helps make the output of shooting and scoring more accurate.

I multiplied the player's number of shot attempts by 360.


AWARENESS

Despite all the focus I put on ignoring the overall, the bottom line is people look at it.

When you input realistic statistics, some players are significantly hurt or helped by statistics. Many players contribute in ways that cannot be measured by statistics.

Awareness ratings have a strong effect on overall rankings and do not contribute to specific statistic categories, so this was a good rating to adjust to boost players who have noticiable impacts on the game even if the standard statistics do not show it.

However, as stated above I wanted to keep all ratings based on statistics, so I choose to base awareness on RAPM (regularized adjusted plus minus) ratings. RAPM is an advanced form of adjust plus minus that applies ridge regression. The best outlet for RAPM is: http://stats-for-the-nba.appspot.com/

This is the formula I used: 11.4 * Def/Off RAPM + 67.5

Unfortunately, I do not think it would fair to totally judge awareness on a player's overall impact on the floor when where are a wide range of other statistics that also impact the player's overall impact in 2K12. Thus, I used the average between my formula and 2K's rating.


POSITIONS

I altered some players positions based on height and weight.
  • SGs that are 6'8" or taller are switched to SF.
  • SFs that were 6'6" and less than 220lbs were switched to SG.
  • SFs that were under 6'6" were switched to SG.
  • Cs that are 6'10" and 250lbs or less were switched to PF.
  • Cs under 6'10" were switched to PF, with the exception of Ben Wallace.

This helped get players listed under their natural positions. E.g. Pau C, Horford PF, etc.

I'm not sure that other people will like that. The CPU will still assign the positions correctly for starting lineups. It isn't many players, so if you don't like it, you can change it.


HT/WT CHANGES

This is probably te least scientific, but oh well, change it if you want.
  • Andre Iguodala was changed to 6'7" 217, since that was his listed height and weight on draftexpress. I figured it was a shoe/no-shoe situation like Kevin Durant.
  • LeBron James switched to 265lbs.
  • Michael Beasley switched to 6'9".
  • Kendrick Perkins switch to 267lbs. He was widely reported as being 267 December of this year.


BODY SIZE CHANGES

Made changes to players with "normal" or "slim" size based on BMI. Players with BMI under 25 were set to "thin" and larger than 25 were set to "normal."


COACHING CHANGES

I tried to update coaches as much as possible. I reduced some of the outlier costs on scouting too, so that if you go into a association you can make changes. I updated historical coaches, for what that's worth. Updated the available coaches for association eventhough it randomizes the names. Didn't include coaches as available if their hands were black. Nitpicky, but it bugs me.


HEAD COACHING RATINGS & TENDENCIES

What I did was, I went through the 2006-07 season through 2011-12 season and ranked each team according by offensive rating, defensive rating, pace, fast break points scored per game and bench minutes. Offensive and defensive rating being points per 100 possessions. I used rankings instead of straight statistics to eliminate variance from year to year.

Partial years were not counted unless the coach has only coached 1 partial year total.


OFFENSIVEE AND DEFENSIVE GRADES

-0.12 * (average off/def ranking) + 3.6

0=F
1=D
2=C
3=B
4=A

This is an unfair rating, because some coaches are fortunate to have better players. I considered using RAPM (Regularized Adjusted Plus Minus ratings), but decided not to because I felt the output of these ratings aligned better with perception of the coaches. That goes against what I'm trying to do to a certain degree, but ... oh well.

PACE

( (30 - average pace rank ) * 2 ) + 30)

FAST BREAK

( ( 30 - average rank in fast break point per game ) * 2.5 ) + 15

BENCH DEPTH

Average Bench Minutes Ranking * 4 - 1

The ranking for bench depth is backwards, because to my knowledge the higher the bench depth tendency, the less the coach substitutes.


SHOOTING ZONE TENDENCIES


For shooting zone tendencies, similar to above I found the sum of all shots taken by zone. Thus the formula for each zone was:

( shots taken from zone / total shots taken ) * 200


TRAINER RATINGS

Athletic trainers grades were based on this article: http://www.basketballprospectus.com/...rticleid=2225#

Rating Formula: ( 700 - games missed due to injury ) / 140

0=F
1=D
2=C
3=B
4=A

Probably not fair for teams with turnover at the position, but that's how it is.


TEAM CHEMISTRY

I simulated the season using injuries and injury lengths multiplied out for an 82 game season. Then I altered chemistry by the win percentage difference between real life and the simulation. Then I simulated again and did the same procedure. To be honest, the results were a little underwelming. Nonetheless, I left the altered chemistries intact.


ACCESSORIES

Team colors are setup as:

Headband color: Headband color.
TeamColor#1: Accessory color, often white or black.
TeamColor#2: Common shoe color and/or alternate accessory color that.

Shoes are setup with team colors, not custom colors. I wanted the players to be able to be traded/drafted to alternate teams with shoes still matching. To that end, no ID shoes either.

I did my best on accessories, I'll be honest and admit that I was running out of gas in terms of motivation at this point. Thus, this is the area that I used other rosters as a reference the most, especially PJT's roster.


ADDED PLAYERS

I've added Jonas Valanciunas, Donatas Motiejunas and Nikola Mirotic. Arms corrected, I based ratings on DraftExpress reports and Euro stats. I've placed Motiejunas and Valanciunas so that they will show up in the Elite vs Stars game in My Player.

I've added cyberfaces for Gustavo Ayon, Ivan Johnson, Jeremy Pargo and Greg Stiemsma based on recommendations in the 2K12 Player DNA look alike thread.

I think that's it. I probably won't be making a ton of changes to this, because now I just want to play and enjoy the game.


DOWNLOAD

Xbox 360 gamertag: iTofu
File: STAT v1.2

Direct Download: STAT.ROS file @ mediafire
Comments
This entry has not received any comments yet. You could be the first to leave one.

 
iTofu
6
iTofu's Blog Categories
iTofu's Xbox 360 Gamercard
iTofu's PSN Gamercard
' +
iTofu's Screenshots (0)

iTofu does not have any albums to display.
iTofu's Friends
Recent Visitors
The last 10 visitor(s) to this Arena were:

iTofu's Arena has had 61,587 visits