1TREND2D(1)                   Generic Mapping Tools                  TREND2D(1)
2
3
4

NAME

6       trend2d  - Fit a [weighted] [robust] polynomial model for z = f(x,y) to
7       xyz[w] data.
8

SYNOPSIS

10       trend2d -Fxyzmrw -Nn_model[r] [ xyz[w]file ] [ -Ccondition_number  ]  [
11       -H[i][nrec]  ]  [  -I[confidence_level]  ]  [ -V ] [ -W ] [ -:[i|o] ] [
12       -b[i|o][s|S|d|D[ncol]|c[var1/...]] ] [ -f[i|o]colinfo ]
13

DESCRIPTION

15       trend2d reads x,y,z [and w] values from the first three [four]  columns
16       on  standard  input  [or  xyz[w]file]  and  fits a regression model z =
17       f(x,y) + e by [weighted] least squares.  The fit may be made robust  by
18       iterative  reweighting  of  the data.  The user may also search for the
19       number of terms in f(x,y) which significantly reduce the variance in z.
20       n_model  may be in [1,10] to fit a model of the following form (similar
21       to grdtrend):
22
23       m1 + m2*x + m3*y + m4*x*y + m5*x*x + m6*y*y +  m7*x*x*x  +  m8*x*x*y  +
24       m9*x*y*y + m10*y*y*y.
25
26       The user must specify -Nn_model, the number of model parameters to use;
27       thus, -N4 fits a bilinear trend, -N6 a quadratic surface,  and  so  on.
28       Optionally,  append  r to perform a robust fit.  In this case, the pro‐
29       gram will iteratively reweight the data based on a robust  scale  esti‐
30       mate, in order to converge to a solution insensitive to outliers.  This
31       may be handy when separating a "regional" field from a "residual" which
32       should  have non-zero mean, such as a local mountain on a regional sur‐
33       face.
34
35       -F     Specify up to six letters from the set {x y z  m  r  w}  in  any
36              order to create columns of ASCII [or binary] output.  x = x, y =
37              y, z = z, m = model f(x,y), r = residual z - m, w = weight  used
38              in fitting.
39
40       -N     Specify  the number of terms in the model, n_model, and append r
41              to do a robust fit.  E.g., a robust bilinear model is -N4r.
42

OPTIONS

44       xyz[w]file
45              ASCII [or binary, see -b] file containing x,y,z  [w]  values  in
46              the  first 3 [4] columns.  If no file is specified, trend2d will
47              read from standard input.
48
49       -C     Set the maximum allowed condition number for  the  matrix  solu‐
50              tion.  trend2d fits a damped least squares model, retaining only
51              that part of the eigenvalue spectrum such that the ratio of  the
52              largest  eigenvalue  to  the smallest eigenvalue is condition_#.
53              [Default:  condition_# = 1.0e06. ].
54
55       -H     Input file(s) has header record(s).  If used, the default number
56              of  header records is N_HEADER_RECS.  Use -Hi if only input data
57              should have  header  records  [Default  will  write  out  header
58              records  if  the  input  data  have them]. Blank lines and lines
59              starting with # are always skipped.
60
61       -I     Iteratively increase the number of model parameters, starting at
62              one,  until  n_model  is reached or the reduction in variance of
63              the model is not significant at the confidence_level level.  You
64              may  set  -I  only, without an attached number; in this case the
65              fit will be iterative with a default confidence level  of  0.51.
66              Or choose your own level between 0 and 1.  See remarks section.
67
68       -V     Selects verbose mode, which will send progress reports to stderr
69              [Default runs "silently"].
70
71       -W     Weights are supplied in input column 4.   Do  a  weighted  least
72              squares  fit  [or start with these weights when doing the itera‐
73              tive robust fit].  [Default reads only the first 3 columns.]
74
75       -:     Toggles between  (longitude,latitude)  and  (latitude,longitude)
76              input and/or output.  [Default is (longitude,latitude)].  Append
77              i to select input only or o to  select  output  only.   [Default
78              affects both].
79
80       -bi    Selects binary input.  Append s for single precision [Default is
81              d  (double)].   Uppercase  S  or  D  will  force  byte-swapping.
82              Optionally,  append  ncol,  the number of columns in your binary
83              input file if it exceeds the columns needed by the program.   Or
84              append  c  if  the  input  file  is  netCDF.  Optionally, append
85              var1/var2/... to specify the variables to be read.  [Default  is
86              3 (or 4 if -W is set) input columns].
87
88       -bo    Selects  binary  output.  Append s for single precision [Default
89              is d (double)].  Uppercase S  or  D  will  force  byte-swapping.
90              Optionally,  append  ncol, the number of desired columns in your
91              binary output file.  [Default is 1-6 columns as set by -F].
92
93       -f     Special formatting of input and/or output columns (time or  geo‐
94              graphical  data).   Specify  i  or  o to make this apply only to
95              input or output [Default applies to both].   Give  one  or  more
96              columns (or column ranges) separated by commas.  Append T (abso‐
97              lute calendar time), t (relative time in chosen TIME_UNIT  since
98              TIME_EPOCH),  x (longitude), y (latitude), or f (floating point)
99              to each column or column range item.  Shorthand  -f[i|o]g  means
100              -f[i|o]0x,1y (geographic coordinates).
101

REMARKS

103       The  domain  of  x  and y will be shifted and scaled to [-1, 1] and the
104       basis functions are built from Chebyshev  polynomials.   These  have  a
105       numerical  advantage  in  the form of the matrix which must be inverted
106       and allow more accurate solutions.  In many applications of trend2d the
107       user has data located approximately along a line in the x,y plane which
108       makes an angle with the x axis (such as data collected along a road  or
109       ship track).  In this case the accuracy could be improved by a rotation
110       of the x,y axes.  trend2d does not search for such a rotation; instead,
111       it  may  find that the matrix problem has deficient rank.  However, the
112       solution is computed using the generalized  inverse  and  should  still
113       work  out OK.  The user should check the results graphically if trend2d
114       shows deficient rank.  NOTE: The model parameters listed  with  -V  are
115       Chebyshev  coefficients; they are not numerically equivalent to the m#s
116       in the equation described above.  The description above is to allow the
117       user  to match -N with the order of the polynomial surface.  For evalu‐
118       ating Chebyshev polynomials, see grdmath.
119
120       The -Nn_modelr (robust) and -I (iterative) options evaluate the signif‐
121       icance  of  the  improvement  in model misfit Chi-Squared by an F test.
122       The default confidence limit is set at 0.51; it can be changed with the
123       -I  option.   The  user may be surprised to find that in most cases the
124       reduction in variance achieved by increasing the number of terms  in  a
125       model  is  not  significant  at  a very high degree of confidence.  For
126       example, with 120 degrees of freedom, Chi-Squared must decrease by  26%
127       or  more to be significant at the 95% confidence level.  If you want to
128       keep iterating  as  long  as  Chi-Squared  is  decreasing,  set  confi‐
129       dence_level to zero.
130
131       A low confidence limit (such as the default value of 0.51) is needed to
132       make the robust method work.  This  method  iteratively  reweights  the
133       data  to  reduce the influence of outliers.  The weight is based on the
134       Median Absolute Deviation and a formula from Huber [1964], and  is  95%
135       efficient  when the model residuals have an outlier-free normal distri‐
136       bution.  This means that the influence  of  outliers  is  reduced  only
137       slightly  at  each iteration; consequently the reduction in Chi-Squared
138       is not very significant.  If the procedure needs a  few  iterations  to
139       successfully  attenuate  their  effect, the significance level of the F
140       test must be kept low.
141

ASCII FORMAT PRECISION

143       The ASCII output formats of numerical data are controlled by parameters
144       in  your  .gmtdefaults4  file.   Longitude  and  latitude are formatted
145       according to OUTPUT_DEGREE_FORMAT, whereas other values  are  formatted
146       according  to D_FORMAT.  Be aware that the format in effect can lead to
147       loss of precision in the output, which can  lead  to  various  problems
148       downstream.   If  you find the output is not written with enough preci‐
149       sion, consider switching to binary output (-bo if available) or specify
150       more decimals using the D_FORMAT setting.
151

EXAMPLES

153       To remove a planar trend from data.xyz by ordinary least squares, use:
154
155       trend2d data.xyz -Fxyr -N2 > detrended_data.xyz
156
157       To make the above planar trend robust with respect to outliers, use:
158
159       trend2d data.xzy -Fxyr -N2r > detrended_data.xyz
160
161       To  find out how many terms (up to 10) in a robust interpolant are sig‐
162       nificant in fitting data.xyz, use:
163
164       trend2d data.xyz -N10r -I -V
165

SEE ALSO

167       GMT(1), grdmath(1), grdtrend(1), trend1d(1)
168

REFERENCES

170       Huber, P. J., 1964, Robust estimation of  a  location  parameter,  Ann.
171       Math. Stat., 35, 73-101.
172
173       Menke,  W.,  1989, Geophysical Data Analysis:  Discrete Inverse Theory,
174       Revised Edition, Academic Press, San Diego.
175
176
177
178GMT 4.5.6                         10 Mar 2011                       TREND2D(1)
Impressum