Having trouble finding parameters with nlinfit function
8 views (last 30 days)
Show older comments
Hi! I'm currently studying an article from Andrew JK Phillips (f1metrics.wordpress.com) which proposes a stadistical model to estimate the performance of an Formula One driver and their team across a certain season (Phillips, A. J. (2014). Uncovering Formula One driver performances from 1950 to 2013 by adjusting for team and competition effects. Journal of Quantitative Analysis in Sports, 10(2), 261-278). I'm not sure I can share the article here, so I won't. I'm willing to clarify any matter or confusion about everything I say about it, though.
Introduction
I think I'll not be able to summarize the article as good as I'd like to, but here it goes: Phillips proposes the scoring rate
which is bounded between 0 and 10 (the worst and the best possible performance, respectively, for a driver i in a certain team j in a certain season k). Quickly summarized, it is computed as the sum of the points a driver scored in a season divided by the number of races where the driver either finished or crashed on its own, not accounting for mechanical failures. The points are assigned according to a certain system suggested by Phillips itself:
- Positions 1st to 6th: 1991 to 2002 F1 points scoring system is used.
- Positions 7th onwards:
, where p is the position. - Non-mechanical DNF: 0 points.
On the other hand, Phillips also proposes that
can be computed as:
Now,
is a linear predictor whose proposed stadistical model is:
where
,
and
are, respectively, fixed effects representing driver performance, team performance and difficulty scoring in season k due to competition with other drivers.
is a random effect representing variability in performance. As
is a expected scoring rate of a population, it can be computed using:
where
The questions
Now, to the Matlab part: since
can also be computed using the points scored from a driver in a certain season (and thus
), Phillips estimates the two unknown parameters
and
using the nlinfit function in Matlab. I understand that
is the modelfun argument,
is equivalent to random effects that could be added (using normrnd, for example), and the result of the nlinfint function would be a vector with the values of
and
.
- However, my first question is... what represents the x argument? The y argument would be the scoring rate
computed usign a driver's results across a certain season, but there's no x value there. It could be the results themselves, but the
function does not depend on them. - Besides, another thing that bugs me is how can I compute
beforehand, as it depends on many different
values, one for every other driver in the grid. If
, where 22 drivers and 11 teams competed (2 drivers on each team), do I have to make nlinfit compute 22 different
and 11 different
values?
Thank you so much for your time.
Edit: forgot to point out that
is the number of drivers in season k,
is the number of races a driver m drove for a team n in a season k (a driver can switch teams mid-season), and
is the number of races in a season k.
1 Comment
Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!