Links to specific topics

Sunday, June 20, 2010

Second order latent variables in WarpPLS: YouTube videos by Jaime León

The blog post below refers to a procedure employed with earlier versions of WarpPLS. For a more recent, and less time-consuming, approach see the video linked immediately below. The video shows how to create and use second (and higher) order latent variables with WarpPLS.


The YouTube videos below have been created by WarpPLS user and blog commenter Jaime León. They illustrate how steps 1 and 2, described in this post, can be implemented in WarpPLS. The goal of those steps is to use second order latent variables (LVs) in an SEM analysis. Latent variable (LV) scores are generated, saved, and then used in a subsequent SEM analysis.

Step 1: YouTube video 1.

Step 2: YouTube video 2.

In the first video Jaime includes only LVs in the model, without any links among them, and then runs the SEM analysis. This generates the LV scores for the LVs, which Jaime then saves into a .txt file. The LV scores generated are then combined with indicators from the original dataset.

Note that Jaime does not set the LVs in the first video as formative before generating the scores. That is okay if the LVs are reflective; that is, if the indicators of the LVs are highly correlated. (In reflective LVs the loadings are expected to be all high, ideally greater than .7, and significant.) If not, then the LVs should be set as formative.

Also, note that Jaime combined the LV scores in standardized format with indicator data from the original dataset, which were not standardized. That is fine because WarpPLS always standardizes the raw data before proceeding to an SEM analysis. Standardized data, when used as input, will not be affected by standardization (since they are already standardized).

In the second video Jaime creates a model with new LVs, some of which include the previously generated LV scores as indicators. These are frequently referred to as second order LVs. (Although sometimes the original LVs, shown in the first video, are the ones called second order LVs.) Jaime then builds a model by creating several direct links among the LVs.

Cool example, with a Bob Marley song in the background; thanks Jaime!


Anonymous said...

The video is blocked in youtube. Can you please repost it?

Ned Kock said...

Hi Anon. The video has been created and posted by a WarpPLS user, Jaime Leon.

Apparently the video plays without problems in some countries, but not in others. I’m not sure exactly why that happens.

The following article, available as a full text PDF from the publications area of, provides what I’ve been told is a good discussion of second order latent variables in WarpPLS:

Kock, N. (2011), Using WarpPLS in e-collaboration studies: Mediating effects, control and second order variables, and algorithm choices. International Journal of e-Collaboration, 7(3), 1-13.

Romye said...


I am using both SmartPLS and WarpPLS (PLS regression, not Warp 2 or 3)to test a model and find they show different results. One hypothesis was not supported by SmartPLS but was supported with WarpPLS (PLS regression in setting). I am wondering what causes this difference and how could we address this.

Thank you

Ned Kock said...

Hi Romye. This is most likely due to a small difference between the linear algorithm used by WarpPLS (more in line with Wold’s original PLS regression algorithm) and the one used by SmartPLS (developed by Lohmöller). The difference is discussed in the post below; the post refers to formative LVs, but applies to reflective LVs as well.

Another thing you’ll probably notice is that the weights and loadings don’t change in WarpPLS if you change the structural model (links among LVs), but they do for SmartPLS. That is not due to SmartPLS per se, but rather due to the use of Lohmöller’s algorithm.

In my opinion, if loadings change due to changes in links among LVs, then there is something wrong with the algorithm. Why? One simple reason: a researcher’s hypotheses (reflected in the links among LVs) should not influence the measurement model used to calculate the coefficients that the researcher will use to test the hypotheses.

What Lohmöller’s algorithm does is akin to the following. A researcher wants to test whether dropping a glass from a 3-meter height will cause the glass to break. Then the research drops the glass and, “just to be sure”, hits the glass lightly with a hammer to “help” with the experiment.

Lohmöller’s algorithm lets the structural model (a.k.a. inner model) influence the measurement model (a.k.a. outer model). That is essentially “cheating”; a bit like hitting the glass lightly with the hammer in the analogy above.

I probably need to write a full paper on this topic, as it is a very interesting one. But I hope the analogy above conveys the idea. And, of course, there will be people who will disagree with me.

Atefeh Talebnejad said...

Dear Dr Kock
I apologize for taking your time.
I have a question regarding second order analysis. I wonder if there is a way to get effects of latent indicators of a 2nd order latent variable on another 2nd order (or first order ) latent variable? As a part of my model, I have a (formative) 2nd order LV formed from 3 other (reflective) LVs- I followed the procedure Jaime León kindly putted on YouTube to draw 2nd order model - and I want to test the effect of each of the 3 LVs and the resulted 2nd order LV on another (formative) 2nd order LV which is formed of another 2 (reflective) LVs! Oh! Confusing a tad!
I devised(!)this way:
After having drawn the full 2nd order model following mentioned procedure, I again inserted all latent indicators into the model and directly linked them to corresponding 2nd order LVs and, then, the independent 2nd order LV to dependent 2nd order LV. I ran the model and I apparently got the results I wanted - the indirect and total effects of latent indicators and 2nd order independent variable on dependent 2nd order variable! But I’m sure that it is not statistically correct, or at least I m not sure it is!
I heartily appreciate your help.
Best regards

Ned Kock said...

Hi Atefeh.

Yes, you can build a model with only 2nd order LVs and analyze associations among those variables, using a procedure similar to the one for the creation of mixed models:


Atefeh Talebnejad said...

many thanks dr. for your time and patience to help me.

S Sadeque said...

Hi Prof. Kock,

I am assuming that the post that details the 2 step, above, relates to a previous version of WrapPls.

I am using ver. 5 and following the procedure shown in to create 2nd order reflective latent variable which is the a exogenous one in my model.

Many thanks

Ned Kock said...

Thanks SS. You are right. I revised the post to reflect that.

ogyakromian said...

Hello Prof Kock,

I am trying to create 2nd order LV from instructions in the video

Is it okay to maintain the reflective first order variables in the path model?

Taking the example in the video, ComAmb and CogEff were combined to create a 2nd order LV. However they were deleted from the structural model. If the two LV were left in the model with arrows linking them to the 2nd order LV that they form, will that affect the results?

thanks for your help

ogyakromian said...

I am trying to create 2nd order LV from instructions in the video

Is it okay to maintain the reflective first order variables in the path model?

Taking the example in the video, ComAmb and CogEff were combined to create a 2nd order LV. However they were deleted from the structural model. If the two LV were left in the model with arrows linking them to the 2nd order LV that they form, will that affect the results?

thanks for your help

Ned Kock said...

Hi ogyakromian. Not removing the 1st order LVs in a 2nd order analysis may lead to the introduction of massive collinearity into a model. The 1st order LVs are those that become indicators of the 2nd order LVs.

ogyakromian said...

Prof Kock, thanks for your response. But the challenge I have is I want to read the path coefficients between the 1st order LVs and the 2nd order LVs. If the first order LVs are treated as indicators, i can only see the indicator loadings of those LVs. The relationships between the 1st and 2nd order variables are part of my theory and i need to know the path coefficients between them. How do i determine these values?

Ned Kock said...

Perhaps the coefficients you are looking for are the weights (not the loadings) of the 2nd order LV. In any case, I suggest you consider revising your theory. Among other things, you may end up with a lateral collinearity problem in your model (see article linked below).

Kock, N., & Lynn, G.S. (2012). Lateral collinearity and misleading results in variance-based SEM: An illustration and recommendations. Journal of the Association for Information Systems, 13(7), 546-580.