title: Machine Learning Algorithm for Completing Sparse Matrix Data
body: <p>I've seen some machine learning questions on here so I figured I would post a related question:</p>
  
  <p>Suppose I have a dataset where athletes participate at running competitions of 10 km and 20 km with hilly courses i.e. every competition has its own difficulty.</p>
  
  <p>The finishing times from users are almost inverse normally distributed for every competition.</p>
  
  <p>One can write this problem as a matrix:</p>
  
  <pre><code>       Comp1 Comp2 Comp3
  User1  20min  ??   10min
  
  User2  25min 20min 12min
  
  User3  30min 25min ??
  
  User4  30min ??    ??
  </code></pre>
  
  <p>I would like to complete the matrix above which has the size 1000x20 and a sparseness of 8 % (!).</p>
  
  <p>There should be a very easy way to complete this matrix, since I can calculate parameters for every user (ability) and parameters for every competition (mu, lambda of distributions). Moreover the correlation between the competitions are very high.</p>
  
  <p>I can take advantage of the rankings User1 &lt; User2 &lt; User3 and Item3 &lt;&lt; Item2 &lt; Item1</p>
  
  <p>Could you maybe give me a hint which methods I could use?</p>