210 likes | 341 Views
GRTS for the Average Joe: A GRTS Sampler for Windows. Trent McDonald Monitoring Science Symposium Denver, CO 21-24 Sep 2004. Outline. Motivation for the GRTS sampler Description of the sampler, S-Draw Examples Performance Planned modifications. Motivation. Basic hypotheses:
E N D
GRTS for the Average Joe: A GRTS Sampler for Windows Trent McDonald Monitoring Science Symposium Denver, CO 21-24 Sep 2004
Outline • Motivation for the GRTS sampler • Description of the sampler, S-Draw • Examples • Performance • Planned modifications
Motivation • Basic hypotheses: • Average Joe understands the utility of GRTS samples • Average Joe does not totally understand the inner workings of GRTS sampling • Average Joe could not draw a GRTS sample if his life depended on it.
Motivation • A GRTS sampler was needed because: • Average Joe should be able to draw GRTS samples • I should be able to draw GRTS samples
S-Draw • Windows application • Written in Fortran 95 • Amazing speed • Cross-platform portability ok • Cross-language calls easy (S-Plus, R, C++) • Used Lahey compiler • Also S-DrawB
S-Draw • Draws samples of • Discrete units (finite populations) • Located in either 1-D or 2-D • Examples: • 1-D: River segments located by river mile • 2-D: Grid cells located in an area • 2-D: River segments located by coordinates of their midpoints
S-Draw • Coordinates of units are specified in a text file • i.e., the sampling frame is a ASCII file • Sampling frame can optionally contain weights and ID’s
S-Draw • Frame Formats: *K specified on the first line of the frame file
S-Draw • Example frame: Eagle study Columns following frame data ignored
S-Draw • Does the quadrant-recursive mapping of Stevens and Olsen (2004): Randomize 2 4 n 0 1 3 2 3 1 4 2 4 4 3 1 2 1 3
S-Draw • Pixelsize = size of smallest quadrant in recursive map • S-Draw allows user to specify pixelsize
S-Draw • Line segment (0,n] sampled using a systematic sample • Random start between (0,1] • Step size = 1.0 Random start = 0.19 n 2 0 1 3 u1 u2 u4 u3
S-Draw • Reverse-hierarchical ordering of sample optionally applied • Convert sample order to base-4: 10010=012004 • Reverse base-4 digits: 012004=002104 • Convert back to base-10: 002104=3610 • Sort sample on base-10 numbers
S-Draw • Users can pre-define the hierarchical sort keys • Digits within each level of the hierarchy are randomly permuted, and sample is drawn as usual • Allows use of a general recursive map • Triangular-recursive • ID’s like: state.county.watershed.segment
S-Draw • Triangular-recursive mapping: 1 2 4 3
Examples • C:\>s-drawb –n 20 –popsize 100 • Will produce 1-D GRTS sample of size 20 assuming units are located at coordinates 1, 2, …, 100 • C:\>s-drawb –n 20 –popsize 100 –pixelsize 100 • Will produce a simple random sample of size 20 • C:\>s-drawb –n 20 –popsize 100 –nrand • Will produce a fixed-size systematic sample
Examples • Golden eagle sample: • Dense grid of transect start points spaced 2km north-south, 100km east-west • “No-fly” transect portions eliminated, new transect start created • Frame: • 27,078 starting points over western US • 2-D coordinates and ID’s • Desire sample of 416 transects • 208 primary, 208 alternate
Examples Sample size Coordinates and ID in frame 2-D Frame file
Performance • GRTS sample of size 500 from 100,000 took 4.2 seconds on my laptop • GRTS sample of size 500 from 1,000,000 took 44.3 seconds • Algorithms approximately O(N) • Runs should take ~ 4.45e-5(N)seconds • N=5,000,000: ~3.7 minutes
Enhancements • An S-Plus and R interface • Ability to read .e00 file, and ArcGIS binary files • Ability to take a true point sample