fslaborg / fslaborg/FSharp.Stats

[Feature Request] Add other ordination methods

Open
#41 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority-low project-Core up-for-grabs
Dominant language
F#
Stars
227
Forks
58
Avg merge
55m
Merged PRs (30d)
1

Description

**Is your feature request related to a problem? Please describe.**
Not really a problem. Currently the only implemented ordination method in FSharp.Stats is PCA. PCA is applied on data where a linear relationship is expected and the distance measure of choice is euclidean distance.

**Describe the solution you'd like**
Addition/implementation of the following Multidimensional Scaling algorithms:

- [ ] **Principal Coordinates Analysis (PCoA, Classical Multidimensional Scaling'):**
- assumption of linear relationship
- is similar in spirit to PCA but it takes a dissimilarity as input.
- Using euclidean distance as distance measure produces the same outcome as PCA, but you can use others (e.g. log-fold change, Jacard)

- [ ] **Non-metric multidimensional scaling (nMDS):**
- no linear relationship assumed
- superset of classical MDS that generalizes the optimization procedure to a variety of loss functions and input matrices of known distances with weights and so on. A useful loss function in this context is called stress, which is often minimized using a procedure called stress majorization
- non-metric MDS finds both a non-parametric monotonic relationship between the dissimilarities in the item-item matrix and the distances between items, and the location of each item in the low-dimensional space.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.