Code Monkey home page Code Monkey logo

Comments (3)

antagomir avatar antagomir commented on June 14, 2024

This is a good point, there is already some discussion in OMA beta diversity section current lines 213-221.

Sometimes a similar measure is shown for MDS/PCoA. The interpretation
is generally different, however, and hence we do not recommend using
it. PCA is a special case of PCoA with Euclidean distances. With
non-Euclidean dissimilarities PCoA uses a trick where the pointwise
dissimilarities are first cast into similarities a Euclidean space
(with some information loss i.e. stress) and then projected to the
maximal variance axes. In this case, the maximal variance axes do not
directly reflect the correspondence of the projected distances and
original distances, as they do for PCA.

The explained variance is generally used only for PCA and other eigenvalue-based ordination methods (most notably, MDS aka PCoA) as far as I have seen. For PCoA, the interpretation is indeed somewhat different from PCA, and measuring the stress (information loss) instead might be more appropriate; although stress concerns the whole ordination rather than specific axes.

On the other hand, many researchers still use PCoA explained variances and may not be even aware of the differences. We have at least shown in OMA how to calculate this for PCoA, and described the interpretation problem.

Because this is widely used, it could make sense to provide it but I am not sure if we want to support the use of this option as a best practice that is easily and readily available through a function, rather than through an explicit programming example. We can discuss this here.

If this is provided as a function, then it could go to miaViz and probably good to calculate for all axes at one go. Such function should return the stress as well, and this can be combined with the Shepard plot (see OMA).

from miaviz.

FelixErnst avatar FelixErnst commented on June 14, 2024

Since this is usually given with the axis caption, it can be added very easily later on. As Leo has mentioned the mathematical basis for this is sketchy at best and therefore I would avoid any functionality claiming anything different.

I would close this issue. OK?

from miaviz.

antagomir avatar antagomir commented on June 14, 2024

Ok to me.

from miaviz.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.