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:
and
In the attached zipfile. Reports for an ordinary plsrun, 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.
LnL Calculation in FIMIX

 PLS Expert User
 Posts: 116
 Joined: Fri Sep 12, 2014 2:12 pm
 Real name and title: Jan Schreier
LnL Calculation in FIMIX
 Attachments

 pls reports.zip
 (164.46 KiB) Downloaded 89 times

 SmartPLS Developer
 Posts: 1094
 Joined: Tue Mar 28, 2006 11:09 am
 Real name and title: Dr. JanMichael Becker
Re: LnL Calculation in FIMIX
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 segmentspecific path coefficient matrix, which you will find in the FIMIXPLS output. The one collects all coefficients from exogenous constructs and the other between constructs that are endogenous.
Psi is the segmentspecific variance matrix. You will also find this in the FIMIXPLS output.
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 segmentspecific path coefficient matrix, which you will find in the FIMIXPLS output. The one collects all coefficients from exogenous constructs and the other between constructs that are endogenous.
Psi is the segmentspecific variance matrix. You will also find this in the FIMIXPLS output.
Dr. JanMichael 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
Researchgate: https://www.researchgate.net/profile/Jan_Michael_Becker
GoogleScholar: http://scholar.google.de/citations?user ... AAAJ&hl=de

 PLS Expert User
 Posts: 116
 Joined: Fri Sep 12, 2014 2:12 pm
 Real name and title: Jan Schreier
Re: LnL Calculation in FIMIX
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: 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
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: 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

 SmartPLS Developer
 Posts: 1094
 Joined: Tue Mar 28, 2006 11:09 am
 Real name and title: Dr. JanMichael Becker
Re: LnL Calculation in FIMIX
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.
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. JanMichael 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
Researchgate: https://www.researchgate.net/profile/Jan_Michael_Becker
GoogleScholar: http://scholar.google.de/citations?user ... AAAJ&hl=de

 PLS Expert User
 Posts: 116
 Joined: Fri Sep 12, 2014 2:12 pm
 Real name and title: Jan Schreier
Re: LnL Calculation in FIMIX
Hi Michael,
i managed to recalculate the LnL for 1segment 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 LnLvalues 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 Excelfile 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
i managed to recalculate the LnL for 1segment 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 LnLvalues 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 Excelfile 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

 SmartPLS Developer
 Posts: 1094
 Joined: Tue Mar 28, 2006 11:09 am
 Real name and title: Dr. JanMichael Becker
Re: LnL Calculation in FIMIX
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 segmentspecific).
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 segmentspecific 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 FIMIXPLS 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.
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 segmentspecific).
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 segmentspecific 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 FIMIXPLS 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. JanMichael 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
Researchgate: https://www.researchgate.net/profile/Jan_Michael_Becker
GoogleScholar: http://scholar.google.de/citations?user ... AAAJ&hl=de