Inform icon indicating copy to clipboard operation
Inform copied to clipboard

Extrapolating to Infinite History Lengths

Open dglmoore opened this issue 9 years ago • 4 comments

One feature that may be of value is a method for extrapolating the finite-history estimates of active information, transfer entropy, etc... to their full infinite-history counterparts. This is a feature that none of the related projects, e.g. JIDT, seem to have.

Proposed Approach

The obvious method for doing this is to implement a suite of curve-fitting functions which, given a sequence of values parameterized by k, would fit a closed-form curve. Taking the limit as k → ∞, would give an approximation of the infinite-history form of the various measures.

dglmoore avatar Aug 04 '16 22:08 dglmoore

This seems like it would be a reasonable solution to me, but I'm assuming the user would have to specify a functional form to fit the history length? That shouldn't be hard, we would just need to have a few options ready-made, polynomial, exponential etc.

colemathis avatar Aug 05 '16 00:08 colemathis

Maybe something like (making this up right now...)

typedef struct inform_polynomial
{
    int degree;
    double *coefficients;
} inform_polynomial;

// IEEE 754 specifies that floating-point values can be INF or -INF
double inform_polynomial_limit(inform_polynomial *poly, double x, inform_error *err);

polynomial *inform_fit_polynomial(double *xs, int degree, inform_error *err);

And then have one for each type of implemented curve?

dglmoore avatar Aug 05 '16 00:08 dglmoore

BTW, I'm absolutely certain that libraries exist for this kind of thing: GSL linear and non-Linear least-squares fitting.

dglmoore avatar Aug 05 '16 00:08 dglmoore

Yeah that seems pretty reasonable to me.

colemathis avatar Aug 05 '16 00:08 colemathis