Estimation differences SmartPLS vs. LVPLS

This forum is closed, and read-only.
Locked
stefanbehrens
PLS Expert User
Posts: 54
Joined: Wed Oct 19, 2005 5:53 pm
Real name and title:

Estimation differences SmartPLS vs. LVPLS

Post by stefanbehrens »

All,
not sure really, if this is a bug or a feature...

I've noticed that SmartPLS and LVPLS v1.8 give very different estimates for structural paths and indicator weights/loadings for models that are specified in an identical way and estimated using the same raw data. In some cases, the differences are small, in others, the difference is between statistical significance and a value near 0 for structural paths.

As far as I understand, both programs should yield the same estimation results provided the data and model specification are the same, or shouldn't they?

Can somebody confirm this observation?

Maybe there are small but important differences in the estimation parameters that I have not noticed (despite trying my best to rule this out). However, I would very much like to understand whether there are systematic differences between the estimation procedures used in SmartPLS and LVPLS and identify the source of this discrepancy.

Any comments from the development team on this? Have you run any tests to compare SmartPLS output with PLSGraph or LVPLS?

Regards,
Stefan
User avatar
awill
SmartPLS Developer
Posts: 29
Joined: Tue Sep 20, 2005 6:20 pm
Real name and title:

Post by awill »

Hi!

According to our tests, there should be absolutely no difference. Could you please send us the data and the models (SmartPLS & LVPLS) so that we can check this issue?

Best,

Alex
stefanbehrens
PLS Expert User
Posts: 54
Joined: Wed Oct 19, 2005 5:53 pm
Real name and title:

Post by stefanbehrens »

Ok, then it must have to do with the model specification in LVPLS. Let me run a couple more tests and if I still can't bring both models to the same estimates then I will send you all the files.

Cheers,
Stefan
User avatar
cringle
SmartPLS Developer
Posts: 818
Joined: Tue Sep 20, 2005 9:13 am
Real name and title: Prof. Dr. Christian M. Ringle
Location: Hamburg (Germany)
Contact:

Post by cringle »

Hi,

Dirk Temme and Henning Kreis (see viewtopic.php?t=20 and viewtopic.php?t=19) already checked this: there are no differences in the numbers but there might be some sign changes due to different initilizations of the algorith.
stefanbehrens
PLS Expert User
Posts: 54
Joined: Wed Oct 19, 2005 5:53 pm
Real name and title:

Post by stefanbehrens »

Alex,
Christian,

I think I figured out what caused the differences in path estimates. It had to do with the treatment of missing values. Somehow, I had calclulated my models without the explicit missing value treatment (I thought the default was "replace with mean" as in SmartPLS 1.0) and consequently, the "-1"s in the survey data were included in the mean/stdev calculations for the variable standardization. Obviously this yielded quite different results from the LVPLS calculations. Now that I have explicitely turned on the missing value pre-processing option in SmartPLS 2.0, the results are consistent with LVPLS up to the second decimal.

The remaining (small) differences I was able to trace to small variances in the MV-scores after standardization. My guess is that LVPLS calculates with less precision in the standardization procedure...

In a nutshell, this means that cross-program comparisons can only be meaningful if carried out on pre-standardized raw data.

Cheers,
Stefan


PS: This also means that I have to recalculate all my models as the previous results are all completely invalid :-((
User avatar
cringle
SmartPLS Developer
Posts: 818
Joined: Tue Sep 20, 2005 9:13 am
Real name and title: Prof. Dr. Christian M. Ringle
Location: Hamburg (Germany)
Contact:

Post by cringle »

Stefan,

in a nutshell:
you are not reporting a bug!

You are just describing your fault not use the missing value option while there are missing values in your data basis that are indicated by a specific number! Such a mistake is also possible in LVPLS/PLSgraph – you need to indicate the missing values. We are aware of this problem – that’s why we included a step by step data import dialog that explicitly asks you if there are missing values in your data and the used value is to indicate them.

My advice: Use a certain treatment of missing values before you import your data into SmartPLS! Then you make sure to avoid this problem.
My guess is that LVPLS calculates with less precision in the standardization procedure...
That's correct.
... cross-program comparisons can only be meaningful if carried out on pre-standardized raw data
That's not correct - a missing value treatment is required in both programs leading to similar results.

Best
Christian
stefanbehrens
PLS Expert User
Posts: 54
Joined: Wed Oct 19, 2005 5:53 pm
Real name and title:

Post by stefanbehrens »

Christian,

you are right that what I reported was simply "human error" (i.e. my stupidity) and not a bug. However, I would guess that I'm not the only one out there stupid enough to run into this (maybe others are simply not yet aware of it). What was confusing me (and maybe this is a suggestion for future releases of the program) was the way you have to configure the missing data treatment in the software. Let me explain:

- Before importing my data, I replaced missing values with "-1.0" (in SPSS)
- When I imported my data into SmartPLS, I checked the "indicator data contains missing values" box and used "-1.0" as "missing value".
- Then I went to "Settings"/ "Missing Value Processors" and selected "Mean Replacement"

So far, so intuitive. That's when I thought I had done everything necessary to tell the program how I wanted to treat my missing values and thus started to calculate my models. However, I was missing a final step (as I found out trying to compare the results between SmartPLS and LVPLS):

- I also had to go to "Settings"/ "Data Preprocessing", click "New..." and select "Missing Value Treatment"

It is only that last step that threw me off. The remaining procedure you guys devised was very straightforward. Maybe you could turn that last step on by default in future releases or hide the "Missing Values Processors"-dialog if no preprocessor is active.

All the best,
Stefan


PS: Maybe this thread can be moved to the FAQ section since it is not really concerning a bug as we both agree.
User avatar
swende
SmartPLS Developer
Posts: 111
Joined: Mon Sep 26, 2005 10:34 am
Real name and title: Dipl. Wi-Inf. Sven Wende
Location: Hamburg (Germany)

Post by swende »

I also had to go to "Settings"/ "Data Preprocessing", click "New..." and select "Missing Value Treatment"

It is only that last step that threw me off.
You are right. That might put off many other people, too. We will reconsider this and find a more intuitive solution until the next release.
Sven Wende, CEO SmartPLS GmbH
Locked