-
Notifications
You must be signed in to change notification settings - Fork 15
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
Karcher mean computation #34
Comments
As usual please put in a PR. |
Hi @jdtuck. About the first point, I am not familiar with the vocabulary here (orbits and all) but in your 2013 paper, you do describe in Algorithm 1, fifth step, the recentering of the optimal warpings that have been found. This is what is currently missing in our opinion in the About the second point, I understand numerical errors due to integration have to be handled but it is not the same thing to compute the pointwise mean in SRVF space or in original space. In particular, the pointwise mean is the Frechet mean associated to the L2 distance which is therefore appropriate in SRVF space. Hence, our comment. When you do pointwise mean in original space ( That being said, you are way more expert on the matter than we are, so I might be missing a point here. Thanks for taking the time to think on it with us. |
First point, we can add it, but I will go back to what I said, should be added to Second point, yes its a different metric, but the results is numerically very similar as the functions are already aligned. The integration is error is much larger than the difference in metric after alignment. |
First point: good to me. I understand from your comment that Second point: I understand. Would it be possible to have a small reproducible example that quantifies that? I am interested in investigating more on this problem. |
I can try to work up an example for you. The problem is multivariate functional data depending on the type fall with in the curve domain so that is why any changes we need to figure out how to make it inclusive in the world of "shape" |
While working with the package, @astamm and I noticed two possible incongruences with the reference paper (Tucker et al., 2013). Specifically,
Missing normalization step
In the two functions
curve_karcher_mean()
andmultivariate_karcher_mean()
, the computation of the Karcher mean never includes the normalization step of the mean. Currently, the output mean represents an element of the entire equivalence class of solutions and the inverse of the mean warping is not applied for the choice of the preferred mean in the equivalence class. We think that this part should be added to the code.Moreover, not from a theoretical point of view, but for the stability of the implementation, we argue that it is better to include such normalization step inside the for-loop of iterations: after the alignment of the SRVF and before mean computation, they should be aligned back though the inverse mean warping.
Computation of betamean
In the function
kmeans_align()
, when computing the templates for the case ofL=1
, i.e., univariate functions, the mean offn
is computed as the pointwise mean of thefn
. However, it should be computed as the inverse SRVF of the mean of theqn
.If you agree about this, @astamm and I could submit a PR in an attempt to fix these issues.
The text was updated successfully, but these errors were encountered: