I’m looking for a package or an algorithm, alternatively an explanation of why what I want is impossible or bad:
I have a set of data x1, y1 ≈ f.(x1)
and one x2, y2 ≈ a*f.(x2) .+ b
for some natural black box function f
and constants a, b
. I would like to merge these two datasets by scaling and shifting y2
, essentially finding a
and b
. The physical motivation is, for instance, spectrometry of the same features using different integration times.
If enough of x2
has “close neighbors” in x1
, this is easy to do decently manually, but I find surprisingly little information on automating the process. My current approach is to minimize wrt p
the sum over each possible pair of points (x1[i], y1[i]), (x2[j], y2[j])
of the error function
(p[1]*y2+p[2] - y1)^2/(1 + (x2 - x1)^2/w^2)
where the points are weighted by the lorentzian 1/(1 + Δx^2/w^2)
of width w
chosen as some multiple of mean(diff(x))
. Results are not great so far.
Has anyone here seen anything similar to this? Image stitching seems adjacent, but not a perfect match.