Why normalize data after doing Multidimensional scaling? - Cross Validated most recent 30 from stats.stackexchange.com 2019-07-23T07:31:30Z https://stats.stackexchange.com/feeds/question/314991 http://www.creativecommons.org/licenses/by-sa/3.0/rdf https://stats.stackexchange.com/q/314991 3 Why normalize data after doing Multidimensional scaling? daniel https://stats.stackexchange.com/users/185681 2017-11-21T20:07:21Z 2017-11-24T22:57:43Z <p>I am running simulations from a paper on graphical clustering based on latent positions. Essentially, the first step is to do Multidimensional Scaling on the Adjacency matrix, after which the authors select the 'best dimension' by doing an elbow fit. When they truncate the MD Scaled data to only use a few dimension, they also normalize each row before performing clustering. Is there any reason why you would want to normalize a low dimensional MDS output before clustering. I am attaching the R code that does it.</p> <pre><code>Xhat &lt;- embed_adjacency_matrix(g1,dmax)\$X #MDS on data eval &lt;- sqrt(colSums(Xhat^2)) (dhat &lt;- getElbows(eval,3,plot=F)) #Elbow fit sXhat &lt;- Xhat[,1:dhat] / sqrt(rowSums(Xhat[,1:dhat]^2))#Normalizing? </code></pre> https://stats.stackexchange.com/questions/314991/-/315023#315023 1 Answer by keepAlive for Why normalize data after doing Multidimensional scaling? keepAlive https://stats.stackexchange.com/users/80183 2017-11-21T22:59:06Z 2017-11-24T22:57:43Z <p>One does this normalization because when one knows how characterized/located is each of our observations on each dimension, i.e. when one has <code>Xhat[,1:dhat]</code> in hand, one must normalize these <code>dhat</code>-dimensional characterizations so as to get a comparative point of view across observations. Let's do a numerical example.</p> <p>Say that <code>Xhat[,1:dhat]</code> is \$6\$-dimensional (<code>dhat&lt;-6</code>), (illustrated above via its two first rows)</p> <pre><code>obs1 2.508 1.080 0.072 0.772 0.061 0.094 obs2 9.821 2.508 0.660 0.715 0.883 0.266 ... ... ... ... ... ... ... </code></pre> <p>One sees that along the first component, <code>obs1</code> is at a (\$1\$-dimensional) distance of <code>2.508</code> from the origin, i.e. from not being categorized along this axis. The first dimension is the most influential for <code>obs1</code>. But would you say that for <code>obs2</code> the second dimension is as influential as the dimension \$1\$ for <code>obs1</code>? To really address that sort of consideration, you must first compute <code>sqrt(rowSums(Xhat[,1:dhat]^2))</code>, i.e. the \$6\$-dimensional euclidean distance (from the origin for each individual), which returns</p> <pre><code>obs1 2.8 obs2 10.2 ... ... </code></pre> <p>and then, get <code>sXhat</code>, i.e. a comparative view of how individual-characterizing each dimension is by normalizing each one-dimensional distance by its \$6\$d counterpart, </p> <pre><code>obs1 0.883 0.38 0.025 0.272 0.021 0.033 obs2 0.961 0.245 0.065 0.07 0.086 0.026 </code></pre> <p>One cannot say that for <code>obs2</code> the second dimension is as influential as the dimension \$1\$ for <code>obs1</code>. And this conclusion is permitted only by the normalization. Now one can cluster our observations without worrying about scale effects, just-controlled. </p>