Extract Bag Plot filter does not have unitary tests
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
According to the Kitware gitlab, Extract Bag Plot filter does not have unitary tests. The only existing test is an integration test described here: https://gitlab.kitware.com/paraview/paraview/blob/master/Applications/ParaView/Testing/XML/FunctionalBagPlots.xml.
According to the user, the data used in that test are not appropriate to test the actual algorithm (sinewaves.csv): the white noise, without temporal covariance, is not consistent to find outliers. Thus, it does not represent a practical case of physics simulation outcome (no regularity of the function).
In addition, the paper used in the current test is using nuclear data which are confidental and cannot be integrated to Paraview code.
In the attachment please find data (gaussiansine.csv produced with the Scilab script test.sce) and numerical calculation results produced with the statistics software R and a classical PCA (ACP_classique.R). These results can easily be used to build unitary tests comparing numerical values produced by Paravew with those produced by R.
Please find a desciption hereafter of the tests which can be built:
N is the number of curves and T is the number of points in each curve. We distinguish T>N cases and T<N cases because of calculation performance. The matrix X is sized of TN. The covariance matrix XtX is sized of T*T. If T<N, it is consistent to evaluate the covariance matrix and to compute its T eigenvalues and eigenvectors. If T>N, it is not necessary to evaluate the covariance matrix. One can compute directly the SVD of matrix X which gives N singular non-zero values.
T>N is the most classical case. Consequently, the minimal unitary tests list is:
test 1 : classical PCA with T>N test 2 : robust PCA with T>N
Complementary list is:
test 3 : classical PCA with T<N test 4 : robust PCA with T<N