Point, click and Structural Equation Modeling
I had a lot of questions about structural equation modeling with JMP and when I was in Las Vegas at SAS Global Forum a while back, I was able finally to hook up with* speak to Wayne Watson and get almost all of my questions answered.
This is Wayne. You should look for him because if SEM on JMP was Pokemon he would be Pikachu. **
What you need to use SEM on JMP
First of all, you need JMP 9.3 . This is important to know because I always assume that incremental changes in versions are just a way to get stupid people to pay you more money for what are essentially cosmetic changes. In this case, you need 9.3
SEM is considered part of SAS/STAT so you need either JMP and SAS installed on the same machine or SAS installed on a remote machine to which you have a connection.
SEM does not run on a Mac!
This makes me unhappy because one of the reasons I use JMP often is because it does run native on Mac OS.
For a lot of people, the need to have both JMP and SAS will be a deal-breaker. For me, it is just a little inconvenience. It means the next time I upgrade to JMP, I will a) wait until it is 9.3 and b) make sure I get a PC version as well as a Mac version.
Cool stuff on making your model
First nice feature is you can create a model without running any data. Why would you want to do that? For grant proposals or dissertation proposals where you want to show the model but don’t have any data yet.
It will analyze either raw data or a covariance matrix (which you would expect, but I asked anyway because often in life things I expect, say that children coming home after 1 a.m. will call to inform me of said fact, do not happen.)
If the number of observations are not in the dataset, you can enter that number.
You can adjust the degrees of freedom and use that number instead of the N in the dataset (I’d be sure I knew what I was doing if I did that, if I were you and I would not NOT do this just because my boss wanted higher power of the test. In this case higher power refers not to God but to a greater probability of rejecting a false null hypothesis.)
There is a nice little drawing palette, which is kind of self-evident if you are familiar with SEM and if you’re not, uh, well why are you using this? The ovals are latent constructs, the squares are observed.
You can right click on the diagram and a drop-down menu appears to allow you to add latent variables and other model components.
Setting the variance to 1 is a menu option
If you use AMOS, the structural equation modeling software produced by SPSS you are familiar with the box to set variable properties. Similarly, with JMP you can use a menu or double-click on a variable to set the variable properties
You can hover over a variable and it gives you the choice of a double arrow or single arrow.
You can select the observed variables from a menu or just drag and drop. If you drop the observed variables on the latent construct, JMP will create the indicators and draw the path, which is kind of nice and convenient.
It does NOT do by-group processing, so if you want analyses run for say, white, black and Latino groups you would need to save these as three different datasets. You CAN, however, save your model, so you can create the model once and apply it to the three different datasets.
You can save models in the model library either to re-use with different data or to modify as your theory becomes refined. (No, I do not think the number of cats you own is related to happiness. What the hell was I thinking? I’m going to drop that indicator and replace it with money or sex or jelly beans. Anything but cats.)
You can save just the model or you can save the whole project, including the SAS code and log.
I’ll try to write more of the statistical details later. There was a lot more cool stuff, so much so that it made me really sad that it did not run on a Mac and I don’t think there is a JMP for Linux. ***
* One of my daughters told me that “hook up with” now has an entirely different meaning from when I was young when it meant to meet with someone informally.
** My third daughter’s secret that was revealed in a couple of interviews with Inside MMA or some show like that is that when she is not competing in judo or mixed martial arts she is a complete Pokemon fanatic. Yes, that guru on the forum is not a 13-year-old boy or 27-year-old graduate student living in his parents’ basement. It’s a blonde professional athlete who was a centerfold in Vogue. (And if she’s ever a centerfold in any other kind of magazine being a professional martial artist won’t save her from me!)
*** I once asked some people from SAS why they had sold their souls to the Microsoft overlords. They mumbled something about the need to make money and only having sold eleven copies of SAS for the Mac, or something like that.
You’re probably sick of me banging on about this, but R has wonderful SEM capacities.
OpenMx (although its not entirely open source) is probably the best of them, and as well as having all the facilities JMP has (except for the GUI) also allows for massively parallel computation of models, which is useful in genetics and such.
Just thought i’d mention it.
Nope, not sick of it at all. I’m always interested in learning about new things. I’d actually given some thought to learning R, but since I already had SAS, SPSS and Stata, all of which I was at least somewhat familiar with, there did not seem to be as much payoff in learning a new language to do statistics as learning something else. (There is the free part of R – that is definitely a plus.)
Any spare time I get (which is far too little this month), I’ve been spending on Ruby.
As far as parallel processing, that’s interesting. Of course, SAS is good for high-performance computing. I know SPSS has a server version but I don’t know anyone who has used it in the last decade. There are people out there – I was actually surprised to read a proposal this week that used SPSS for some fairly significant processing. And then there’s Stata which does have a high-performance version but reads the entire dataset into memory at once, which kind of strikes me as an odd way of doing things.
If you use the SPSS graphical user inceafrte, take a look at the Deducer Manual link in the Blogroll on the right-hand side. If you program in SPSS, read the free version of R for SAS and SPSS Users that on the Books menu. Then look over the many examples that are done using using SPSS and R on the Examples menu so you can see how they compare. Also take a look at the Blogroll for web sites that do similar things, such as Quick-R. Subscribing to R-Bloggers.com is also a great way to learn more about R.