[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
THE BOOK cover
The Unwritten Book
is Finally Written!

Read Excerpts & Reviews
E-Book available
as Amazon Kindle or
at iTunes for $9.99.

Hardcopy available at Amazon
SABR101 required reading if you enter this site. Check out the Sabermetric Wiki. And interesting baseball books.
Shop Amazon & Support This Blog
RECENT FORUM TOPICS
Jul 12 15:22 Marcels
Apr 16 14:31 Pitch Count Estimators
Mar 12 16:30 Appendix to THE BOOK - THE GORY DETAILS
Jan 29 09:41 NFL Overtime Idea
Jan 22 14:48 Weighting Years for NFL Player Projections
Jan 21 09:18 positional runs in pythagenpat
Oct 20 15:57 DRS: FG vs. BB-Ref

Advanced

Tangotiger Blog

<< Back to main

Saturday, March 23, 2019

WOWY Framing, part 1 of N

By Tangotiger 12:21 AM

Rewind

About 15 years ago, I introduced a concept I subsequently called WOWY (With Or Without You). The idea has its roots to the way the NHL originally introduced plus/minus. Back then, they compared a player's plus as a percentage of all goals scored by his team in his games, and similarly for the minus. My slight adjustment to what the NHL used to do was to compare a player's plus/minus to that of his team without him on the ice. So, team performance with the player, compared to team performance without the player. The difference, after accounting for Random Variation (and other systematic biases), we'd attribute to the player himself.

You can see what I did with pitchers, with and without their catchers. I did it for the baserunning stats (SB, CS, WP, PB, BK, PK). Strangely, I noted this as an afterthought, and never followed up:

I'm not including blocking the plate or framing the pitches, though that last part might be doable (though I'd have to look at the pitcher's age as well; I'm guessing that the above numbers aren't too dependent on the pitcher's age, which may or may not be a good guess.)

I clearly should have taken the next step and simply tried it with walks and strikeouts. And given the results we have all seen on catcher framing at the pitch level, it's likely we WILL find something notable here, using only walks and strikeouts. Enough that we'll be able to do framing across the Retrosheet years. That's the hope anyway. I'll get to it this year.

Now

For now, I'll turn my attention to WOWY Framing, using pitch locations. I'm going to show how simple and straightforward the process is. And then I'll make it A BIT more complex. And maybe in the future, we'll continue to make it a bit more complex that that. There is an R package that helps this process along greatly, and once I can code an R program without an error, I'll finally do that. Until then, we'll SQL our way through this.

The first step, before we even identify the major variables, is to create a baseline. There's no point to dive in and start figuring out all the variables, if you don't know what your starting point is. And at its most basic, framing is simply about getting called strikes at pitches at the edge of the strike zone. Yes, there is more to it than that. That's how you scare away researchers. "Yeah, but..." Let's not scare them away yet. There's plenty of time for that. For now, let's just bring everyone on board.

A few months back, I showed how often each catcher caught a strike, in what we call The Shadow Zone, which is the region that borders the strike zone.

The average called strike rate in this region is around 47 or 48%, with a range of about +/- 5 or 6%. Jeff Mathis had 55% called strikes on 1726 pitches, where the NOMINAL average is 47%. In other words, if this nominal average is the TRUE average, he's getting 0.08 more strikes per pitch in the Shadow Zone. Which when we multiply by his 1726 pitches gets us 130 more called strikes. On the bottom end is Mitch Garver with 127 fewer called strikes, in the "same" Shadow Zone.

Now, it's not EXACTLY the same Shadow Zone, and we'll get to that in a sec.

Mountains and Pools

My buddies at @SteamerPro and @Fangraphs released their Framing numbers, which is about 4 levels higher than what I've just done. Their version is essentially Mount Everest. Which gives us a chance to compare how close we are with our base version. Is our base version at sea level, or is our base version at Base Camp?

That's a correlation of r=0.88. This means that simply using the called strike rates in The Shadow Zone, without any kind of adjustment whatsoever, we're already at Base Camp. 

This becomes an important point here. If we are going to show the catcher framing numbers, with all its (necessary) adjustments, we should AT LEAST show the called strike rates in The Shadow Zone. This is akin to needing to show ERA *and* ERA-. We can't just show Freeland's ERA- of 61, between Nola at 59 and Scherzer at 62. We really need to show their ERA as well (2.85, 2.37, 2.53 respectively). While we undoubtedly need to adjust for parks, and for Coors especially, we also need to show that Freeland's ERA- is LARGELY a product of just plain ole ERA; the park adjustment, while real, is not causing an ERA of 4.56 to be considered equal to Nola and Scherzer.

So, just as a matter of form and suggestion, it would behoove Fangraphs and the other Catcher Framing providers to ALSO show the baseline. Furthermore, it would allow us to talk about this in REAL terms. Mathis caught 55% called strikes on the edges of the strike zone to lead the league. That, by itself, is enough of a talking point. It gets everyone into the wading pool. We can go deeper if we need to, and eventually go to the deep end of the pool for all the adjustments. But, baby steps first. Let's start with splashing our feet.

Shallow Now

Having introduced you to the wading pool, let's now go to the shallow end. We can do a WOWY that will control for the venue, on the idea that the tracking mechanisms of each park is not identical. And so, when we see a 47% called strike rate, it might be slightly different at each park. The park in SF had a 48.9% called strike rate. And when we isolate all the pitcher-catchers who pitched with or against the Giants, and then took those pitcher-catchers at the other 29 ballparks, we see that THOSE battery mates had a 46.6% called strike rate. In other words, we OBSERVE a 2.3% difference. Which we need to regress, since some of that is just Random Variation. And I estimate that true difference to be 1.46%. On the other end is Global Life Park at -1.67%. Coors Field is next at -1.47%, and we'll talk about them with Iannetta soon.

Having established the effect of each park, we can now do our pitcher-catcher WOWY, and adjust out the venues. And when we do that, we end up with the leaders and trailers of Bartolo Colon (hi Julia!), and James Paxton (hi Ellen!).

Paxton had 42% called strike rate in The Shadow Zone, against an expectation of 51%, given his catchers, and adjusting for the venue. That's a 9% shortfall, of which our TRUE estimate is about 6%.

Colon had 57% of his pitches called strike in The Shadow Zone, against an expectation of 43%, or 14% higher, of which our true estimate is about 9%. Note that we haven't even talked about the PARTS of The Shadow Zone, or the pitch trajectory (and Colon being a notoriously fastball-first and essentially fastball-mostly pitcher, could very well have a much higher expectation than the 43% we are seeing).

Anyway, having now determined adjustment factors for venues and pitchers we can now go back and look at each of our catchers Base Camp numbers, or wading pool numbers, and bring them into the shallow end. And when we do that we get this at the top and bottom end (converting each extra called strike at 0.12 runs per pitch):

?

  • strike_shadow is the wading pool number
  • adj_strike_shadow applies basic adjustment for venue and pitcher (Mathis had favorable context here)
  • runs1 converts the extra basic strikes called into runs with a basic 0.12 runs per pitch multiplier
  • runs2 uses the adjusted numbers
  • Steamer is our Deep End number (thanks to Jared)

As you can see, not much of an adjustment. The correlation does get us a bit closer to Steamer's Deep End numbers (we are now at r=0.89).

Tomorrow

Tomorrow, I'll take the next step, and break up The Shadow Zone into two zones: the part that is inside the strike zone, and the part that is outside the strike zone. Just to whet your appetite, the called strike rate on the inner part of The Shadow Zone is 79% and in the outer part it is 22%. In other words, maybe we'll find pitchers like Bartolo might throw more pitches in the inner part of The Shadow Zone and so that 57% of his we see might be a product of that. Or not. I don't know, since I haven't checked. And I'm going to bed now. See you tomorrow.


#1    Tangotiger 2019/03/23 (Sat) @ 10:51

For those asking about runs saved outside the Shadow Zone (meaning in Heart of Plate, Chase Zone), this is what happens when I include those.

Runs2_Shadow is the runs saved in The Shadow Zone, after the adjustments noted.

Runs2 includes all 4 regions (though in the Waste, all pitches are called balls, so, in fact it’s only 3 regions).

As you would have expected, hardly makes a dent. 

Correlation with steamer go from r=.892, to r=.899

Remember our starting point is r=.88 by simply reporting the percentage of called strikes in The Shadow Zone.  We are making very minor gains with every adjustment.


#2    Tangotiger 2019/03/23 (Sat) @ 22:19

The next step in this process: I split The Shadow Zone into an “inside the strike zone” and “outside the strike zone”.

For pitches in the shadow zone on inside part, it was a called strike rate of 79%.  For pitches in the shadow zone on the outside part, it was a called strike 22% of the time.

In other words rather than treating every pitch in the shadow zone equivalently at 47% called strike rate, I split it into two groups.

When I do that, the correlation to Steamer improves a bit to r=0.92.

Here’s where we currently are, for the top and bottom 15 catchers:

Small note: runs2 includes the runs saved in the heart of the plate and the chase zone as well.  Not that those two regions had any noticeable impact.  So if you see it doesn’t add up, that’s the reason.


#3    Tangotiger 2019/03/23 (Sat) @ 22:27

There’s really one last step, and this time, it’s to use all 33 bins, rather than the 4 (or now 5) regions of the attack zones.

One thing to be concerned with is as you create more and more bins the less reliable everything is.  You can try to smooth everything out instead, so that you call a function with parameters.  Like say a catch probability.  However, once you do that, you are really into black box territory.  You can no longer (easily) explain everything.

Is the gain worth the complexity?  I’d argue it is not. If you wanted to argue for JUST the shadow zone, I’d be fine with it.  If you wanted to argue for the shadow zone to be split into two, I’d be ok with that.

I think splitting it more than that is going too far.  I’ll go ahead an do it, so we can have the “enhanced” version.  And if this gets us to r=.95 to Steamer, then ok, then it’s not going too far.

I’ll do that tomorrow…



#5    Tangotiger 2019/03/23 (Sat) @ 23:58

I tweeted this out, but let me put it here.  I’ll bold the really important part.

***

r=.88: Wading pool = strike rate in shadow zone

r=.89: Shallow end = adjustment for venue, pitcher (so, a first-pass WOWY).  Still only pitches in shadow zone

r=.90: Include all 4 regions, though Shadow Zone obviously dominates

r=.92: All 4 regions, with Shadow Zone split in 2

***

So one thing is the regression.  I regress the venue and pitcher adjustments, as one should.

After I get the “final” results for the catcher, it seems to me that I NEED to regress the catcher values too.  Otherwise, the catchers absorb any random variation.

And in fact: Between the pitcher and catcher, it is the PITCHER that has the greater influence on whether the pitch is called a strike or not in the shadow zone.  Which makes sense.

So to first correct for the pitcher, and let the catcher absorb the remaining random variation is wrong.

The net result is that the framing numbers would shrink by around 25% (of course all depending on the number of pitches).


#6    Guy 2019/03/24 (Sun) @ 09:38

Really interesting data. Do you think it’s worth the trouble of adding a control for count? I’d guess that the called strike rate in the shadow zone varies dramatically by count (with a range of perhaps 30% to 70%?). On the other hand, the variation in counts for called pitches for individual pitchers may be so small that it can be safely ignored.


#7    Tangotiger 2019/03/24 (Sun) @ 10:50

Right, this is where we always are with this.  I can include bat-side, I can include the batter, the count, even if 1B is open or there’s a shift!

Literally ANY variable you can think of, we can account for.

The danger is over-fitting, and purely trying to explain something that, while totally transparent, is, in practice, a black box.  Suddenly, if you have a number that is hard to believe, like say Doumit is -40 runs or something, it calls into question EVERYTHING.

And that’s simply because we don’t know if the “starting point” was say -15 runs, and all the adjustments pushed him to -40.  Or maybe the starting point was -60, and the adjustments pushed him to -40.

So, at a minimum, we need the wading pool number.  Then, it becomes trying to balance the time needed for every incremental gain.


#8    Tangotiger 2019/03/24 (Sun) @ 18:03

I will stop at this point. 

Doing the further breakdowns I will leave to the aspiring saberists, or leave it as-is with Steamer and the other Catch Framers out there.

I think the first thing that would need to happen is establish the “center point” for each park, for LHH and RHH.  As well as doing so for each plate-count.

Then, create smoothed out elliptical bands around that point.

Then you can introduce variables for the park, pitcher, catcher.


#9    Tangotiger 2019/03/25 (Mon) @ 18:34

r=0.95



Click MY ACCOUNT in top right corner to comment

<< Back to main


Latest...

COMMENTS

Nov 23 14:15
Layered wOBAcon

Nov 22 22:15
Cy Young Predictor 2024

Oct 28 17:25
Layered Hit Probability breakdown

Oct 15 13:42
Binomial fun: Best-of-3-all-home is equivalent to traditional Best-of-X where X is

Oct 14 14:31
NaiveWAR and VictoryShares

Oct 02 21:23
Component Run Values: TTO and BIP

Oct 02 11:06
FRV v DRS

Sep 28 22:34
Runs Above Average

Sep 16 16:46
Skenes v Webb: Illustrating Replacement Level in WAR

Sep 16 16:43
Sacrifice Steal Attempt

Sep 09 14:47
Can Wheeler win the Cy Young in 2024?

Sep 08 13:39
Small choices, big implications, in WAR

Sep 07 09:00
Why does Baseball Reference love Erick Fedde?

Sep 03 19:42
Re-Leveraging Aaron Judge

Aug 24 14:10
Science of baseball in 1957

Aug 20 12:31
How to evaluate HR-saving plays, part 3 of 4: Speed

Aug 17 19:39
Leadoff Walk v Single?

Aug 12 10:22
Walking Aaron Judge with bases empty?

Jul 15 10:56
King Willie is dead.  Long Live King Reid.

Jun 14 10:40
Bias in the x-stats?  Yes!