RAPM request thread

Home for all your discussion of basketball statistical analysis.
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: RAPM request thread

Post by DSMok1 »

Crow wrote: What is your interpretation of or conclusions from this? It would be nice to get a few sentences. Many will be confused or uncertain what to draw from such output, including me in this case. In the name of education, some English summary should be a standard inclusion when posting regression output, I think.
Basically: MPG is a good predictor of player production, particularly when paired with an understanding of how good the team is overall. A player getting lots of minutes on a good team is probably a good player. A player getting lots of minutes on a bad team is probably at least decent. Few minutes means he's probably a bad player.

A good, balanced prior, I feel, for helping stabilize RAPM, while still avoiding biasing based on box scores.
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
colts18
Posts: 313
Joined: Fri Aug 31, 2012 1:52 am

Re: RAPM request thread

Post by colts18 »

DSMok1 wrote: A good, balanced prior, I feel, for helping stabilize RAPM, while still avoiding biasing based on box scores.
Doesn't RAPM already take into account minutes? Since its a regression to the mean stat, the more minutes a player plays, the less regression he gets.
Crow
Posts: 10533
Joined: Thu Apr 14, 2011 11:10 pm

Re: RAPM request thread

Post by Crow »

Thanks DSMok1. Looking at it again, it is clear that Minutes are best of bunch tested as a predictor but I still wonder if "good" is a sufficient descriptor. How good is this "good" predictor? Is the r-squared of .56 for the whole set of tested variables? What would it be for just minutes?
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: RAPM request thread

Post by DSMok1 »

colts18 wrote:
DSMok1 wrote: A good, balanced prior, I feel, for helping stabilize RAPM, while still avoiding biasing based on box scores.
Doesn't RAPM already take into account minutes? Since its a regression to the mean stat, the more minutes a player plays, the less regression he gets.
Right, but I wouldn't regress toward the mean, but rather toward the prior based on how many minutes they play. Would help some situations I've seen (Kevin Durant, for example) where a player plays a ton of minutes on a good team but for some reason RAPM doesn't like him. I'm fairly sure KD is better than Nick Collison...
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
Crow
Posts: 10533
Joined: Thu Apr 14, 2011 11:10 pm

Re: RAPM request thread

Post by Crow »

Another way to split RAPM, if inclined? Player RAPM with and without a specific player. There have been a few runs of player pairs and one can compare individual RAPM to the pair and infer. But why not run the without too. Would RAPM for Kendrick Perkins with and without Kevin Garnett have improved Sam Presti's information base when deciding whether to trade a small pile of assets for him? It might have, if he was interested. Without sample size was low but you either recognize that and check anyways (multi-season) and try to use judgment to interpret / guess or give up and go with speculation that doesn't have the possibility of being influenced by it by not having it to even look at.
Crow
Posts: 10533
Joined: Thu Apr 14, 2011 11:10 pm

Re: RAPM request thread

Post by Crow »

Jerry, what is new in your NESSIS paper? Would you care to summarize or share the paper?
J.E.
Posts: 852
Joined: Fri Apr 15, 2011 8:28 am

Re: RAPM request thread

Post by J.E. »

Crow wrote:Jerry, what is new in your NESSIS paper? Would you care to summarize or share the paper?
To some degree it's covered here
viewtopic.php?f=2&t=8542
viewtopic.php?f=2&t=8546
viewtopic.php?f=2&t=8543
colts18
Posts: 313
Joined: Fri Aug 31, 2012 1:52 am

Re: RAPM request thread

Post by colts18 »

J.E., what happened to your website? I'm getting this error:

Error: Not Found
The requested URL / was not found on this server.
J.E.
Posts: 852
Joined: Fri Apr 15, 2011 8:28 am

Re: RAPM request thread

Post by J.E. »

colts18 wrote:J.E., what happened to your website? I'm getting this error:

Error: Not Found
The requested URL / was not found on this server.
Google shuts it down now and then.
It seems I somehow have to migrate (to a different google "datastore"), yet I find their explanation to do so pretty terrible, so I haven't come around doing that yet.

I can re-enable it for now (it should work for another ~3 days now), but I think they'll shut it down for good some time in August
AcrossTheCourt
Posts: 237
Joined: Sat Feb 16, 2013 11:56 am

Re: RAPM request thread

Post by AcrossTheCourt »

Is it too late to ask for a 15 year RAPM you can use for prediction, where an age curve is applied and then calculated back? Like the 14 year one was.
J.E.
Posts: 852
Joined: Fri Apr 15, 2011 8:28 am

Re: RAPM request thread

Post by J.E. »

AcrossTheCourt wrote:Is it too late to ask for a 15 year RAPM you can use for prediction, where an age curve is applied and then calculated back? Like the 14 year one was.
I'm trying to fullfill most of the requests here eventually - it's just a matter of how busy I am. Unfortunately, my next 6 weeks are packed
AcrossTheCourt
Posts: 237
Joined: Sat Feb 16, 2013 11:56 am

Re: RAPM request thread

Post by AcrossTheCourt »

Well you posted an age adjusted RAPM results, so I'd just need the aging curve formula to translate it into the right form. I could do that myself and save you the work if I knew what exact age curve you used.
J.E.
Posts: 852
Joined: Fri Apr 15, 2011 8:28 am

Re: RAPM request thread

Post by J.E. »

AcrossTheCourt wrote:Well you posted an age adjusted RAPM results, so I'd just need the aging curve formula to translate it into the right form. I could do that myself and save you the work if I knew what exact age curve you used.
I use this

Code: Select all

def age_infl_off(age):
   return 7.85961722e-06 * pow(age,3)\
        -8.95993687e-04 * pow(age,2)\
        +3.07414975e-02 * pow(age,1)\
        -3.25852183e-01 * pow(age,0)

def age_infl_def(age):
   return -9.85318032e-05 * pow(age,2)\
        +  5.68537549e-03 * pow(age,1)\
        -7.06435496e-02 * pow(age,0)
You'll probably have to multiply by 100
Crow
Posts: 10533
Joined: Thu Apr 14, 2011 11:10 pm

Re: RAPM request thread

Post by Crow »

Is it possible to do a run of RAPM or RPM designed to minimize the errors of the top 6-10 teams (or even one team) and get estimated errors for those players lower than in traditional runs? I assume the answer is yes, but ask, since it hasn't been done in public to my knowledge. Could you get lower estimated errors for guys who played over 1500 or 2000 minutes if that is what you solved for only or with 2,3 or 5X priority? Could you get reduced error estimates (more certainty) on particularly interesting / uncertain valued players with big minutes but bad traditional RAPM / RPM estimates (or significantly worse than their boxscore metric estimates) if you did a run where solving for them was given priority treatment or sole attention? Even if there are caveats, cautions and limitations with going down this prioritized track, isn't it at least possible you might find something that could "reasonably" increase your confidence about the true or more likely impact of these players versus not pursuing this approach? You don't even have to commit to using for "answers". You could just use it to find or deepen concern for "questions". A traditional run has baseline value and will probably be the main resource but if you have questions where the estimates of a subset are your main or sole focus, can better or probably better be done / found? Could runs focused on minimizing error for just point guards or high usage players or next season's free agents, etc. provide some greater value over just the traditional run for all? I am under the impression that you can minimize the error estimates for what interests you if you specify your priority and do the math right. Are the counter arguments / error impacts strong enough to render this approach no better or worse than the original?
AcrossTheCourt
Posts: 237
Joined: Sat Feb 16, 2013 11:56 am

Re: RAPM request thread

Post by AcrossTheCourt »

J.E. wrote:
AcrossTheCourt wrote:Well you posted an age adjusted RAPM results, so I'd just need the aging curve formula to translate it into the right form. I could do that myself and save you the work if I knew what exact age curve you used.
I use this

Code: Select all

def age_infl_off(age):
   return 7.85961722e-06 * pow(age,3)\
        -8.95993687e-04 * pow(age,2)\
        +3.07414975e-02 * pow(age,1)\
        -3.25852183e-01 * pow(age,0)

def age_infl_def(age):
   return -9.85318032e-05 * pow(age,2)\
        +  5.68537549e-03 * pow(age,1)\
        -7.06435496e-02 * pow(age,0)
You'll probably have to multiply by 100
So I assume the ages were variables in the model, right? Then I just have to adjust things to bring the ratings down to the player's mean age.

Also, I can't figure out who the following player pairs are (same name):
Tony Mitchell
Marcus Williams
Chris Wright
Dee Brown

The ratings are all pretty close together.
Post Reply