Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Laplacian smoothing for multi-order likelihood calculation #7

Open
IngoScholtes opened this issue Nov 9, 2017 · 2 comments
Open

Laplacian smoothing for multi-order likelihood calculation #7

IngoScholtes opened this issue Nov 9, 2017 · 2 comments
Assignees
Milestone

Comments

@IngoScholtes
Copy link
Collaborator

No description provided.

@IngoScholtes
Copy link
Collaborator Author

A quick write-up of some key ideas developed in a discussion we had here at NetSI today.

  1. For classification problems, we have the problem that we need to calculate the likelihood based on paths that included unobserved nodes or transitions. This is the case in the Wikispeedia data set, where some of the possible transitions may or may not appear in different subsets of the data.
  2. We can fix this using Laplacian Smoothing, i.e. we add a small epsilon probability to events that are possible, but that have not been observed.
  3. For this purpose, we need to be able to tell the MultiOrderModel class what events are possible, independent of the transitions that have been observed in the Paths object used to fit the model. This requires an additional parameter in which we can set the "topological constraint" A (e.g. in terms of a a binary adjacency matrix) for the underlying model. In general, this can be at any order but for now we restrict ourselves to a first-order topology.
  4. In the calculation of transition probabilities, this constraint is taken into account in different ways:
  • In the zero order model, we add a transition start -> x with probability epsilon whenever the constraint topology contains a node x that has not been observed in the paths used to fit the model
  • In the first order model, we add a transition x -> y with probabyility epsilon whenever the topology contains a link that has not been observed in any path
  • In the higher-order models, we add transitions with probability epsilon whenever such a transition is theoretically possible in the given topology.

Here's a scribble of the basic solution in the Wikispeedia case:

smoothing

@IngoScholtes
Copy link
Collaborator Author

Kamino cloned this issue to uzhdag/pathpy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants