It would be nice to have a grade entropy estimator over lexicographic orders, which a lexicographic ordering is specified by the order in which the columns of data matrix are given.
The current implementation of conaction.estimators.angular_disimilarity assumes that the angle comes from the arccosine of the reflective correlation coefficient implemented conaction.estimators.reflective_correlation
Let there be two vectors x and y where we wish to check if x < y. Currently estimators.grade_entropy checks every pair of components (x_i, y_i) but this is not necessary. Once there exists an i such that x_i > y_i, this guarantees that that x is not less than y. Stopping should occur here. This might be best-suited for a Cython extension since looping over the components will be slower in native Python than using NumPy broadcasting in many circumstances.
The estimators.kendall_tau command is still using Python loops. It would be a lot faster if the loop were statically typed by implementing it in Cython.
The progress bar is not always desired partly for disrupting other printouts and partly because printing requires processor time. It would be nice to have a verbose parameter to turn this feature on/off.
A local installation of CanAction allows the documentation to be built fine.
$ cd /path/to/ConAction/docs
$ make clean
$ make html
And the ReadTheDocs build says it is successful. But Autodoc is failing to see the third party packages. Details about functions are not being rendered.
When the kendall_tau has n_jobs=1 it uses tqdm to provide a progress bar. This progress bar is not always desired partly for disrupting other printouts and partly because printing requires processor time. It would be nice to have a verbose parameter to turn this feature on/off.
When the grade_entropy has n_jobs=1 it uses tqdm to provide a progress bar. This progress bar is not always desired partly for disrupting other printouts and partly because printing requires processor time. It would be nice to have a verbose parameter to turn this feature on/off.
The SymParam currently assumes a uniform probability measure, which may not always be suitable. It would be a substantial generalization in functionality to upgrade the user being able to specify the choice of probability measure, but would have to come with a warning that the user must ensure that the given function actual satisfies Kolmogorov's axioms of probability.
The estimators.grade_entropy command is still using Python loops. It would be a lot faster if the loop were statically typed by implementing it in Cython.
The conaction.estimators.minkowski_deviation function should have a degrees of freedom offset for ad hoc correction of degrees freedom. For example, emulating a Bessel-like correction to remove or reduce the bias of this estimator.
Just like most functions in NumPy that act on a vector, it is desirable for the Nightingale deviation to be computed along a fiber of a multidimensional array (i.e. informally, a tensor). This can be accomplished by computing the function along an axis. Thus adding an axis parameter that is passed into subsequent functions is appropriate.