Monday, August 14, 2006
Implentation v Framework
There is a world of difference between a framework, and an implementation. A framework is a structure that defines how all its components interact. An implementation is using the framework to create a solution. If you don’t like the solution, it’s not the framework’s fault (necessarily), but the implementation. Java can be a framework, while MLB.com is an implementation of Java.
Now, Charlie Pavitt tries to defend Linear Weights to Bill James.
http://www.philbirnbaum.com/pavittonwinshares.html
He says:
Linear Weights, in sharp contrast with both, wants to be able to compare players’ performance for a given year in an environment free of contexts such as team wins or team strategy.
Now…
The reason that Bill James doesn’t “get” Linear Weights (or hasn’t gotten it, based on his writings) is the misapplication of framework and implementation.
As anyone who has read Chapter 1 of The Book knows, the run values of each events are what they are. And, when multiplied by the frequency of the event, the sum of which must equal zero. This is the framework of Linear Weights. It is what it is. The framework of Linear Weights is entirely dependent on its context. The run value of a walk is what it is because of the environment in which it occurs. The basis of the framework is that you have to know what the environment contains, so that you can measure how much of an impact an event has on that environment.
Now, what can you do with this framework? That’s a discussion of an implementation. In The Hidden Game, and subsequent Total Baseball and ESPN Encyclopedias, Pete Palmer comes up with run values relative to average. A player that is average gets a run value of zero, while a player who produces less than average gets a negative number. Bill James, among others, decries that we dare say someone has “negative” value. And, even worse, a pitcher who is 14-15, with a corresponding ERA, would come out worse than a pitcher who is 2-1, with a corresponding ERA. This is a problem with Palmer’s implementation of Linear Weights, and not its framework.
The framework itself is perfect, more or less, because it follows reality. The implementation is different, because it measures two different things. For example, let’s say my salary, in my industry, may be 20,000$ less than average, meaning I’d get a -20 score. But, I’m still earning a living, and paying bills. It’s not like I have no monetary value. I simply make less than someone else in my industry. Maybe that’s meaningful to you, and maybe that’s meaningless. I don’t know.
A better implementation of the framework is to convert the player’s run value into it’s pluses and minuses. Instead of saying said hitter is -1 runs, you can say he’s +119 runs when he does something that helps his team, and -120 runs when he doesn’t. If some schmoe on the bench is +1, maybe he’s +21 runs and -20 runs. See what I did? All I did was give the implementation more context. You always need to see the plus with the minus, or the total against the opportunities. Wins and Losses, or Wins and Games.
Win Probability Added (WPA) has the same implementation issues as Palmer’s Linear Weights. By definition WPA is win advancement (WA) minus loss advancement (LA). If you see a starting pitcher go 7 innings, with a WPA of -0.1, and a relief pitcher go two-thirds of an inning with +0.1, it looks strange. But, that’s because the WPA implementation is missing critical data. If you do WA minus LA, and you show the starter as being +0.8 and -0.9. and the relievers as +0.1, and -0.0, it’s more apparent what happened. The starter pitched alot, and he kept his team in the game, but not as much as the opposing starter. The reliever came in for a very short period of time, and did his job.
Which one was more valuable? The likelihood is that the starter was more valuable, since there is value in just being on the field. (But, not if you are Cristian Guzman).
Implementation, Framework. Two different things.
Very good explanation of this issue. I have to assume that James knows he is arguing with the implementation of LWts rather than the framework. He is just kind of loose in his terminology.