From the estimated loadings it is possible to estimate the model of the data as

**X**_{k} = **AD**_{k}**B**^{T},

where **D**_{k} is a diagonal matrix holding the *k*th row of **C** in its diagonal and **X**_{k} is the *k’*th frontal slab of the three-way array (see figure below). This notation **AD**_{k}**B**^{T }is quite common in multi-way analysis. It is also quite difficult to see why that is a PARAFAC model!

However, assume that the first mode in your array is the excitation mode and the second is the emission mode. Then **A** and **B** will hold the pure excitation and emission spectra.

The third mode (corresponding to different samples) loading or score matrix **C** will then hold the concentrations. The *k*‘th row in **C** will hold the concentrations of the *k*‘th sample.

How can **X**_{k} be modeled? **X**_{k} is holding the spectra measured in the *k*‘th sample so that must be the sum of the contribution from the first analyte plus the contribution from the second analyte etc.

The contribution from the first analyte is **a**_{1}**b**_{1}^{T} times the concentration of the analyte which is *c*_{k1}, so the contribution is **a**_{1}*c*_{k1}**b**_{1}^{T}*.*

Similar holds for the other analytes, so **X**_{k }must be the weighted sum of all the bilinear parts **a**_{1}**b**_{1}^{T}, **a**_{2}**b**_{2}^{T}, etc. where each bilinear part (factor) is weighted by the concentration. This is exactly what is stated in the expression **AD**_{k}**B**^{T}, because the diagonal matrix **D**_{k} holds the concentrations.

Try to Think about it, make drawings, and see if it makes sense*.*

**This is equivalent to****X**(I×JK) = **X** = **A**(**C**×**B**)^{T}.

**Where** x is the so-called Kathri-Rao columnwise Kronecker product.

This product enables one to express the model of the whole data set

(rather than just an individual slab) in terms ordinary algebraic terms.

You may calculate the model of **X** called **M **directly as`M = A*kr(C,B)';`

But then you will get the matricized version of the model which will be of size 5×12261

(in case of using the full data set).

You can convert to the three-way array by `M = reshape(M,[5 201 61]);`

Alternatively you can simply use the function nmodel:`M = nmodel(Factors);`