To compare the multiway-algorithms PARAFAC implementation with the matlab nway toolbox run the following step:
-
Initialize the mutliway-algorithms and nway-toolbox local installations by running
$ bash init.sh
This should clone the latest multiway-algorithms develop branch and the nway repository
-
Run the nway PARAFAC implementation:
$ bash run-nway-toolbox-parafac.sh
Results in:
Loss = 413.6739 -
Run the multiway-algorithms PARAFAC implementation:
$ bash run-multiway-alg-parafac.sh
Results in:
[INFO ] 18:14:11.388 [Main.main()] Main - Loss = 413.9942821962213
The data can be found in matlab/Fluorescence\ EEMs/ as .dat files or in data/ as .csv files. The matlab script matlab/generate_data_dir.m generates the .csv files.
Both runs are started with the same options:
| Option | Value |
|---|---|
| number of components | 4..10 |
| max. iterations | 2500 |
| improvement tolerance threshold | 10e-6 |
| init method | {random orthogonalized matrices, SVD} |
| number of components | nway loss (random orth. init) | mwa loss (random orth. init) | nway loss (SVD init) | mwa loss (SVD init) |
|---|---|---|---|---|
| 3 | 562.3193 | 562.6590 | 562.3179 | 562.9468 |
| 4 | 413.7502 | 413.9942 | 413.7559 | 414.0267 |
| 5 | 306.6297 | 307.1157 | 306.691 | 310.7814 |
| 6 | 217.8061 | 218.3507 | 217.7974 | 218.0926 |
| 7 | 175.0781 | 175.6058 | 175.0551 | 175.9703 |
| 8 | 144.0486 | 145.9342 | 143.9903 | 145.5471 |
| 9 | 122.1815 | 126.5388 | 122.2394 | 122.3786 |
| 10 | 104.1776 | 109.5957 | 104.1796 | 107.6224 |