[SciPy-user] incompatible sizes when correlating two timeseries
Fri Dec 19 13:35:04 CST 2008
On Dec 18, 2008, at 1:33 PM, Matt Knox wrote:
> Timmie <timmichelsen <at> gmx-topmail.de> writes:
>> I try to correlate two timeseries.
>> I don not understand, why I get an error for incompatile size.
> I would say this is a bug. Although I am not 100% certain the cause
> of it at the
> moment. I think it happens when the correlate function tries to
> create a new
> TimeSeries to store the result in and somehow the dates of the input
> get passed along to create the resulting TimeSeries (which will be
> of size 1).
np.correlate(x,y) returns a 1D array of size 1. Because x and y are
TimeSeries, it tries to create a new series, but don't know what to do
w/ the dates, so it chokes.
> A simple work around for now is to just call np.correlate on the
> underlying raw
> array (using the .data attribute of the TimeSeries). Note that
> np.correlate will
> NOT work properly with MaskedArray's that contain masked value. In
> general you
> should assume functions from the top level numpy namespace will not
> properly with masked values.
Indeed: when manipulating time series, if you don't need to keep track
of the dates, just drop them by using .series (better than .data, as
'masked values shouldn't be trusted anyway'(TM)...)
> Pierre, I think we should probably up-cast the TimeSeries to a plain
> when _update_from is called with dates of a different size than the
> data. I'm
> sure other functions in numpy crash on TimeSeries objects for the
> same reason.
> What do you think?
Right now, nothing. I need to see a better example. Here, yes, we
could drop the dates and return a MaskedArray. In other cases, there's
a legitimate reason for trying to output a TimeSeries.
More information about the SciPy-user