[R] Statistically detecting thresholds...

matifou Matthieu.Stigler at gmail.com
Wed Jun 17 13:04:10 CEST 2009


Hi

Threshold models with time series for ecology have been quite famous with
bookf from Tong (1990, nonlinear time series), who studied lynx population
and showed evidence of threshold (regime specific) effects, and built a
model called "threshold autoregressive"

Many of those functions are available in package tsDyn, (dev version on
http://code.google.com/p/tsdyn/wiki/ThresholdCointegration contains many new
features). If you have time series, this package should be convenient for
you. 

Otherwise, basically, your approach is right with a known threshold, means
if you know a priori what is the threshold, then you can apply usual
inference, resp t tests. If the threshold is unknown, you need to estimate
it by estimating all threshold, and tests have non standard distribution due
to the presence of a parameter unidentified unfer the null ("Davies
problem"). A good point to start with would be 
Sample splitting and threshold estimation," Econometrica, (2000), 68,
575-603 available at: http://www.ssc.wisc.edu/~bhansen/papers/ecnmt_00.html

Hope this helps

Mat



Jonathan Greenberg-2 wrote:
> 
> Rers:
> 
> I have some ecological data (stream velocity vs. % cover of submerged 
> weeds) that shows strong evidence of a thresholding step-function, e.g. 
> below some velocity, % cover ranges from 0% to 100% (with no apparent 
> relationship to velocity within this range of velocities), but above a 
> certain "threshold" velocity, the % cover does not appear to exceed, 
> say, 10%.  There are good mechanistic reasons for believing there is a 
> step function there, so I'm trying to determine the velocity position 
> and significance of this threshold.  I came up with the following 
> approach, but I was hoping to find out if there is a more "standardized" 
> way of doing this:
> 
> 1) Give small velocity steps ranging from 0 to max velocity,  classify 
> all samples (% cover vs. velocity) into "above threshold" and "below 
> threshold".
> 2) Perform a t-test on these two groups, store the p-value to an array, 
> building up a database of p-value vs. velocity threshold.
> 3) Determine the minimum p-value from the previous step, which should be 
> the velocity threshold -- the p-value at this threshold is the 
> significance of the threshold.
> 
> Does this make sense?  Is there a better way of doing this?  When I ran 
> this on the data, you see a nice, nearly parabolic relationship around 
> what the threshold appears to be of p-value vs. threshold.
> 
> --j
> 
> -- 
> 
> Jonathan A. Greenberg, PhD
> Postdoctoral Scholar
> Center for Spatial Technologies and Remote Sensing (CSTARS)
> University of California, Davis
> One Shields Avenue
> The Barn, Room 250N
> Davis, CA 95616
> Cell: 415-794-5043
> AIM: jgrn307, MSN: jgrn307 at hotmail.com, Gchat: jgrn307
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 
> 

-- 
View this message in context: http://www.nabble.com/Statistically-detecting-thresholds...-tp24063180p24071317.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list