Time series delay

107 views
Skip to first unread message

Mag

unread,
Feb 6, 2012, 3:50:25 PM2/6/12
to Eureqa Group
Hi

Is there a way to force Eureqa to skip lags? When predicting time
series it will always model the most recent data point:

Solution: a = sma(a, 1)
Solution: a = delay(a, 0)

where a is the target to predict: a = f(a,b,c,d,e,f) and input
variable is unchecked.

I know that it's possible to use f(delay(a, 1),b,c,d,e,f)

but that is quite limiting in rich data.

I'd hoped that: delay(a, -1) = f(a,b,c,d,e,f)

might work but the -1 jumps back to +1 during the run.

Or Is there a way to stop the target row index from becoming the
solution?

Thanks

L

unread,
Feb 6, 2012, 8:13:56 PM2/6/12
to eureqa...@googlegroups.com
You might do something like (delay (a,2)-delay(a,1)) - not sure if that's what you're asking?
 

<sig>&SIGFILE; NOT FOUND ERR 000121</sig>



From: Mag <m...@isoftdev.com>
To: Eureqa Group <eureqa...@googlegroups.com>
Sent: Monday, February 6, 2012 3:50 PM
Subject: Eureqa - Time series delay
--
Eureqa Formulize ( http://www.nutonian.com )
-------------------------------------------------
Unsubscribe: eureqa-group+unsub...@googlegroups.com
View Group: http://groups.google.com/group/eureqa-group


Dave Nunez

unread,
Feb 6, 2012, 8:54:01 PM2/6/12
to eureqa...@googlegroups.com
Take a look at:

http://creativemachines.cornell.edu/eureqa_ops

The description for the time delay op is there, also try to model 2
or 3 steps ahead.

hth, -d

> --
> Eureqa Formulize ( http://www.nutonian.com )
> -------------------------------------------------

> Unsubscribe: eureqa-group...@googlegroups.com
> View Group: http://groups.google.com/group/eureqa-group

bill_080

unread,
Feb 6, 2012, 11:15:03 PM2/6/12
to Eureqa Group
Assuming variables "a,b,c,d,e", and "f" have 1000 rows, why not create
a new variable "y" that is a copy of variable "a", but is advanced by
1 row.

The target is: y = f(a,b,c,d,e,f)

That will leave 999 rows for the fit (since "y" is advanced 1 row, the
last row will not have a "y" value).
> > View Group:http://groups.google.com/group/eureqa-group- Hide quoted text -
>
> - Show quoted text -

Mag

unread,
Feb 7, 2012, 2:58:38 AM2/7/12
to Eureqa Group
Thanks everyone.

I can see that delay(a, 1) on all the variables is equivalent of
stepping back one row. With sma I'm worried about peeking at future
data. Therefore I'm trying this at the moment:

a = f(delay(a, 1), delay(b, 1), delay(c, 1), delay(d, 1), delay(e,
1), delay(f, 1), delay(g, 1),
sma(delay(a, 2), 1), sma(delay(b, 2), 1), sma(delay(c, 2),
1), sma(delay(d, 2), 1), sma(delay(e, 2), 1), sma(delay(f, 2), 1),
sma(delay(g, 2), 1))

What do you think? I'm getting some pretty deep nesting.

Bill, thanks good idea. I've done that in the past when I've played
around with neural networks.
> > > View Group:http://groups.google.com/group/eureqa-group-Hide quoted text -

Michael Schmidt

unread,
Feb 7, 2012, 12:24:27 PM2/7/12
to eureqa...@googlegroups.com
I would definitely create a new variable with the "a" rows shifted by one like Bill suggested.  Modeling the delta (or derivative) instead, like L suggested, is also a cool idea.

Michael


--
Eureqa Formulize ( http://www.nutonian.com )
Reply all
Reply to author
Forward
0 new messages