threshold autoregressive equation

67 views
Skip to first unread message

Ashmoa

unread,
Apr 10, 2012, 5:25:38 AM4/10/12
to eureqa...@googlegroups.com
Hello all
 
I have been searching earlier discussions related to the aforementioned topic but didn't come across one. My apology if am asking something trivial and/or something discussed early on; am just beginning to learn how to use EUREQA.
 
Am anticipating a threshold autoregressive equation to express the mathematical relationship between multivariate time series (y,x1,x2). I would like to employ EUREQA to derive a AR equation: y=f(x1,y1,y2) constrained by a threshold value from x2.
 
I couldn't come across the means to introduce the threshold thing in EUREQA. Can somebody give me a helpful hint?
 
Your assistance is highly appreciated in advance!
Cheers

Michael Schmidt

unread,
Apr 10, 2012, 11:28:34 AM4/10/12
to eureqa...@googlegroups.com
You might use the step(x) or logistic(x) functions for thresholding values, see:

http://formulize.nutonian.com/building-blocks

I'm not familiar with thresholding for auto-regression though. What value do you want to threshold exactly and how do you want x2 to influence it?

Michael


--
Eureqa Formulize ( http://www.nutonian.com )
-------------------------------------------------
Unsubscribe: eureqa-group...@googlegroups.com
View Group: http://groups.google.com/group/eureqa-group

Ashmoa

unread,
Apr 10, 2012, 9:16:11 PM4/10/12
to eureqa...@googlegroups.com
Hello Michael--thanks for your prompt reply and for sharing the link.
Basically I am searching for two functions: one for (x2 > x2_threshold) and another for (x2 <= x2_threshold). By setting x2_threshold myself and a little manuplation of the input data I was able to do this with EUREQA. This time, I want EUREQA to search x2_threshold by itself and yield the two expressions.
Thanks so much!
Cheers
 

On Wednesday, 11 April 2012 01:28:34 UTC+10, Michael Schmidt wrote:
You might use the step(x) or logistic(x) functions for thresholding values, see:

http://formulize.nutonian.com/building-blocks

I'm not familiar with thresholding for auto-regression though. What value do you want to threshold exactly and how do you want x2 to influence it?

Michael

Hello all
 
I have been searching earlier discussions related to the aforementioned topic but didn't come across one. My apology if am asking something trivial and/or something discussed early on; am just beginning to learn how to use EUREQA.
 
Am anticipating a threshold autoregressive equation to express the mathematical relationship between multivariate time series (y,x1,x2). I would like to employ EUREQA to derive a AR equation: y=f(x1,y1,y2) constrained by a threshold value from x2.
 
I couldn't come across the means to introduce the threshold thing in EUREQA. Can somebody give me a helpful hint?
 
Your assistance is highly appreciated in advance!
Cheers

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

engr.student

unread,
Apr 11, 2012, 10:24:19 PM4/11/12
to Eureqa Group
I am not familiar with the statisticians idea of time-series such as
ARMA, ARIMA, VARMA, etcetera. As an engineering nerd I do know some
math and am fluent in a different dialect: engineering math.

It sounds like you are trying to express the following in Eurequa/
Formulize:

if x >= x_thresh then y = f(x,w)
if x < x_thresh then y = g(x,w)

Where x_thresh is the threshold value for the "switching".

Do you know x_thresh? If so then make a column called "sw" evaluated
to 1 if x is greater than x_thresh and 0 if it is lower and make the
expression
y = f(x,w,sw)

It might give more information (and also allows cost-free function
evaluation) if you make sw real valued by computing x-x_thresh or (x-
x_thresh)^2 or exp(-1*(x-x_thresh)^2). This does not add to the
complexity of the computed solution, but it does add information used
in the fitting.

If you do not know x_thresh then different tactics might work. You
need something like the following, but I don't know how to tell
y = f(x,w,max(1,x)) or such.

So do you have an idea about x_thresh? What can you tell me about the
general forms of f(x) and g(x) from above?

Rgds,
Mike

Ashmoa

unread,
Apr 12, 2012, 1:48:05 AM4/12/12
to eureqa...@googlegroups.com
Thanks so much Mike...that's what I exactly want to do. 
I introduced a column similar to the "sw" you described and derived mathematical expression for assumed x_thresh value . The problem is I don't know exact value of x_thresh (I only know the lower and upper limits). I have been wondering whether eureqa can search the x_thresh value and derive the f(.) and g(.) functions at the same time.
Cheers

Michael Schmidt

unread,
Apr 12, 2012, 11:14:19 AM4/12/12
to eureqa...@googlegroups.com
How about this, use the if(condition,then,else) function:

if(x < f0(), abs(y - f1(x)), abs(y - f2(x))) = 0

This says, if x is less than f0(), minimize the absolute error between y and f1(x), otherwise minimize the error with f2(x). Alternatively, you could do something similar without an explicit threshold, like:

min( abs(y - f0(x)), abs(y - f1(x)) ) = 0

Which minimizes the error using both f0 and f1, which ever is better on each data point.

Michael

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

Ashmoa

unread,
Apr 13, 2012, 2:25:38 AM4/13/12
to eureqa...@googlegroups.com

Thanks so much. That was quite helpful!

Cheers 
Reply all
Reply to author
Forward
0 new messages