From: Walter Roberson on 30 Mar 2010 16:47 Ronald wrote: > I am not looking for a reference to KMO in MATLAB. All those references > use another software to produce the KMO statistic or there is custom > script that is necessary. I want to know where the functionality > resides. Does it exist or do I have to use custom script for a basic > research function? Mathworks does not provide a KMO function. I recommend that you send them a product enhancement request.
From: dbd on 30 Mar 2010 17:39 On Mar 30, 1:26 pm, "Ronald " <rhdemail-ord...(a)yahoo.com> wrote: > ... > I am not looking for a reference to KMO in MATLAB. All those references use another software to produce the KMO statistic or there is custom script that is necessary. I want to know where the functionality resides. Does it exist or do I have to use custom script for a basic research function? You seem to recognize the distinction between intrinsic functions and scripts. Scripts are considered to "exist" in interpreted languages. That should enable you to answer your own question. What difference do you think the distinction between intrinsics and scripts makes to your usage? Dale B. Dalrymple
From: Walter Roberson on 30 Mar 2010 18:06 dbd wrote: > On Mar 30, 1:26 pm, "Ronald " <rhdemail-ord...(a)yahoo.com> wrote: >> ... >> I am not looking for a reference to KMO in MATLAB. All those references use another software to produce the KMO statistic or there is custom script that is necessary. I want to know where the functionality resides. Does it exist or do I have to use custom script for a basic research function? > > You seem to recognize the distinction between intrinsic functions and > scripts. Scripts are considered to "exist" in interpreted languages. > That should enable you to answer your own question. What difference do > you think the distinction between intrinsics and scripts makes to your > usage? The provider of the functionality makes a practical difference for support, and a confidence difference of assumed quality assurance, It also renders an attitude difference, "If they are missing this basic functionality, how can I possibly say that this is a package that is suitable for this kind of work?". Also, the FEX contribution requires the Statistics Toolbox, whereas it appears that pcacov() is part of basic Matlab. If I were serious about topic, I would probably be a bit P-O'd at having to buy a toolbox to use a function that was considered elementary to validate that a standard function would in fact produce meaningful results. That said... I am somehow reminded of some instances in the past when people have purchased Matlab and have (for whatever reason) decided they didn't like it, and then went around looking for something more specific that they could point Mathworks to and say, "See, _that_ is missing, and that makes it useless for what it was sold to me for; now give me a refund!"
From: Ronald on 30 Mar 2010 20:43 Walter Roberson <roberson(a)hushmail.com> wrote in message <hotsla$qd$1(a)canopus.cc.umanitoba.ca>... > dbd wrote: > > On Mar 30, 1:26 pm, "Ronald " <rhdemail-ord...(a)yahoo.com> wrote: > >> ... > >> I am not looking for a reference to KMO in MATLAB. All those references use another software to produce the KMO statistic or there is custom script that is necessary. I want to know where the functionality resides. Does it exist or do I have to use custom script for a basic research function? > > > > You seem to recognize the distinction between intrinsic functions and > > scripts. Scripts are considered to "exist" in interpreted languages. > > That should enable you to answer your own question. What difference do > > you think the distinction between intrinsics and scripts makes to your > > usage? > > The provider of the functionality makes a practical difference for support, > and a confidence difference of assumed quality assurance, It also renders an > attitude difference, "If they are missing this basic functionality, how can I > possibly say that this is a package that is suitable for this kind of work?". > > Also, the FEX contribution requires the Statistics Toolbox, whereas it appears > that pcacov() is part of basic Matlab. If I were serious about topic, I would > probably be a bit P-O'd at having to buy a toolbox to use a function that was > considered elementary to validate that a standard function would in fact > produce meaningful results. > > > > That said... I am somehow reminded of some instances in the past when people > have purchased Matlab and have (for whatever reason) decided they didn't like > it, and then went around looking for something more specific that they could > point Mathworks to and say, "See, _that_ is missing, and that makes it useless > for what it was sold to me for; now give me a refund!" I'm not looking for a refund. I'm not hard-up. SAS and SPSS both provide the KMO statistic. SPSS is not friendly to the quad-core on which I wish to perform the analysis. SAS's answer is JMP. JMP does everything nicely except KMO. It is difficult to comprehend how MATLAB has overlooked a primary step in the performance of Factor Analysis or PCA (they are two different data extraction methods). I guess, I will write the script.
From: Peter Perkins on 31 Mar 2010 11:07 On 3/30/2010 8:43 PM, Ronald wrote: > It is difficult to comprehend how MATLAB has overlooked a > primary step in the performance of Factor Analysis or PCA (they are two > different data extraction methods). I guess, I will write the script. Ronald, You probably know this already, but it seems that what you are looking for is this short function, where X is a data matrix: function [msa,msaOverall] = kmsa(X) rsq = sum(corr(X).^2,1) - 1; rpsq = sum(partialcorr(X).^2,1) - 1; msa = rsq ./ (rsq + rpsq); msaOverall = sum(rsq) ./ (sum(rsq + rpsq)); The above requires the Statistics Toolbox, which I assume you have. Unfortunately, the above use of PARTIALCORR relies on an enhancement (computing the partial correlations within a single matrix, as opposed to controlling for variables in a second matrix) which is planned for an upcoming release. In the meantime, this RP = eye(m); for i = 1:m for j = 1:i-1 k = setdiff(1:m,[i j]); RP(i,j) = partialcorr(X(:,i),X(:,j),X(:,k)); RP(j,i) = RP(i,j); end end can be substituted. There is another version of a function to compute this statistic on the MATLAB Central File Exchange <http://www.mathworks.com/matlabcentral/fileexchange/12736-kmo> which I guess you have already seen. You have mentioned that you do not want to use a "custom script"; I'm not sure if that's because you are looking for something that is formally supported, or if you think that a "script" is qualitatively different than something that is included in the Statistics Toolbox. In fact, almost all the functions in the Statistics Toolbox are written in the MATLAB language, and so are not qualitatively different than the above code or the above link on the FEX. Hope this helps. - Peter Perkins The MathWorks, Inc.
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: number of occurrences / storing strings in cells Next: memmap file error when reading |