r.rational.regression(1)      Grass User's Manual     r.rational.regression(1)



NNAAMMEE
       rr..rraattiioonnaall..rreeggrreessssiioonn  -  linear  and  nonlinear regression calculation
       from data stored in ASCII file

       _(_G_R_A_S_S _R_a_s_t_e_r _P_r_o_c_e_s_s_i_n_g _P_r_o_g_r_a_m_)

SSYYNNOOPPSSIISS
       rr..rraattiioonnaall..rreeggrreessssiioonn

       rr..rraattiioonnaall..rreeggrreessssiioonn hheellpp

       rr..rraattiioonnaall..rreeggrreessssiioonn  iinnppuutt==_n_a_m_e  oouuttppuutt==_n_a_m_e  [cchheecckk==_"_p_h_r_a_s_e_"]  [pprree--
       ddiicctt==_"_p_h_r_a_s_e_"] [pplloott==_"_p_h_r_a_s_e_"] [ccaallccuullaatt==_"_p_h_r_a_s_e_"]

DDEESSCCRRIIPPTTIIOONN
       The  _r_._r_a_t_i_o_n_a_l_._r_e_g_r_e_s_s_i_o_n  program  calculates the linear or nonlinear
       regression model.  If it is used as an image precessing tool, the  mul-
       tispectral  space  remote sensing data will be the regression variables
       (ascii file) and the ground vegetation coverage	measurements  will  be
       the  response variables (also ascii file) and this command will be use-
       ful for obtaining  linear  or  nonlinear  regression  models  from  the
       remote-sensing  data  which  have corresponding ground mearsurement and
       for predicting vegetation  coverage  using  other  remote-sensing  data
       which  have  no corresponding ground truth records.  The input file has
       the following format


       regression valuables x1, x2, ... response variable y


       channel 1 (x1)	channel 2 (x2) ...  coverage


       For a three channel remote-sensing data the following is an example  of
       input ascii file
       0.4350	 0.2616      0.7016	   0.98

       0.4140	 0.2620      0.6520	   0.99

       0.4940	 0.3500      0.5580	   0.34

       0.5983	 0.5350      0.5650	   0.10

       0.4883	 0.3733      0.5533	   0.88

       0.4150	 0.2916      0.5116	   0.60

       0.5566	 0.5250      0.5466	   0.09

       0.4420	 0.2820      0.6800	   0.86

       0.4220	 0.2620      0.6260	   0.88

       0.4766	 0.3666      0.5933	   0.61

       0.5180	 0.4300      0.5140	   0.60

       0.4416	 0.2700      0.7383	   0.96

       0.4583	 0.3116      0.5133	   0.76

       0.4300	 0.2750      0.7233	   0.98

       0.4320	 0.2760      0.6460	   1.00

       0.4733	 0.3566      0.5616	   0.53

       0.4200	 0.2450      0.7966	   1.00

       0.4850	 0.3533      0.7216	   0.99

       0.4360	 0.2620      0.7620	   0.99

       0.4283	 0.2650      0.6783	   0.91

       0.4633	 0.3200      0.6750	   0.94


       The  resulted regression model (coefficient numbers) and related infor-
       mation about the confidencial test, goodness  or  utility  test	(e.g.,
       correlation  coefficient  r between observed and calculated coverage, F
       value and t value) are put on the output file (ascii file also).


       Eight models can be choosen by user  after  prompted  by  the  program.
       They are:


       1)   usual   linear  model:  y=a[0]x[0]+a[1],  y=a[0]x[0]+a[1]x[1]+a[2]
       y=a[0]x[0]+a[1]x[1]+a[2]x[2]+a[4]


       2) linear model with remote-sensing data normalized by the data in  the
       first   spectrial  band;  normalized  by  x1:  y=a[0]x[1]/x[0]  +  a[1]
       y=a[0]x[1]/x[0] + a[1]x[2]/x[0] + a[2]


       3) linear model with normalization by the second  band;	normalized  by
       x2: y=a[0]x[0]/x[1] + a[1] y=a[0]x[0]/x[1] + a[1]x[2]/x[1] + a[2]


       4) NDVI (normalized differential vegetation index) model;


       5) NDVI model for intensity instead of radiance;


       6) NDVI model for reflectance;


       7) semi-relaxation vegetation index model;


       8) RVI (relaxation vegetation index) nonlinear model.


       The  user  has  three  options  for  check: multx1, multx2, and multx3.
       These options check multi-collinearity of the input data. multx1 calcu-
       lates $R sup 2$ for channel x1 being replaced by coverage y. multx2 for
       channel x2 if input data are composed of two  remote-sensing  channels.
       And  multx3 for channel x3 if input data are composed of at least three
       channels.


       The program provides three methods to conduct the nonlinear  regression
       calculation.   These  methods  can be invoked by the user as options of
       calculat.  The first one is rational fraction method.  If no any option
       of  calculat  is  given	by  the user, the program will adopt the first
       method.	If calculat = rvi_linear the linearization method is taken  to
       conduct	the  nonlinear	relaxation  index regression.  If the user set
       calculat = rvi_nonlinear the general  nonlinear	regression  method  is
       used.   If  calculat = all,  the program will conduct nonlinear regres-
       sion first using the  rational  fraction  method  and  then  using  the
       obtained  coefficients  as  initial values to conduct the second method
       calculation and finally using the third method to improve the  results.
       For  nonlinear  regression  calculation there may exist multi-minimums.
       We can not be in reliance on the existing usual	algorithms  which  can
       find  one  minimum only.  The computer will not scan the possible mini-
       mums in order to save  computer time.  The user should judge and select
       a  least  minimum during the iteration.	The necessary parameters which
       will facilitate the judgement for each iteration are displayed  in  the
       screen and also output to the output file.


       For  plots  of relavant features of the regression calculation the user
       can set option for plot.  There are four options for the plot.  If plot
       =  radiance-coverage  computer will send radiance data against coverage
       data for further plotting radiance-coverage curves or figures  to  show
       the  scatter of input data.  This data will stored in ascii files named
       "curve.radiance_coverage_x1y",	 "curve.radiance_coverage_x2y"	   and
       "curve.radiance_coverage_x3y".	If  plot = vegetation-soil three ascii
       data files will be generated by the program for further figuers.  Their
       names	are   "curve.veget_soil_x1x2",	 "curve.veget_soil_x1x3"   and
       "curve.veget_soil_x2x3".  If the user set plot = adequacy  the  program
       will  generate  residual  data  files for plotting figures of residuals
       against predictors and dependent variable to show the  adequacy.  These
       files   named  curve_residual_x1",  "curve_residual_x2",  "curve_resid-
       ual_x3" and "curve_residual_y".	If plot = all the program will	gener-
       ate  all  these above mentioned data files for further plotting of dif-
       ferent figures.


       The program not only can calculate regression models but also can  make
       prediction  to  new  remote sensing data using the obtained model.  The
       user can set option of predict = same  to  calculate  regression  model
       using  part  of	one  imagery  data and predict vegetation coverage for
       another part of remote sensing data in the same imagery.  If predict  =
       other the program will use one imagery to get regression model and pre-
       dict vegetation coverage for other imagery.  If the user did  not  give
       any  option for predict the program calculates model based on the whole
       input data and not conduct any prediction.  The program still  generate
       a  set of "calculated vegetation coverage" using the obtained model and
       the same input data in order for the user to check the  utility,  good-
       ness  and  confidencial status of the regression. _r_._r_a_t_i_o_n_a_l_._r_e_g_r_e_s_s_i_o_n
       will be run non-interactively if the user specifies  program  arguments
       on the command line, using the form:


       _r_._r_a_t_i_o_n_a_l_._r_e_g_r_e_s_s_i_o_n   _i_n_p_u_t_=_n_a_m_e  _o_u_t_p_u_t_=_n_a_m_e	_[_c_h_e_c_k_=_"_p_h_r_a_s_e_"_] _[_p_r_e_-
       _d_i_c_t_=_"_p_h_r_a_s_e_"_] _[_p_l_o_t_=_"_p_h_r_a_s_e_"_] _[_c_a_l_c_u_l_a_t_=_"_p_h_r_a_s_e_"_]


       But after run, the computer will prompt the user to select  model  num-
       ber.

       Alternately, the user can simply type:


       _r_._r_a_t_i_o_n_a_l_._r_e_g_r_e_s_s_i_o_n


       on  the command line without program arguments.	In this case, the user
       will be prompted for parameter values using  the  standard  GRASS  user
       interface described in the manual entry for _p_a_r_s_e_r.

OOPPTTIIOONNSS
   PPaarraammeetteerrss::
       cchheecckk== For  check  of  multi-collinearity.   Options:  multx1,  multx2,
	      multx3

       ccaallccuullaatt==
	      Method  of  calculation  for  nonlinear  regression.    Options:
	      rvi_linear, rvi_nonlinear, all

       pplloott==  Name  of	data  files generated by the program for further plot-
	      ting.  Options:  radiance-coverage,  vegetation-soil,  adequacy,
	      all

       pprreeddiicctt==
	      Fashion of prediction.  Options: same, other


SSEEEE AALLSSOO
	_i_._n_d_v_i_, _r_._l_i_n_e_a_r_._r_e_g_r_e_s_s_i_o_n

AAUUTTHHOORRSS
       Hong  C. Zhuang, U.S. Army Construction Engineering Research Laboratory
       Department of Electrical Computer Engeering, University of Illinois  at
       Urbana-Champiagn.


       Michael	Shapiro,  U.S.	Army Construction Engineering Research Labora-
       tory.

       _L_a_s_t _c_h_a_n_g_e_d_: _$_D_a_t_e_: _2_0_0_2_/_0_1_/_2_5 _0_5_:_4_5_:_3_4 _$



GRASS 5.0					      r.rational.regression(1)
