Vincent Nijs schrieb: > I am tryin to convert some of my time-series code written in Ox to > scipy/numpy (e.g., unit root tests, IRFs, cointegration, etc). Two key > functions I need for this are 'lag' and 'diff'. 'diff' is available but > 'lag' is apparently not. > > Below is my attempt at a lag function. I tried to be somewhat consistent > with the diff function which is part of numpy (also listed for convenience). > It seems to work fine for a 2-d array but not for a 1-d or 3-d array (see > tests at bottom of email). I'd appreciate any suggestions you may have. >
Great to see somebody converting from Ox to numpy, I see synergies ahead! > def lag(a, n=1, lag_axis=0, concat_axis=1): > """ > Calculate the nth order discrete lag along given axis. > Note: axis=-1 means 'last dimension'. This is the default > for the diff function. However, the first dimension (0) > may be preferred for time-series analysis. > """ > a = asanyarray(a) > > n = ravel(n) # convert input to an array why don't you leave n as an integer? maybe you're trying to be too clever here. I think it's a good idea to have lag resemble the existing diff function, and then a single number n should be enough. (And I'm not sure about your concat_axis, e.g. what does axis=1 mean for a 1-d array?) Do you get your errors also for integer n? cheers, sven _______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
