locked
Ranking with Betas in infer.NET? RRS feed

  • Question

  • Hello

    Within Infer.NET, is it possible to create a ranking model similar to TrueSkill, but which uses different probability distributions to represent the ranking, i.e. Beta? What would the observations on such a model be?

    Best regards

    Owen

    Thursday, November 9, 2017 11:40 AM

All replies

  • Infer.NET does not provide enough operations on Beta distributions for this to be possible.  The reason for this is such operations would be very inefficient, and Infer.NET focuses on efficient operations.  Is there a particular reason why you want to use Beta distributions?
    Thursday, November 9, 2017 1:20 PM
    Owner
  • Hello

    I am trying to model the ranking of choices on a set of items, the data for which tends towards the end-points. Beta distributions allow this model to fit the data whereas Gaussian distributions didn't (I did a test model in R which sampled from Beta distributions to represent the choices).

    I was keen to use Infer.NET to represent the inference in the most principled way possible. Is there another distribution type I can use?

    Best regards

    Owen

    Thursday, November 9, 2017 2:22 PM
  • I don't follow how the Beta distributions are actually being used.  Can you give some more detail about the model?
    Thursday, November 9, 2017 2:28 PM
    Owner
  • Hello

    For a given set of items, each item has a Beta distribution assigned to it.

    The precision of each Beta distribution feeds into a 'score' variable for each item. The softmax of this vector of scores is taken, which allows item selection to be simulated via a Discrete distribution: "SelectedStimulus <- rdiscrete(1, SoftmaxArray)"

    Best regards

    Owen

    Thursday, November 9, 2017 2:43 PM
  • So why does it matter that it is a Beta distribution?  The precision of a Beta distribution is just a number.  These numbers are the random variables in the model.
    Thursday, November 9, 2017 3:13 PM
    Owner
  • Hello

    The data I have against each set element is not spread evenly across them, e.g.:

    Item:     1   2   3   4   5   6   7   8   9  10

    Count:   45 34 15 15 15 20 20  25 32 59

    The Beta distribution represents this weighting towards the end points naturally.

    Best regards

    Owen

    Thursday, November 9, 2017 3:38 PM
  • There is still some detail that you have left out.  Is there a more precise description of the model available somewhere?
    Thursday, November 9, 2017 3:47 PM
    Owner
  • It sounds like you are saying that each item has a single random variable associated with it, called a score, and the SelectedStimulus is a drawn according to the softmax of the scores.  None of this implies that the distribution of the score variable should be a Beta distribution.

    A random choice model like this is very easy to implement in Infer.NET using a Gaussian prior for the score.

    Thursday, November 9, 2017 3:55 PM
    Owner
  • Hello,

    It's part of a paper I am trying to (re)write, I'd be more than happy to post here a brief summary of the model ASAP. I want to convert what I have in this paper to use Infer.NET, and extend it further it using Infer.NET.

    Best regards

    Owen

    Thursday, November 9, 2017 4:25 PM
  • @Owen Could you please reference the paper? I am curious what kind of model is this.

    Just guessing, is this sort of a learning to rank model? You essentially have a bunch of feature vectors that you want to rank.

    Thanks


    • Edited by usptact Thursday, November 9, 2017 11:49 PM
    Thursday, November 9, 2017 11:48 PM
  • Unfortunately, this code tells me little about your model.  This code has nothing to do with ranking, it is simply flipping coins.  Also, the simulation "loop" is not a loop.
    Friday, November 10, 2017 1:48 PM
    Owner
  • Hi Tom,

    Can I change my question.

    Assuming we have a rank of Gaussian variables generated via a routine similar to that documented in the tutorials ("irregular interactions on game graphs"), how can I represent links of varying strength between these variables? Are there any tutorial examples or forum entries which show Infer.NET code to do something similar?

    I noted the stochastic block model interaction matrix and Markov Random Field examples in the forum seem to represent this. Any thoughts appreciated.

    Best regards

    Owen

    Friday, November 10, 2017 3:58 PM
  • For this kind of modelling advice, you should ask Cross Validated.
    Friday, November 10, 2017 4:52 PM
    Owner