A Series of Random Events

sports

This sounds like good advice but since it’s the dead of winter, we’ll have to generate the numbers ourselves. Thanks to R, this should be no problem. I’ll give each batter 2000 independent trials each season and a 50% chance of success in each trial. Then we’ll plot moving averages of the results and the stories will practically write themselves.

First, a function to compute moving averages

ma <- function(x,n=100){filter(x,rep(1/n,n), sides=2)}

Now, let’s simulate 9 seasons, and plot moving averages of the last 1000 trials:

par(mfrow=c(3,3)) 
for (i in 1:9) { 
   x <- rbinom(2000,1,.5) 
   m_avg <- ma(x,n=1000) 
   plot(m_avg, type="l", 
   main = paste("Season", i), 
   xlim=c(1000,2000)) 
} 

ma1000

In season 1, our hero started out fast but, pretty soon, pitchers made adjustments as they always do. Around trial 1300, however, our hero made the necessary counter-adjustments and his success rate climbed steadily for the remainder of the season.

Season 4 is a red flag. Don’t draft this player in your fantasy leagues. You could practically see his confidence waning as the season went on. Is his hip bothering him more than he lets on? Perhaps it’s time for a trade, as a change of scenery might do him some good.

Folks in the know will draft the player shown in Season 9. You can pretty much throw out the first two months of the season since he was obviously a completely different player by the summer months.

Now let’s try the same thing, another simulated 9 seasons, but with moving averages of 150 trials:

ma150

These players move between hot and cold more frequently than the players above. Player 2 is the kind of guy you need in your head-to-head leagues, making steady contributions week after week.

Rumors have it that the player in season 3 started enjoying the night life a bit too much in July but, after a closed door clubhouse meeting, got things straightened out. If this doesn’t demonstrate the value of strong clubhouse leadership, I’m not sure what does.

For more insights and fantasy advice, follow me at @steamerpro.

6 thoughts on “A Series of Random Events”

  1. SGP’s, I think. The only difference as I understand it is whether you have individual standard deviations or (effectively) team level standard deviations as the denominators and team level (SGP’s) should be what you really want.

    1. Just stumbled across this site. Impressive work, wow. I’m pretty statistics savvy but am unfamiliar with SGP. Could you elaborate?

      I calculate my own “value scores” for players using my league settings and projected stats that others generate. I just use the mean and standard deviation of each stat for the top 120 or so players in the Yahoo rankings for calculating each players’ z-score. The average z-score across categories is a player’s “value score.”

      What does a “team-level” standard deviation look like in the case you’re describing?

      Thanks!

      1. Thanks. Here’s a better explanation than I can give:

        http://www.smartfantasybaseball.com/2013/03/create-your-own-fantasy-baseball-rankings-part-5-understanding-standings-gain-points/

        He’s calculating the SGP denominator as the range of values across teams and dividing by the number of teams but I think those denominators should be roughly proportional to what you’d get if you took the standard deviation of team values. For instance, you could look at your league from last year and take the team HR totals and take the standard deviation of those totals and use that as your denominator for HRs.

        1. Interesting. Thanks for the link. I play in a H2H league, so the SGP metric isn’t applicable. Seems like a good gauge for rotisserie, though. Good stuff.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>