<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>E1n1verse &#187; multidimensional scaling</title>
	<atom:link href="http://einiverse.eingang.org/tag/multidimensional-scaling/feed/" rel="self" type="application/rss+xml" />
	<link>http://einiverse.eingang.org</link>
	<description>WoW, Learning, and Teaching by Michelle A. Hoyle</description>
	<lastBuildDate>Fri, 26 Oct 2012 16:25:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Metric MDS &amp; Data Delivered</title>
		<link>http://einiverse.eingang.org/2004/06/04/metric-mds-data-delivered/</link>
		<comments>http://einiverse.eingang.org/2004/06/04/metric-mds-data-delivered/#comments</comments>
		<pubDate>Fri, 04 Jun 2004 20:47:37 +0000</pubDate>
		<dc:creator>Eingang</dc:creator>
				<category><![CDATA[analysis]]></category>
		<category><![CDATA[phding]]></category>
		<category><![CDATA[MatLab]]></category>
		<category><![CDATA[meeting with supervisor]]></category>
		<category><![CDATA[metric]]></category>
		<category><![CDATA[multidimensional scaling]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[tasks]]></category>

		<guid isPermaLink="false">http://einiverse.eingang.org/blogs/2004/06/04/metric-mds-data-delivered/</guid>
		<description><![CDATA[I had a good meeting with Thufir on May 14th, lasting almost the full allotted hour. This was because I&#8217;ve recently had a breakthrough with my MATLAB analysis and can quantitatively evaluate the similarity between different people or different algorithms with my multi-dimensional scaling (MDS) diagrams. I took some output to the meeting which compared [...]]]></description>
			<content:encoded><![CDATA[<p>I had a good meeting with <abbr title="Names have been changed to protected the innocent.  Thufir Hawat is my supervisor">Thufir</abbr> on May 14th, lasting almost the full allotted hour.  This was because I&#8217;ve recently had a breakthrough with my MATLAB analysis and can quantitatively evaluate the similarity between different people or different algorithms with my multi-dimensional scaling (MDS) diagrams.  I took some output to the meeting which compared my half-baked algorithm against the cosine normalization version.  Both use hypernyms, but how they weigh the hypernyms is different.  My automated analysis algorithm also produces an MDS cluster diagram as output for each of the data files provided (see anal1ahyper and anal2ahyper).</p>
<p align="center"><a href="/archives/images/anal1ahyper060404.html" title="Click for full-size version of this image"><img src="/archives/images/anal1ahyper060404-thumb.png" width="50%" height="50%" border="0" alt="Multidimensional scaling visual representation of document similarity using Anal1a" /></a></p>
<p align="center"><a href="/archives/images/anal2ahyper060404.html" title="Click for full-size version of this image"><img src="/archives/images/anal2ahyper060404-thumb.png" width="50%" height="50%" border="0" alt="Multidimensional scaling visual representation of document similarity using Anal2a" /></a></p>
<p>Anal1a, in terms of clumping, doesn&#8217;t look very good, at least not anymore.   That was not previously the case, but I had revised my algorithm to make it symmetrical as per the insructions of a computing statistician here at the University of Sussex.  He claimed that the Procrustes Rotation needed symmetric data and my nonsymmetric data, where Doc1 vs Doc2 didn&#8217;t have the same similarity as Doc2 vs Doc1, was not going to work.  That change has, I believe, altered the efficacy of the algorithm and things are no longer clumped together as promisingly as they were previously.    The clumps should be a two- or three-letter short code followed by a digit.  Therefore, ac1 and ac2 belong together.  Pl1, pl2, and pl3 belong together, and so on.  The clumping is significantly better in the already symmetric cosine normalization algorithm (anal2a).  The two speech processing documents are clumped together (sp1 and sp2), all of the Power PC and G4 documents are together (pp1, pp2, g4c), and the three Pine Lake tornado stories are clumped far away from everything else (which is all computer-related) and together on their own.  Excellent clumping, in fact.  So the hypernym hypothesis looks like, on these short documents, it is working well with cosine normalization.</p>
<p align="center"><a href="/archives/images/anal1ahyperVsala2ahyper060404.html" title="Click for full-size version of this image"><img src="http://einiverse.eingang.org/archives/images/anal1ahyperVsala2ahyper060404-thumb.png" width="50%" height="50%" border="0" alt="Visual representation of Anal1a mapped onto Anal2a using Procrustes Rotation" /></a></p>
<p>Here&#8217;s the final bit of loveliness: comparing one MDS cluster diagram against another.  MDS output is mapped to the vector space independently.  That is, the same data will produce the same visualization or mapping, but different data is mapped to a different vector space, so you cannot just compare one MDS matrix to another directly.  That is where Procrustes Rotation comes in.  It applies a series of intelligent matrix transformations, trying to map the second vector matrix onto the source vector matrix.  As a side benefit, essential in my case, it always provides a fitness measure to tell you how close the two were. on a scale of 0 to 1.  So these two, as you can see (see above image), even after the transformations, were not that close together.  As it happens, though, this is not particularly useful information to know.  I am currently more interested in assessing how close the two algorithms are to human classifiers.</p>
<p>This recent success gave us plenty to discuss, particularly with respect to metric and non-metric data.  The MDS community calls source data metric when the similarity or dissimilarity data is symmetric.   That is, the value at row 2, column 1 is the same as the value at row 1, column 2.  Classical multi-dimensional scaling (MDS) is designed to only work with metric data.  SPSS includes the ALSCAL and PROXSCAL MDS algorithms which can work with non-metric data, but MATLAB&#8217;s classical MDS does not because it treats things as Eucledean distances&#8211;another reason why I had to alter the Anal1a algorithm.  The primary reason I now had metric data for everything, however, was because the computing statistician had told me I needed it for the Procrustes.  Hawever, as we were examining my output, it occurred to me that Procrustes did not really care if the data was symmetric, so long as the dimensions of the data were the same (the same number of rows and columns).   Which leads us to question whether the application of the method is statistically sensible or not.    To that end, I need to track down a new computing statistician and perhaps a mathematician and discuss the process with them.  My original computing statistician has retired. </p>
<p>Earlier I said that comparing one machine to another, to see how they fit is not useful information, but what would be interesting is to prepare a matrix of all the possible combinations of human judgements, cosine normalization, and weird formula:</p>
<pre>
cosine   wrd form.   human
cosine (anal2a)		x
weird formula (anal1a)           x
human                                        x
</pre>
<p>So that is my task for my next meeting (on the 16th of June).  Before then, I need to figure out how to get MATLAB to take multiple tables as data.  In SPSS, I could paste in several tables (representing all of the people&#8217;s individual data, for example) and it would work with that.   That is necessary in order to aggregate the peopel to do the comparison.  Onward ho, then!  Progress at last!</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F06%2F04%2Fmetric-mds-data-delivered%2F&amp;linkname=Metric%20MDS%20%26%20Data%20Delivered" title="Twitter" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_plus" href="http://www.addtoany.com/add_to/google_plus?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F06%2F04%2Fmetric-mds-data-delivered%2F&amp;linkname=Metric%20MDS%20%26%20Data%20Delivered" title="Google+" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/google_plus.png" width="16" height="16" alt="Google+"/></a><a class="a2a_button_evernote" href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F06%2F04%2Fmetric-mds-data-delivered%2F&amp;linkname=Metric%20MDS%20%26%20Data%20Delivered" title="Evernote" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a><a class="a2a_button_diigo" href="http://www.addtoany.com/add_to/diigo?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F06%2F04%2Fmetric-mds-data-delivered%2F&amp;linkname=Metric%20MDS%20%26%20Data%20Delivered" title="Diigo" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/diigo.png" width="16" height="16" alt="Diigo"/></a><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://einiverse.eingang.org/2004/06/04/metric-mds-data-delivered/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F06%2F04%2Fmetric-mds-data-delivered%2F&amp;title=Metric%20MDS%20%26%20Data%20Delivered" id="wpa2a_2">Share/Save</a></p>
]]></content:encoded>
			<wfw:commentRss>http://einiverse.eingang.org/2004/06/04/metric-mds-data-delivered/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MATLAB &amp; MDS</title>
		<link>http://einiverse.eingang.org/2004/03/26/matlab-mds/</link>
		<comments>http://einiverse.eingang.org/2004/03/26/matlab-mds/#comments</comments>
		<pubDate>Fri, 26 Mar 2004 21:44:51 +0000</pubDate>
		<dc:creator>Eingang</dc:creator>
				<category><![CDATA[analysis]]></category>
		<category><![CDATA[phding]]></category>
		<category><![CDATA[MatLab]]></category>
		<category><![CDATA[multidimensional scaling]]></category>
		<category><![CDATA[progress]]></category>

		<guid isPermaLink="false">http://einiverse.eingang.org/blogs/2004/03/26/matlab-mds/</guid>
		<description><![CDATA[I need some help in using MATLAB and MDS, so I looked to Google to find resources. There seem to be more MDS resources than when I last looked quite some time ago. I found a useful page with links and pointers to MDS-related resources at http://www.granular.com/MDS/. From there, I obtained most of the resources [...]]]></description>
			<content:encoded><![CDATA[<p>I need some help in using MATLAB and MDS, so I looked to <a href="http://www.google.com/">Google</a> to find resources.  There seem to be more MDS resources than when I last looked quite some time ago.  I found a useful page with links and pointers to MDS-related resources at <a href="http://www.granular.com/MDS/">http://www.granular.com/MDS/</a>.    From there, I obtained most of the resources for a <a href="http://forrest.psych.unc.edu/teaching/p230/p230.html">pyschology course organized around MDS</a> taught by one of the MDS&#8217;s primary researchers <a href="http://forrest.psych.unc.edu/" title="Forrest Young info from University of North Carolina">Forrest Young</a>.  I downloaded all the notes in PDF format and stored them away to browse through.   Young is the same researcher responsible for developing the <a href="http://forrest.psych.unc.edu/research/vista-frames/abstract.html">ViSta</a>  software (Visual Statistics System), which looks a lot like that Canadian object-oriented, icon-based programming language.   I remember looking at ViSta before, but I don&#8217;t think it supported doing things like MDS and it hasn&#8217;t been recently updated for anything other than Windows.</p>
<p><span id="more-53"></span><br />
David L. Jones had a series of <a href="http://www.rsmas.miami.edu/personal/djones/matlab.htm" title="David Jones's MATLAB pointers">MATLAB pointers</a> which included links to <a href="http://www.rsmas.miami.edu/personal/djones/mdszip.zip" title="Download the non-metric multidimensional scaling toolkit">toolboxes for non-metric multidimensional scaling</a>.  The latter toolkit, developed by <a href="http://psiexp.ss.uci.edu/research/" title="Mark Steyvers at University of California at Irvine">Mark Steyvers</a>, doesn&#8217;t come with any documentation and includes some DLLs, so I wonder if only works in Windows somehow?  I couldn&#8217;t find any other reference to it on the web.<br />
I was waiting for the Mac support person to come install a new version of MATLAB for me.  The demo installation and toolkits I installed last fall have long since expired.   I&#8217;m also still waiting to hear back from the UNIX software support people in the department about acquiring one of the pool licenses for use with a copy of MatLab on my Macintosh off campus.  Latish on in the day, I found the Mac support person and acquired a valid license file.   It didn&#8217;t work right off the bat. I had to edit the file and change the linefeeds from Macintosh ones to UNIX ones.  After that, it worked great and it looks fantastic.  So I should be able to start doing something with that soon.  It also works from home, surprisingly enough, as long as I have an Internet connection, so that will be quite convenient.  Hurrah!  I am moving ahead.</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F03%2F26%2Fmatlab-mds%2F&amp;linkname=MATLAB%20%26%20MDS" title="Twitter" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_plus" href="http://www.addtoany.com/add_to/google_plus?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F03%2F26%2Fmatlab-mds%2F&amp;linkname=MATLAB%20%26%20MDS" title="Google+" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/google_plus.png" width="16" height="16" alt="Google+"/></a><a class="a2a_button_evernote" href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F03%2F26%2Fmatlab-mds%2F&amp;linkname=MATLAB%20%26%20MDS" title="Evernote" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a><a class="a2a_button_diigo" href="http://www.addtoany.com/add_to/diigo?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F03%2F26%2Fmatlab-mds%2F&amp;linkname=MATLAB%20%26%20MDS" title="Diigo" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/diigo.png" width="16" height="16" alt="Diigo"/></a><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://einiverse.eingang.org/2004/03/26/matlab-mds/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Feiniverse.eingang.org%2F2004%2F03%2F26%2Fmatlab-mds%2F&amp;title=MATLAB%20%26%20MDS" id="wpa2a_4">Share/Save</a></p>
]]></content:encoded>
			<wfw:commentRss>http://einiverse.eingang.org/2004/03/26/matlab-mds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dimensional MATLAB Reading</title>
		<link>http://einiverse.eingang.org/2003/09/23/dimensional-matlab-reading/</link>
		<comments>http://einiverse.eingang.org/2003/09/23/dimensional-matlab-reading/#comments</comments>
		<pubDate>Tue, 23 Sep 2003 17:15:48 +0000</pubDate>
		<dc:creator>Eingang</dc:creator>
				<category><![CDATA[analysis]]></category>
		<category><![CDATA[MatLab]]></category>
		<category><![CDATA[matrices]]></category>
		<category><![CDATA[multidimensional scaling]]></category>

		<guid isPermaLink="false">http://einiverse.eingang.org/blogs/2003/09/23/dimensional-matlab-reading/</guid>
		<description><![CDATA[Played around a little more with MATAB, although I didn&#8217;t really get very far. I was trying to figure out how to use dlmread to import my data files properly into MATLAB automatically. It didn&#8217;t really seem to want to fly somehow. I spent some time trying to figure out how to automate my MATLAB [...]]]></description>
			<content:encoded><![CDATA[<p>Played around a little more with MATAB, although I didn&#8217;t really get very far.  I was trying to figure out how to use dlmread to import my data files properly into MATLAB automatically.  It didn&#8217;t really seem to want to fly somehow.<br />
I spent some time trying to figure out how to automate my MATLAB work.    I couldn&#8217;t figure out how to get it to import the tab-delimited data files that my programs had produced using the dlmread command which should put it into a matrix.  I can do it via the clipboard but not anyway else at the moment.  Reviewing various MATLAB tutorials on the web, looking for hints, I realized that I need to review my understanding and knowledge of matrices again, so I&#8217;ve added this to my list of things to be done.<br />
Assuming that my methodology is correct, which it might not be, I can now map one MDS cluttering onto another using the Procrustes in MATLAB.  I need to figure out now how to get a single measure of how different the two are from that.  I&#8217;m at least further along than before, so that&#8217;s promising.</p>
<p><span id="more-44"></span><br />
This is my current revised program:<br />
% Import anal1ahyp.txt into anal1a matrix variable.  Do this first!  It&#8217;s not done<br />
% automatically here.   Need first to do something like anal1a = abs(100 &#8211; anal1a) to<br />
% get proper dissimilarity values to work with.  The default ones in the files don&#8217;t<br />
% work as is.<br />
docs = {&#8216;g4c&#8217;, &#8216;pp1&#8242;, &#8216;pp2&#8242;, &#8216;msc&#8217;, &#8216;pl1&#8242;, &#8216;pl2&#8242;, &#8216;pl3&#8242;, &#8216;sp1&#8242;, &#8216;sp2&#8242;, &#8216;ac1&#8242;, &#8216;ac2&#8242;, &#8216;bws&#8217;};<br />
[Anal1aMDS, eigvals] = cmdscale(Anal1aRaw);<br />
plot(1:length(eigvals),eigvals,&#8217;bo-&#8217;);<br />
graph2d.constantline(0,&#8217;LineStyle&#8217;,':&#8217;,'Color&#8217;,[.7 .7 .7]);<br />
axis([1,length(eigvals),min(eigvals),max(eigvals)*1.1]);<br />
xlabel(&#8216;Eigenvalue number&#8217;);<br />
ylabel(&#8216;Eigenvalue&#8217;);<br />
plot(Anal1aMDS(:,1),Anal1aMDS(:,2),&#8217;bx&#8217;);<br />
axis(max(max(abs(Anal1aMDS))) * [-1.1,1.1,-1.1,1.1]); axis(&#8216;square&#8217;);<br />
text(Anal1aMDS(:,1),Anal1aMDS(:,2),docs,&#8217;HorizontalAlignment&#8217;,'left&#8217;);<br />
hx = graph2d.constantline(0,&#8217;LineStyle&#8217;,'-&#8217;,'Color&#8217;,[.7 .7 .7]);<br />
hx = changedependvar(hx,&#8217;x');<br />
hy = graph2d.constantline(0,&#8217;LineStyle&#8217;,'-&#8217;,'Color&#8217;,[.7 .7 .7]);<br />
hy = changedependvar(hy,&#8217;y');<br />
% Import anal2ahyp.txt into anal2a matrix variable.  Do this first!  It&#8217;s not done<br />
% automatically here.<br />
Anal2aRaw = abs(100 &#8211; Anal2aRaw);<br />
[Anal2aMDS, eigvals] = cmdscale(Anal2aRaw);<br />
% do procustes<br />
[D,Z] = procrustes(Anal1aMDS, Anal2aMDS(:,1:2));<br />
plot(Anal1aMDS(:,1), Anal1aMDS(:,2), &#8216;bo&#8217;, Z(:,1), Z(:,2), &#8216;rd&#8217;);<br />
text(Anal1aMDS(:,1)+0.5,Anal1aMDS(:,2), docs, &#8216;Color&#8217;, &#8216;b&#8217;);<br />
text(Z(:,1)+0.5,Z(:,2),docs, &#8216;Color&#8217;, &#8216;r&#8217;);<br />
xlabel(&#8216;East of the Sun&#8217;);<br />
ylabel(&#8216;West of the Moon&#8217;);<br />
legend({&#8216;Anal1a&#8217;, &#8216;Anal2a&#8217;}, 4);</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2003%2F09%2F23%2Fdimensional-matlab-reading%2F&amp;linkname=Dimensional%20MATLAB%20Reading" title="Twitter" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_plus" href="http://www.addtoany.com/add_to/google_plus?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2003%2F09%2F23%2Fdimensional-matlab-reading%2F&amp;linkname=Dimensional%20MATLAB%20Reading" title="Google+" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/google_plus.png" width="16" height="16" alt="Google+"/></a><a class="a2a_button_evernote" href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2003%2F09%2F23%2Fdimensional-matlab-reading%2F&amp;linkname=Dimensional%20MATLAB%20Reading" title="Evernote" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a><a class="a2a_button_diigo" href="http://www.addtoany.com/add_to/diigo?linkurl=http%3A%2F%2Feiniverse.eingang.org%2F2003%2F09%2F23%2Fdimensional-matlab-reading%2F&amp;linkname=Dimensional%20MATLAB%20Reading" title="Diigo" rel="nofollow" target="_blank"><img src="http://einiverse.eingang.org/wp-content/plugins/add-to-any/icons/diigo.png" width="16" height="16" alt="Diigo"/></a><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://einiverse.eingang.org/2003/09/23/dimensional-matlab-reading/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Feiniverse.eingang.org%2F2003%2F09%2F23%2Fdimensional-matlab-reading%2F&amp;title=Dimensional%20MATLAB%20Reading" id="wpa2a_6">Share/Save</a></p>
]]></content:encoded>
			<wfw:commentRss>http://einiverse.eingang.org/2003/09/23/dimensional-matlab-reading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
