Statistics::MDScaleMetric Function

void MDScaleMetric(TMtx *D, TMtx *Y, TVec *EigenValues, const int NumDim);

Classical multidimensional scaling.

#NameTypeDescription
1DTMtx *Distance matrix.
2YTMtx *Returns the coordinates of object in reduced space.>
3EigenValuesTVec *
4NumDimconst intDefines number of dimensions/variables to use in classical MD scaling algorithm.
Examples
#include "MtxExpr.h"
#include "Statistics.h"
#include "Units.Statistics.h"

using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Stats;
using namespace Dew::Stats::Units::Statistics;

void Example()
{
    Matrix X(0,0);
    Matrix Y(0,0);
    Matrix D(0,0);
    Matrix DHat(0,0);
    Vector eigen(0);
    X.SetIt(5,2,false,DewArray<double>{1,2,3,4,3,11,7,8,9,4});
    // Use all dimensions i.e. 2
    PairwiseDistance(X,D,2,TPWDistMethod::pwdistEuclidian);
    // Reduce to just one variable (1d subspace)
    MDScaleMetric(D,Y,eigen,1);
    // Calculate estimated distance matrix
    PairwiseDistance(Y,DHat,1,TPWDistMethod::pwdistEuclidian);
    // Calculate stress - measure of GOF
    double stress = MDScaleStress(D,DHat);
    // if stress > 0.2, the GOF is poor.
}
See Also: Statistics::MDScaleStress
Declared in Dew::Stats::Units::Statistics · Dew.Stats/Units.Statistics.h · Cross-compiler