Re: interpolating missing data [message #25345] |
Wed, 06 June 2001 04:33 |
R.Bauer
Messages: 1424 Registered: November 1998
|
Senior Member |
|
|
Martin Schultz wrote:
>
> ignore_this_adress <ignore_this_adress@fgg.eur.nl> writes:
>
>> Hello,
>>
>> I just came across a problem that should be relatively easy to solve. I
>> read a time series of a slowly varying scalar. However, in my original
>> data, some timepoints are missing. My read rountine fills them up with
>> zeroes (all normal values are well above 0). When the rountine finishes
>> I would like to automatically correct the data for the missing
>> timepoints. When using interpolate with the MISSING value, I end up with
>> the original dataset (syntax: pip = INTERPOLATE(p1, INDGEN(8197),
>> MISSING=0); where p1 is a float array[8197] with incidental zero
>> values).
>>
>> Am I using wrong syntax, or should I try a different approach. I
>> understand that I could do (linear) fitting around the missing data,
>> however, that would require more or less arbitrary choices on what data
>> to use, etc. I would greatly appreciate any suggestion for a more
>> wholistic approach :-) .
>>
>> Mika
>>
>>
>
> Oh! Holistic! Great! There are plenty of (thick) books available how to
> interpolate time series, and I am sure several people will not talk to
> you any longer if you don't use wavelets or some other fancy technique
> to do this ;-) But, seriously, you have to admit that you will have to
> make some assumptions about the data if you are going to interpolate
> them, and you should really know how your data behave before doing so.
> Choosing the best interpolation technique depends on whether
> (1) the data are more or less linear (at least piecewise)
> (2) the data show a quasi-periodic signal (or you have to fill in minima
> and maxima)
> (3) you have a few or many small gaps that are more or less regularily
> distributed
> (4) you have a few or several large gaps and no idea what is going on
> in between
> (5) ...
>
> I seem to recall that there is a special section on interpolation
> in the online help. Why not give that a glimpse?
>
> Cheers,
>
> Martin
>
If you have correctly answered Martin's question you are allowed to use
our time_series_sync routine.
http://www.fz-juelich.de/icg/icg1/idl_icglib/idl_source/idl_ html/dbase/download/time_series_sync.tar.gz
For further routines and licensing please have a look at
http://www.fz-juelich.de/icg/icg1/idl_icglib/idl_lib_intro.h tml
regards
Reimar
--
Reimar Bauer
Institut fuer Stratosphaerische Chemie (ICG-1)
Forschungszentrum Juelich
email: R.Bauer@fz-juelich.de
http://www.fz-juelich.de/icg/icg1/
=============================================
a IDL library at ForschungsZentrum J�lich
http://www.fz-juelich.de/icg/icg1/idl_icglib/idl_lib_intro.h tml
http://www.fz-juelich.de/zb/text/publikation/juel3786.html
|
|
|
Re: interpolating missing data [message #25347 is a reply to message #25345] |
Wed, 06 June 2001 01:55  |
Martin Schultz
Messages: 515 Registered: August 1997
|
Senior Member |
|
|
ignore_this_adress <ignore_this_adress@fgg.eur.nl> writes:
> Hello,
>
> I just came across a problem that should be relatively easy to solve. I
> read a time series of a slowly varying scalar. However, in my original
> data, some timepoints are missing. My read rountine fills them up with
> zeroes (all normal values are well above 0). When the rountine finishes
> I would like to automatically correct the data for the missing
> timepoints. When using interpolate with the MISSING value, I end up with
> the original dataset (syntax: pip = INTERPOLATE(p1, INDGEN(8197),
> MISSING=0); where p1 is a float array with incidental zero
> values).
>
> Am I using wrong syntax, or should I try a different approach. I
> understand that I could do (linear) fitting around the missing data,
> however, that would require more or less arbitrary choices on what data
> to use, etc. I would greatly appreciate any suggestion for a more
> wholistic approach :-) .
>
> Mika
>
>
Oh! Holistic! Great! There are plenty of (thick) books available how to
interpolate time series, and I am sure several people will not talk to
you any longer if you don't use wavelets or some other fancy technique
to do this ;-) But, seriously, you have to admit that you will have to
make some assumptions about the data if you are going to interpolate
them, and you should really know how your data behave before doing so.
Choosing the best interpolation technique depends on whether
(1) the data are more or less linear (at least piecewise)
(2) the data show a quasi-periodic signal (or you have to fill in minima
and maxima)
(3) you have a few or many small gaps that are more or less regularily
distributed
(4) you have a few or several large gaps and no idea what is going on
in between
(5) ...
I seem to recall that there is a special section on interpolation
in the online help. Why not give that a glimpse?
Cheers,
Martin
--
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
[[ Dr. Martin Schultz Max-Planck-Institut fuer Meteorologie [[
[[ Bundesstr. 55, 20146 Hamburg [[
[[ phone: +49 40 41173-308 [[
[[ fax: +49 40 41173-298 [[
[[ martin.schultz@dkrz.de [[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
|
|
|