TrueSkill Through Time
-
18. dubna 2012 14:25
Hi!
I found an implementation of TrueSkill using Infer.NET on this forum and it works great for me. However, I'm unable to implement TrueSkill Through Time in the same way. I know there is an implementation of TTT in F#, however, it doesn't use Infer.NET.
I'd appreciate any help!
Thanks!
Všechny reakce
-
19. dubna 2012 12:39
In TrueSkill Through Time, the player skills change each year, and they are coupled between consecutive years. So you need to have a separate PlayerSkills array for every year, and repeat the whole model (performances, etc.) for each year, then link the years. The trickiest bit is linking the years. Each player has a year where they first started playing. In that year, their skill comes from the prior, otherwise their skill is drawn from a Gaussian around the previous year's skill. Since this differs for each player, you have to use a Variable.If statement to branch on whether this is the first year for a player, and generate their skill value appropriately. So the code becomes something like this:
Variable<bool> isFirstYear = (firstYear[player] >= year); using (Variable.If(isFirstYear)) { skillInYear[year][player] = Variable<double>.Random(skillPrior); } using (Variable.IfNot(isFirstYear)) { skillInYear[year][player] = Variable.GaussianFromMeanAndPrecision(skillInYear[year-1][player], skillChangePrecision); }