I expanded my look at save percentages to penalty kill data. Once again I calculated logits from the save percentages. I removed goalies with logits that were infinity or undefined. Compared to even strength, the penalty kill data is a real muddle. The best model explains only about 13% of the variability seen. About 87% of the variability remains unexplained.
There is a small correlation between even strength save percentage and penalty kill save percentage. Penalty kill save percentage is converted to "PKLogit" and even strength save percentage is converted to "RawLogit".
> cor.test(RawLogit, PKLogit, alternative="two.sided", method="pearson")
Pearson's product-moment correlation
data: RawLogit and PKLogit
t = 7.4081, df = 868, p-value = 3.035e-13
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.1803148 0.3053741
sample estimates:
cor 0.2438580 > LinearModel.10 <- lm(PKLogit ~ RawLogit, Data=PKxxx, weights=PKSA)
> anova(LinearModel.10)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
RawLogit 1 497.5 497.54 48.466 6.629e-12 ***
Residuals 868 8910.7 10.27
Year Effect
Unlike even strength, there does not seem to be a year effect. The dotted line is the mean. The solid line is the least squares best fit.
> LinearModel.11 <- lm(PKLogit ~ Year, Data=PKxxx, weights=PKSA)
> anova(LinearModel.11)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
Year 1 9.2 9.1984 0.8495 0.3570
Residuals 868 9399.1 10.8284
Team Effect
Taken by itself, there is a small team effect.
> LinearModel.12 <- lm(PKLogit ~ Team, Data=PKxxx, weights=PKSA)
> anova(LinearModel.12)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
Team 29 566.1 19.521 1.8545 0.004252 **
Residuals 840 8842.1 10.526
Goalie Effect
Taken by itself, there does not seem to be a goalie effect.
> LinearModel.13 <- lm(PKLogit ~ GoalieName, Data=PKxxx, weights=PKSA)
> anova(LinearModel.13)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
GoalieName 220 2535.4 11.525 1.0883 0.2148
Residuals 649 6872.8 10.590
Multiple Effects
Looking at Team, Year, and Goalie.
> LinearModel.16 <- lm(PKLogit ~ Year + Team + lastfirst, data=PKData, weights=PKSA)
> anova(LinearModel.16)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
Year 1 9.2 9.1984 0.9051 0.341786
Team 29 566.3 19.5272 1.9215 0.002828 **
lastfirst 220 2542.1 11.5548 1.1370 0.118023
Residuals 619 6290.7 10.1627
Since goalie doesn't add to the model, let's take it out.
Looking at Team and Year.
> LinearModel.14 <- lm(PKLogit ~ Year+Team, data=PKData, weights=PKSA)
> anova(LinearModel.14)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
Year 1 9.2 9.1984 0.8737 0.350194
Team 29 566.3 19.5272 1.8548 0.004243 **
Residuals 839 8832.8 10.5277
Finally, looking at Team, Year, and Team*Year interaction.
> LinearModel.15 <- lm(PKLogit ~ Year*Team, data=PKData, weights=PKSA)
> anova(LinearModel.15)
Analysis of Variance Table
Response: PKLogit
Df Sum Sq Mean Sq F value Pr(>F)
Year 1 9.2 9.1984 0.9124 0.3397687
Team 29 566.3 19.5272 1.9369 0.0023447 **
Year:Team 29 666.6 22.9845 2.2798 0.0001598 ***
Residuals 810 8166.2 10.0817
For the coefficients of this model, see the Appendix below.
Comparing the two models shows we have not lost anything.
> anova(LinearModel.15,LinearModel.16)
Analysis of Variance Table
Model 1: PKLogit ~ Year * Team
Model 2: PKLogit ~ Year + Team + lastfirst
Res.Df RSS Df Sum of Sq F Pr(>F)
1 810 8166.2
2 590 5870.4 220 2295.8 1.0488 0.3283
Conclusions
Penalty kill save percentage is best predicted by Team and a Team*Year interaction term. Goaltenders do not seem to differ significantly and do not add resolving power to the model. The model predicts only about 13% of the total variability seen in the data.
Appendix
> summary(LinearModel.15)
Call:
lm(formula = PKData$PKLogit ~ Year * Team, data = PKData, weights = PKSA)
Residuals:
Min 1Q Median 3Q Max
-8.0952 -2.3457 -0.5473 1.7953 9.7120
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -23.986591 22.206924 -1.080 0.28040
Year 0.012944 0.011086 1.168 0.24329
Team[T.ATL] -10.523932 35.026909 -0.300 0.76391
Team[T.BOS] 14.805245 32.815465 0.451 0.65199
Team[T.BUF] 27.982456 31.241862 0.896 0.37069
Team[T.CAR] 71.411711 32.527856 2.195 0.02842 *
Team[T.CBJ] 29.715859 39.199665 0.758 0.44863
Team[T.CGY] -11.023374 30.860942 -0.357 0.72104
Team[T.CHI] 6.342364 32.909471 0.193 0.84723
Team[T.COL] 83.106082 31.357718 2.650 0.00820 **
Team[T.DAL] 77.805340 33.163387 2.346 0.01921 *
Team[T.DET] 78.066731 32.214720 2.423 0.01560 *
Team[T.EDM] 23.276299 31.503776 0.739 0.46022
Team[T.FLA] -5.228478 31.574171 -0.166 0.86852
Team[T.LAK] 75.850056 31.358441 2.419 0.01579 *
Team[T.MIN] -31.303930 40.540374 -0.772 0.44024
Team[T.MTL] 20.734570 32.961644 0.629 0.52949
Team[T.NJD] 11.933600 33.733418 0.354 0.72361
Team[T.NSH] 25.535574 34.270177 0.745 0.45641
Team[T.NYI] 49.159100 33.088931 1.486 0.13776
Team[T.NYR] -21.016443 32.208480 -0.653 0.51426
Team[T.OTT] 33.700302 32.921507 1.024 0.30630
Team[T.PHI] 39.878339 33.149079 1.203 0.22933
Team[T.PHX] 20.381213 33.090162 0.616 0.53811
Team[T.PIT] 24.266255 31.996114 0.758 0.44842
Team[T.SJS] -14.503204 32.040726 -0.453 0.65092
Team[T.STL] -15.382665 32.119666 -0.479 0.63213
Team[T.TBL] 35.760341 32.690079 1.094 0.27432
Team[T.TOR] 98.249645 32.546095 3.019 0.00262 **
Team[T.VAN] 29.383455 32.439625 0.906 0.36532
Team[T.WSH] 89.971782 30.869225 2.915 0.00366 **
Year:Team[T.ATL] 0.005163 0.017480 0.295 0.76781
Year:Team[T.BOS] -0.007405 0.016381 -0.452 0.65137
Year:Team[T.BUF] -0.013926 0.015597 -0.893 0.37221
Year:Team[T.CAR] -0.035679 0.016237 -2.197 0.02828 *
Year:Team[T.CBJ] -0.014835 0.019559 -0.758 0.44839
Year:Team[T.CGY] 0.005478 0.015407 0.356 0.72227
Year:Team[T.CHI] -0.003197 0.016428 -0.195 0.84574
Year:Team[T.COL] -0.041499 0.015656 -2.651 0.00819 **
Year:Team[T.DAL] -0.038867 0.016556 -2.348 0.01913 *
Year:Team[T.DET] -0.038944 0.016083 -2.421 0.01568 *
Year:Team[T.EDM] -0.011641 0.015727 -0.740 0.45939
Year:Team[T.FLA] 0.002624 0.015761 0.166 0.86783
Year:Team[T.LAK] -0.037921 0.015655 -2.422 0.01564 *
Year:Team[T.MIN] 0.015664 0.020228 0.774 0.43893
Year:Team[T.MTL] -0.010338 0.016453 -0.628 0.52996
Year:Team[T.NJD] -0.005968 0.016839 -0.354 0.72311
Year:Team[T.NSH] -0.012764 0.017106 -0.746 0.45579
Year:Team[T.NYI] -0.024568 0.016514 -1.488 0.13722
Year:Team[T.NYR] 0.010468 0.016079 0.651 0.51519
Year:Team[T.OTT] -0.016838 0.016433 -1.025 0.30583
Year:Team[T.PHI] -0.019930 0.016547 -1.204 0.22877
Year:Team[T.PHX] -0.010213 0.016520 -0.618 0.53662
Year:Team[T.PIT] -0.012158 0.015972 -0.761 0.44673
Year:Team[T.SJS] 0.007222 0.015995 0.452 0.65175
Year:Team[T.STL] 0.007655 0.016033 0.477 0.63319
Year:Team[T.TBL] -0.017942 0.016318 -1.100 0.27186
Year:Team[T.TOR] -0.049103 0.016249 -3.022 0.00259 **
Year:Team[T.VAN] -0.014681 0.016193 -0.907 0.36487
Year:Team[T.WSH] -0.044899 0.015410 -2.914 0.00367 **