LnL Calculation in FIMIX

Frequently asked questions about PLS path modeling.
Post Reply
janschreier
PLS Expert User
Posts: 116
Joined: Fri Sep 12, 2014 2:12 pm
Real name and title: Jan Schreier

LnL Calculation in FIMIX

Post by janschreier » Thu Jul 06, 2017 9:50 am

I am trying to calculate the log likelihood from FIMIX in Excel based on
Hahn, C.; Johnson, M. D.; Herrmann, A.; et al. (2002): „Capturing customer heterogeneity using a finite mixture PLS approach“. In: Schmalenbach Business Review. 54 (3), S. 243–269.

but so far i haven't manage to do the calculation so that I come up with the same results as smartPLS. I based my calculations on the following formulas:
bild1.png
bild1.png (5.46 KiB) Viewed 3373 times
and
bild2.png
bild2.png (32.63 KiB) Viewed 3373 times
In the attached zip-file. Reports for an ordinary pls-run, the fimix run (with 1 segment for simplicity) and my calculation attempts are included. would be nice if someone could have a look and tell me what's wrong with my calculations and/or my data.

At the moment i'm especially wondering what the correct values are for Beta_k and PSI_k.


Thanks in advance for your help!
Jan

PS: The model is very simplistic and the data is fake to make debugging easier.
Attachments
pls reports.zip
(164.46 KiB) Downloaded 89 times

jmbecker
SmartPLS Developer
Posts: 1094
Joined: Tue Mar 28, 2006 11:09 am
Real name and title: Dr. Jan-Michael Becker

Re: LnL Calculation in FIMIX

Post by jmbecker » Thu Jul 06, 2017 5:59 pm

I don't have the time to go deep into your provided material, but there are two things I would like to comment:

1) In the SBR paper by Sarstedt et al. 2011 we have made some clarifications and correction to the original formulas provided by Hahn et al. Yet, I remember that SBR has also not printed these fully correctly. The problem with formula 9 in Hahn is that you are not supposed to take the second part (double Sum zlnp) for the likelihood calculation, but only the first part.

2) Beta and Gamma are submatrices of the segment-specific path coefficient matrix, which you will find in the FIMIX-PLS output. The one collects all coefficients from exogenous constructs and the other between constructs that are endogenous.
Psi is the segment-specific variance matrix. You will also find this in the FIMIX-PLS output.
Dr. Jan-Michael Becker, University of Cologne, SmartPLS Developer
Researchgate: https://www.researchgate.net/profile/Jan_Michael_Becker
GoogleScholar: http://scholar.google.de/citations?user ... AAAJ&hl=de

janschreier
PLS Expert User
Posts: 116
Joined: Fri Sep 12, 2014 2:12 pm
Real name and title: Jan Schreier

Re: LnL Calculation in FIMIX

Post by janschreier » Wed Jul 12, 2017 12:49 pm

Hi Michael,

thanks for your input. I managed to solve that for my simple model (two exogeneous variables pointing to one endogeneous variable) but now struggle with a slightly more complex model:
model.png
model.png (16.33 KiB) Viewed 3359 times
Service Satisfaction is clearly exogeneous and brand loyalty is endogeneous. From my understanding product satisfaction is also endogeneous per your definition.
But what about Beta and Gamma?
Beta should be a 2x2 matrix and Gamma a 1x2 matrix, if I understand it correctly.
I would expect Gamma to be {0,74; 0}
And Beta to be something like:
0; 0
0,83; 0

But with these values I don’t get anywhere near the expected LNL value. Do you have another hint for me?
Thanks in advance!
Jan

jmbecker
SmartPLS Developer
Posts: 1094
Joined: Tue Mar 28, 2006 11:09 am
Real name and title: Dr. Jan-Michael Becker

Re: LnL Calculation in FIMIX

Post by jmbecker » Thu Jul 13, 2017 7:01 pm

Beta in Hahn et al is I - Bs (see the clarification in Sarstedt et al.). Thus, it has ones on the diagonal and negative path coefficients elsewhere. In your case it would be
1 0
-0.83 1

In addition, psi is a 2x2 matrix with the variances on the diagonal. I'm not sure if you account for that correctly.
Dr. Jan-Michael Becker, University of Cologne, SmartPLS Developer
Researchgate: https://www.researchgate.net/profile/Jan_Michael_Becker
GoogleScholar: http://scholar.google.de/citations?user ... AAAJ&hl=de

janschreier
PLS Expert User
Posts: 116
Joined: Fri Sep 12, 2014 2:12 pm
Real name and title: Jan Schreier

Re: LnL Calculation in FIMIX

Post by janschreier » Mon Jul 17, 2017 8:48 am

Hi Michael,

i managed to recalculate the LnL for 1-segment solutions but for two segments I still struggle. I tested my 2 segment solution with a fake solution (all values equal) and I come up with correct LnL-values as I get it, if I calculate values for 1 segment solution in smartPLS. If I insert different values for Psi, Beta and Gamma for both segments my solution just doesn't match smartPLS solution.

Having spend enough time on this no to rule out silly issues I overlooked, I'd really appreciate if you could look into the attached Excel-file or give me another hint on the part of the calculation that covers those parts that are relevant only, if one uses two or more segments. The value given in cell AA14 is smartPLS solution, the value in AA15 is my result.

thanks!
Jan
Attachments
lnl 2 segments.zip
my calculations in excel
(118.85 KiB) Downloaded 74 times

jmbecker
SmartPLS Developer
Posts: 1094
Joined: Tue Mar 28, 2006 11:09 am
Real name and title: Dr. Jan-Michael Becker

Re: LnL Calculation in FIMIX

Post by jmbecker » Thu Jul 20, 2017 6:59 pm

There are two simple mistakes and a less obvious mistake in your calculations:
1) You use individual segment assignment instead of simple segment sizes (pk does not have an index i and is thus not individual specific, but only segment-specific).
2) You have a wrong path coefficient in segment 1 in Beta.

After correcting these two mistakes you will get an LnL value close to SmartPLS. However, you will never get the exact value for 2 or more segments with the default SmartPLS results.
There is a simple reason. FIMIX provides standardized path coefficients in its reports, but uses unstandardized coefficients in the calculation of the LnL and segmentation results. Usually, the difference is not big, because FIMIX works on the standardized LV scores. Because of the grouping of LV scores into segments the segment-specific scores are not standardized during the calculations. Thus, in a final step, we standardize the path coefficients to provide comparable results to other PLS reports.
You can circumvent this by choosing unstandardized data in the FIMIX-PLS settings. It does not only use unstandardized LV scores from the IPMA procedure, but also provides the unstandardized path coefficient with which you can replicate the LnL.
Dr. Jan-Michael Becker, University of Cologne, SmartPLS Developer
Researchgate: https://www.researchgate.net/profile/Jan_Michael_Becker
GoogleScholar: http://scholar.google.de/citations?user ... AAAJ&hl=de

Post Reply