<p><div><div><div><div data-width="100" data-show-faces="false" data-send="true" data-layout="button_count" data-height="21" data-href="https://www.r-bloggers.com/predicting-the-willingen-2017-mens-ski-jumping-competition/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/"> Environmental Science and Data Analytics</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>In an earlier <a target="_blank" rel="nofollow" href="https://www.r-bloggers.com/predicting-the-zakopane-2017-mens-ski-jumping-competition/">post</a> of mine, I carried out an analysis on ski jumping data for Zakopane, Poland and attempted to predict which athletes would end up on the podium. I also created a classification tree and tested it on the 2017 competition data with good results. For this side project of mine, I hope to predict podium finishes for three major competitions of the ski jumping <a target="_blank" rel="nofollow" href="http://www.fis-ski.com/ski-jumping/events-and-places/calendar/">World Cup</a>. The next competition in the World Cup calendar is Willingen, Germany. Therefore, the second post in this series relates to the prediction of podium finishes in this competition.</p>
<p>The approach this time is similar to that for the Zakopane analysis with the excpetion of adding an extra predictor variable to the classification tree. The variables used to build the classification tree for Zakopane had the dependent variable of podium finish (a logical result of Yes or No) and predictor variables of first round jump and second round jump. The additional predictor variable used here is the total style points achieved. These points are awarded for sound landing, in-air technique and linearity of motion.</p>
<p>The Willingen dataset includes data for all competitions between 2010-2016. Note that the event in 2013 was cancelled. The raw data were scraped from the FIS website using the RCurl and XML packages. The functions of interest are getURL() and readHTMLTable().</p>
<h2></h2>
<h2>The Analysis</h2>
<p>The distribution of all ski jumps (first and second rounds inclusive) is given below. All jumps at Willingen are on the left while only those jumps which contributed to a podium place are on the right. A visual estimation puts the overall mean jump at around 130.0 m while the mean podium jump looks to be around 140.0 m. A look at the summary statistics shows that the overall mean jump is actually 131.5 m while the mean podium jump is 142.5 m.</p>
<p> </p>
<p><img sizes="(max-width: 739px) 100vw, 739px" data-image-description="" data-orig-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot3.png?w=456&amp;ssl=1" data-orig-size="800,414" data-image-title="rplot" class="wp-image-560" data-comments-opened="1" data-recalc-dims="1" data-attachment-id="560" data-permalink="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/rplot-4/" alt="rplot" data-medium-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot3.png?w=456&amp;ssl=1?w=300" data-large-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot3.png?w=456&amp;ssl=1?w=739" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" src="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot3.png?w=456&ssl=1"></p>
<p>All of the summary statistics are given in the following table. These include measures of central tendency such as the mean and median as well as measures of variation such as the standard deviation, range and interquartile range.</p>
<p><img sizes="(max-width: 739px) 100vw, 739px" data-image-description="" data-orig-file="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-07-41.png?w=456&amp;ssl=1" data-orig-size="880,220" data-image-title="screenshot-at-2017-01-26-14-07-41" data-comments-opened="1" class="wp-image-578" data-recalc-dims="1" data-attachment-id="578" data-permalink="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/screenshot-at-2017-01-26-14-07-41/" alt="screenshot-at-2017-01-26-14-07-41" data-medium-file="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-07-41.png?w=456&amp;ssl=1?w=300" data-large-file="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-07-41.png?w=456&amp;ssl=1?w=739" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" src="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-07-41.png?w=456&ssl=1"></p>
<p>The next plot shows the same distributions only this time by way of frequency density plots. Also included are lines indicating the median for all jumps and the mean for the podium jumps. The density curves are superimposed to show the shape of these data. Shapiro-Wilk tests for normality give p-values of 0.0001876 for all jumps and 0.358 for podium jumps. The distribution of podium jumps has a normal distribution whereas the all jumps population is non-parametric.</p>
<p> </p>
<p><img sizes="(max-width: 739px) 100vw, 739px" data-image-description="" data-orig-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot012.png?w=456&amp;ssl=1" data-orig-size="850,414" data-image-title="rplot01" data-comments-opened="1" class="wp-image-582" data-recalc-dims="1" data-attachment-id="582" data-permalink="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/rplot01-3/" alt="rplot01" data-medium-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot012.png?w=456&amp;ssl=1?w=300" data-large-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot012.png?w=456&amp;ssl=1?w=739" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" src="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/rplot012.png?w=456&ssl=1"></p>
<p> </p>
<p>Which jumpers have performed well at Willingen between 2010-2016? Severin Freund is one of them but is out with an ACL injury. Therefore, he is omitted from the analysis. The table below gives the top jumpers in terms of podium finishes. The probability of a podium finish is calculated by: total podiums / appearances.</p>
<p><img sizes="(max-width: 515px) 100vw, 515px" data-image-description="" data-orig-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-18-43.png?w=456&amp;ssl=1" data-orig-size="515,313" data-image-title="screenshot-at-2017-01-26-14-18-43" data-comments-opened="1" class="wp-image-591" data-recalc-dims="1" data-attachment-id="591" data-permalink="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/screenshot-at-2017-01-26-14-18-43/" alt="screenshot-at-2017-01-26-14-18-43" data-medium-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-18-43.png?w=456&amp;ssl=1?w=300" data-large-file="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-18-43.png?w=456&amp;ssl=1?w=515" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" src="https://i0.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-18-43.png?w=456&ssl=1"></p>
<p>There are some familiar names in there. As in Zakopane, Kamil Stoch is once again one of the top jumpers. He has 3 podium finishes from 5 competitions; a probability of a podium place of 60%. We can extract the top jumpers from this table and create an additional dataframe which includes extra information. Here it is:</p>
<p><img sizes="(max-width: 739px) 100vw, 739px" data-image-description="" data-orig-file="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-25-57.png?w=456&amp;ssl=1" data-orig-size="1010,151" data-image-title="screenshot-at-2017-01-26-14-25-57" data-comments-opened="1" class="wp-image-600" data-recalc-dims="1" data-attachment-id="600" data-permalink="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/screenshot-at-2017-01-26-14-25-57/" alt="screenshot-at-2017-01-26-14-25-57" data-medium-file="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-25-57.png?w=456&amp;ssl=1?w=300" data-large-file="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-25-57.png?w=456&amp;ssl=1?w=739" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" src="https://i1.wp.com/sw23993.files.wordpress.com/2017/01/screenshot-at-2017-01-26-14-25-57.png?w=456&ssl=1"></p>
<p>The additional variables include the podium place (1st, 2nd or 3rd), probabilities of winning the event and getting a podium finish, the mean podium jump, the overall mean jump, the overall median jump and the overall maximum jump. This closer look at the numbers reveals that Kamil Stoch’s three podium finishes were all 1st places. Peter Prevc has one 1st place, one 2nd and one 3rd from his three podium finishes. The other athletes have not won the event between 2010-2016.</p>
<p>The 2017 competition favourite, then, is surely Kamil Stoch. Kenneth Gangnes, Anders Jacobsen and Martin Koch appear to be out of the World Cup this year as I can find no record of them on the official website. I found an article stating Gangnes had damaged his ACL in June 2016 so perhaps he is out due to injury. In any case, the only robust predictions I could make from the dataset would be a win for Kamil Stoch and a podium finish for Peter Prevc. My wildcard options are: Daniel Andre Tande, Andreas Wellinger and Richard Freitag. Stefan Kraft would be in there but he is out due to sickness as far as I know.</p>
<p> </p>
<h2>The Classification Tree</h2>
<p>Intuition is all well and good. However, a classification tree can give us conditions which can assist in predicting whether an athlete’s performance may be good enough to get him a podium place.</p>
<p>The partykit package was used to build the classification tree for Willingen. Whether a podium place was achieved is the dependent variable. The lengths of the first and second round jumps as well as total style points are the predictor variables. I used a 90% training 10% test split as the dataset is not particularly large (<em>n</em> = 347). Here is the plot output:</p>
<p> </p>
<p><img sizes="(max-width: 739px) 100vw, 739px" data-image-description="" data-orig-file="https://i2.wp.com/sw23993.files.wordpress.com/2017/01/rplot023.png?w=456&amp;ssl=1" data-orig-size="788,414" data-image-title="rplot02" data-comments-opened="1" class="wp-image-618" data-recalc-dims="1" data-attachment-id="618" data-permalink="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/rplot02-4/" alt="rplot02" data-medium-file="https://i2.wp.com/sw23993.files.wordpress.com/2017/01/rplot023.png?w=456&amp;ssl=1?w=300" data-large-file="https://i2.wp.com/sw23993.files.wordpress.com/2017/01/rplot023.png?w=456&amp;ssl=1?w=739" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" src="https://i2.wp.com/sw23993.files.wordpress.com/2017/01/rplot023.png?w=456&ssl=1"></p>
<p>We see that the first partitioning is determined by the length of the first round jump. A jump of over 141.0 m and a total style points score of greater than 253.9 all but guarantees a podium place. There is, however, a small chance of a podium with a total style points score of less than 253.9 given a first round jump greater than 141.0 m.</p>
<p>A first round jump of less than 141.0 m, a second round jump greater than 140.5 m and a total style points score over 257 is also associated with a high  probability of a podium finish. A run of this model on the test set gives a model accuracy of 97%, with the model correctly predicting one podium finish and 33 non-podium finishes. One podium finish prediction was false.</p>
<p> </p>
<h2>Conclusion</h2>
<p>The decision tree seems to have given us some solid numbers to aim for both in terms of jump length and style points. The overall mean podium jump is 142.5 m and this would be a good target to set. Of course, style points also matter, as shown by the classification tree.</p>
<p>My predictions are:</p>
<ol>
<li>Kamil Stoch</li>
<li>Peter Prevc</li>
<li>Wildcard (A. Wellinger, R. Freitag, D. Prevc, D. A. Tande or S. Kraft</li>
</ol>
<p>I’ll be back with the results and an update on how the model performs on the 2017 results and whether the conditions set by it were accurate.</p>
<p> </p>
<p> </p>
<p> </p>
<table width="28" border="0" cellspacing="0">
<colgroup width="101"></colgroup>
<colgroup width="85" span="5"></colgroup>
<tbody>
<tr>
<td height="17" align="left"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
</tbody>
</table>
<p> <a target="_blank" rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sw23993.wordpress.com/525/"><img alt="" src="http://feeds.wordpress.com/1.0/comments/sw23993.wordpress.com/525/" border="0"></a> <img alt="" src="https://i1.wp.com/pixel.wp.com/b.gif?resize=1%2C1&ssl=1" border="0" data-recalc-dims="1"></p>
<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="https://sw23993.wordpress.com/2017/01/26/predicting-the-willingen-2017-mens-ski-jumping-competition/"> Environmental Science and Data Analytics</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a title="The R Project for Statistical Computing" rel="nofollow" href="https://www.r-project.org/">R</a> news and <a title="R tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/tutorial">tutorials</a> on topics such as: <a title="Data science" rel="nofollow" href="https://www.r-bloggers.com/search/data%20science">Data science</a>, <a title="Big Data" rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data">Big Data, <a title="R jobs" rel="nofollow" href="https://www.r-users.com/">R jobs</a>, visualization (<a title="ggplot and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2">ggplot2</a>, <a title="Boxplots using lattice and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/boxplot">Boxplots</a>, <a title="Maps and gis" rel="nofollow" href="https://www.r-bloggers.com/search/map">maps</a>, <a title="Animation in R" rel="nofollow" href="https://www.r-bloggers.com/search/animation">animation</a>), programming (<a title="RStudio IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/RStudio">RStudio</a>, <a title="Sweave and literate programming" rel="nofollow" href="https://www.r-bloggers.com/search/sweave">Sweave</a>, <a title="LaTeX in R" rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX">LaTeX</a>, <a title="SQL and databases" rel="nofollow" href="https://www.r-bloggers.com/search/SQL">SQL</a>, <a title="Eclipse IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/eclipse">Eclipse</a>, <a title="git and github, Version Control System" rel="nofollow" href="https://www.r-bloggers.com/search/git">git</a>, <a title="Large data in R using Hadoop" rel="nofollow" href="https://www.r-bloggers.com/search/hadoop">hadoop</a>, <a title="Web Scraping of google, facebook, yahoo, twitter and more using R" rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping">Web Scraping</a>) statistics (<a title="Regressions and ANOVA analysis tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/regression">regression</a>, <a title="principal component analysis tutorial" rel="nofollow" href="https://www.r-bloggers.com/search/PCA">PCA</a>, <a title="Time series" rel="nofollow" href="https://www.r-bloggers.com/search/time+series">time series</a>, <a title="finance trading" rel="nofollow" href="https://www.r-bloggers.com/search/trading">trading</a>) and more...
<img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/niSM5RbNsoM"></a></div>