[R] LV path analysis with PLS (was Re: PLSR: model notation and reliabilities)
On Wed, Aug 31, 2005 at 12:31:29PM +0300, I.Ioannou wrote: On Mon, Aug 29, 2005 at 08:08:53AM +0200, Bj?rn-Helge Mevik wrote: It seems to me that what you are looking for, is some sort of structured equation models (? la Lisrel). The pls package implements --snipped-- and the explained variance seem to be ok, but I'm afraid that this is not my case. I thought that plsr should be used to perform --snipped-- Well, I should had asked : Is there a way to use plsr to perform (or another R package that implements) latent variables path analysis with partial least-squares estimation, i.e. the algorithm that was implemented in the old DOS lvpls program ? (http://kiptron.psyc.virginia.edu/Programs/lvplsmanual.pdf) TIA Ioannis Ioannou __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] PLSR: model notation and reliabilities
On Mon, Aug 29, 2005 at 08:08:53AM +0200, Bj?rn-Helge Mevik wrote: It seems to me that what you are looking for, is some sort of structured equation models (? la Lisrel). The pls package implements partial least squares regression and principal component regression, which is something different. I quess you could still use plsr for the outer model (path model), but you would have to build the inner model (the constructs) with other tools, such as prcomp/princomp or other factor analyses (see e.g. ?factanal and ?varimax). Alternatively, there is an R package sem that implements structured equation models. You might want to take a look at that. Thank you very much for your hints. I actually tried factanal to construct the latent variables, and both the reliabilties and the explained variance seem to be ok, but I'm afraid that this is not my case. I thought that plsr should be used to perform this task, and that PLS is prefered under conditions on non-normality and small to medium sample sizes where you do not assume error free measurement (Chin et all, 1996, p25). Also Wold suggests using PLS or PC scores in each level of hierarchical PLS models (Wold et al, 2004, p17). It is obvious to me how I should use plsr to perform the final regression between the constructs, but I'm missing the procedure I have to use in order to construct the factors (constructs) from the observed indicators. Any hints will be much appreciatted. Rgrds References: Chin et al, 1996, A PARTIAL LEAST SQUARES LATENT VARIABLE MODELING APPROACH FOR MEASURING INTERACTION EFFECTS: RESULTS FROM A MONTE CARLO SIMULATION STUDY AND VOICE MAIL EMOTION/ADOPTION STUDY, Available: http://disc-nt.cba.uh.edu/chin/plsfaq/http/disc-nt.cba.uh.edu/chin/icis96.pdf Wold et al, 2004, The PLS method -- partial least squares projections to latent structures -- and its applications in industrial RDP, Available: http://www.umetrics.com/pdfs/events/prague%200408%20__%20PLS_text_wold.pdf Ioannis Ioannou __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] PLSR: model notation and reliabilities
On Sat, Aug 27, 2005 at 04:04:13AM +0300, I.Ioannou wrote: I'm new in both R and statistics. I did my homework, but apparently it was not enough :-( I took a look inside the code of the *pls.fit functions and at least now I know where I got it wrong. So, I'm rephrasing my question : I have a model with 2 latent constructs (D1 and D2) each one made by 3 indicators (D1a, D1b, D1c etc). Also I have 2 moderating indicators (factors, m1, m2). The response (Y) is also a latent construct, with 3 indicators (Y1,Y2,Y3). Actually this is a simplified description of my model which is far more complicated. I want to express the regression using the constructs, both for the response and the predictors, i.e. I need to have inner and outer models. The outer model can be expressed as : Y ~ D1*m1 + D2*m2 How do I create the constructs from the indicators ? I suspect I have to use somehow mvr or pca, but I can not figure out how to use mvr for this since it uses a formula and the response is required, while princomp and prcomp gives me either more constructs than just 1, or ICRs ~ 0.6, while cronbach's alpha = 0.9 - apparently I'm not using them correctly. Any help will be much appreciated TIA __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
[R] PLSR: model notation and reliabilities
I'm new in both R and statistics. I did my homework, I tried the archives and whatever I managed to get from the sources, but still I need assistance with the plsr package. I have a model with 2 core determinants D1 and D2, made by 3 indicators each (D1a,D1b,D1c and so on). Also I have 2 moderating variables (m1,m2), where m1 moderates D1 and m2 modarates D2. The dependent variable (Y) is also constructed by 3 indicators (Y1,Y2,Y3). Actually my model is far more complicated, I just give a simplified example here. Which is the correct notation for the model (I'm skipping the crossvalidation for the moment) : MyModel - plsr(Y1+Y2+Y3 ~ ((D1a+D1b+D1c)*m1) + ((D2a+D2b+D2c)*m2),ncomp=2) or : Y - cbind(Y1,Y2,Y3) X1 - cbind(D1a,D1b,D1c) X2 - cbind(D2a,D2b,D2c) MyModel - plsr( Y ~ (X1*m1) + (X2*m2),ncomp=2) How do I calculate the internal composite reliabilty (ICR) ? Is the Average variable explained (AVE) the mentioned as % variance explained in summary ? I tried something like (the model is the first notation mentioned above, and the calcualtions below are simplified just for clarity) : ncomp=MyModel$ncomp P - MyModel$loadings[,ncomp] Q - MyModel$Yloadings[,ncomp] # D1 f1 - P[D1a] f2 - P[D1b] f3 - P[D1c] Sp - f1 + f2 + f3 Sp2 - (f1 ^ 2) + (f2^ 2) + (f3^2) Sth - (1-(f1 ^ 2)) + (1-(f2 ^ 2)) + (1-(f3^2)) D1_ICR - (Sp^2) / ( (Sp^2) + Sth) D1_AVE - Sp2 / ( Sp2 + Sth) but the results does not seem to give me something meaningfull. For example, while cronbach(cbind(D1a,D1b,D1c)) gives me 0.90, the above computed D1_ICR gives me very low numbers ( .20). Also summary says % variance explained for X = 83.1 in 1st component while my computed D1_AVE is unacceptable ( 10%). Where I made it wrong ? Or it is just my data ? Any help will be much appriciated TIA __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html