Project/scale a set of 2D points to keep a set of similarities constraints
I have a problem similar to this one posted here MDS scikit-learn example.
I have a set of similarities
between 2D points that I want to place in a map/plane while keeping this similarities as best as I can. The difference is that I want to keep some of this points fixed while optimizing for the others. So following the MDS example provided, say I want to keep 2 specific points from the similarities
variable held constant. How should I go about it?
More context if needed:
So I would like to create a time-scale map for a given region based on the time it takes to travel by train from a given location to another one. I am following this paper here: time-scale map paper
They take a two step approach to generate the points representing each location:
- Select only top popular train stations and use only the travel times between those stations. Here I was planning on using Metric MDS to get the 2D coordinates while keeping as best as possible the distances (travel time).
- Select smaller stations and generate the time-scaled locations for these based on the time travel between this set and the popular ones mentioned above. In this step the 2D points previously found for the popular stations are kept and we want to find the position for the smaller stations.
So the issue I have is that I do not know how to solve the second part because I don't think I can add constraints to the Metric MDS to keep some of the points static while optimizing the solution for the others since from what I have read the guarantee of error decrease seems to need to update all points at every iteration.
So my question is, how should I go about solving this? I have the 2D points for the set of popular stations already calculated and those need to be held constant during the optimization, and given new travel times I need to optimize the placement of this points so they minimize the error between the travel time and the distance in the map. Any ideas would help, even if it means dropping this 2 step approach and going for a different one. Also if you know of any package where I can do the Metric MDS while adding the constrain to provide some fixed points that would be great. Or maybe I should use some general optimization package because MDS is not the way to go.
Topic manifold scikit-learn optimization
Category Data Science