EasyKrig3.0
所属分类:数学计算
开发工具:Windows_Unix
文件大小:495KB
下载次数:259
上传日期:2005-01-22 14:37:55
上 传 者:
kokoko
说明: Kriging插值matlab toolbox
(Kriging Matlab toolbox)
文件列表:
EasyKrig_V3.0 (0, 2004-05-13)
EasyKrig_V3.0\bin (0, 2004-05-13)
EasyKrig_V3.0\bin\bessel0.m (453, 2000-09-05)
EasyKrig_V3.0\bin\degmins.m (2442, 2000-03-07)
EasyKrig_V3.0\bin\ll2xy.m (845, 2000-07-21)
EasyKrig_V3.0\bin\mapax.m (2645, 2003-04-30)
EasyKrig_V3.0\bin\mean_nan.m (1029, 2001-10-02)
EasyKrig_V3.0\bin\median_nan.m (1173, 1999-09-22)
EasyKrig_V3.0\bin\sort_mex.m (1095, 2000-05-03)
EasyKrig_V3.0\bin\std_nan.m (1028, 1999-09-22)
EasyKrig_V3.0\bin\sum_nan.m (965, 1999-09-22)
EasyKrig_V3.0\bin\xy2ll.m (1462, 2000-07-21)
EasyKrig_V3.0\color_info.dat (3127, 2004-07-16)
EasyKrig_V3.0\data (0, 2004-05-13)
EasyKrig_V3.0\dataprep (0, 2004-05-13)
EasyKrig_V3.0\dataprep\check_unitsfig.m (2865, 2004-04-03)
EasyKrig_V3.0\dataprep\check_unit_action.m (434, 2004-04-03)
EasyKrig_V3.0\dataprep\datachk.m (4982, 2004-05-21)
EasyKrig_V3.0\dataprep\dataprep3d.m (7851, 2004-06-17)
EasyKrig_V3.0\dataprep\dataprep3dfig.m (22442, 2004-07-20)
EasyKrig_V3.0\dataprep\datareduction.m (2181, 2004-04-03)
EasyKrig_V3.0\dataprep\datatransform.m (1257, 2004-04-03)
EasyKrig_V3.0\dataprep\loaddatfile.m (6414, 2004-08-02)
EasyKrig_V3.0\dataprep\loadvar_opt.m (519, 2004-04-03)
EasyKrig_V3.0\dataprep\load_data_format_info.m (1938, 2004-07-12)
EasyKrig_V3.0\dataprep\save_data_format_info.m (2418, 2004-07-30)
EasyKrig_V3.0\data\GLOBEC_gridfile (0, 2004-05-13)
EasyKrig_V3.0\data\GLOBEC_gridfile\globec_grid.dat (135992, 2004-06-24)
EasyKrig_V3.0\data\pressure (0, 2004-05-13)
EasyKrig_V3.0\data\pressure\layer10.dat (3900, 2000-02-03)
EasyKrig_V3.0\data\pressure\layer11.dat (3900, 2000-02-03)
EasyKrig_V3.0\data\pressure\layer12.dat (3900, 2000-02-03)
EasyKrig_V3.0\data\pressure\layer13.dat (3900, 2000-02-03)
EasyKrig_V3.0\data\pressure\layer14.dat (3900, 2000-02-03)
EasyKrig_V3.0\data\pressure_batch_file.dat (135, 2004-05-10)
EasyKrig_V3.0\data\salinity.dat (18600, 1999-10-08)
EasyKrig_V3.0\data\Temperature3d.dat (161602, 2001-10-03)
EasyKrig_V3.0\data\zooplankton.dat (900, 1998-09-04)
EasyKrig_V3.0\Description.doc (121856, 2004-07-16)
EasyKrig_V3.0\general (0, 2004-05-13)
... ...
The GLOBEC Kriging Software Package - EasyKrig3.0, May 1, 2004
Copyright (c) 19***, 2001, 2004. property of Dezhang Chu and Woods Hole Oceanographic Institution.
All Rights Reserved.
1. INTRODUCTION
1.1 General Information
1.1.1 About kriging
This section provides a brief theoretical background for kriging. If the user(s) is not interested in
the theoretical background, he/she can skip this section and go to section 1.1.2 directly.
Kriging is a technique that provides the Best Linear Unbiased Estimator of the unknown
fields (Journel and Huijbregts, 1978; Kitanidis, 1997). It is a local estimator that can provide
the interpolation and extrapolation of the originally sparsely sampled data that are assumed to be
reasonably characterized by the Intrinsic Statistical Model (ISM). An ISM does not require the quantity
of interest to be stationary, i.e. its mean and standard deviation are independent of position, but rather
that its covariance function depends on the separation of two data points only, i.e.
E[(z(x) - m)(z(x') - m) ] = C(h), (1)
where m is the mean of z(x) and C(h) is the covariance function with lag h, with h being the distance
between two samples x and x':
h = || x - x' ||. (2)
Another way to characterize an ISM is to use a semi-variogram,
gamma(h) = 0.5* E[ (z(x) - z(x') )^2]. (3)
The relation between the covariance function and the semi-variogram is
gamma(h) = C(0) - C(h). (4)
The kriging method is to find a local estimate of the quantity at a specified location, x(L).
This estimate is a weighted average of the N adjacent observations:
z(x(L)) = sum( lambda(i) z(x(i)), (5)
where i is from 1 to N, and x(L) are the coordinates of an arbitrary point whose value is what
we want to estimate.
The weighting coefficients lammbda(i) can be determined based on the minimum estimation variance criterion:
See Eq.(6) in Description.doc file (6)
subject to the normalization condition.
sum(lambda(i)) = 1, (7)
where i is from 1 to N. Note that we don't know the exact value at , but we are trying to find a predicted
value that provides the minimum estimation variance. The resultant kriging equation can be expressed as
See Eq.(8) in Description.doc file (8)
where mu is the Lagrangian coefficient. In addition, we have replaced the covariance function with
the normalized covariance function [normalized by C(0)]. Equivalently, by using Eq. (4), the kriging
equation can also be expressed in terms of the semi-variogram as
See Eq.(9) in Description.doc file (9)
where we have used normalized semi-variogram, i.e., semi-variogram normalized by C(0) as we did in deriving Eq. (8).
Having obtained the weighting coefficients (lambda_beta) and the Lagrangian coefficient (mu) by solving either Eq. (8) or
Eq. (9), the kriging variance, Eq. (6), can be expressed as:
See Eq.(8) in Description.doc file (10)
The above equations are the basis of the Easykrig software package.
1.1.2 Brief description of EasyKrig3.0
The EasyKrig program package uses a Graphical User Interface (GUI) to simplify the operation. It requires MATLAB 5.3 or
higher with or without optimization toolbox (see section 2.2) and consists of five components, or processing stages:
(1) data preparation, (2) variogram computation, (3) kriging, (4) visualization and (5) saving results. It allows the
user to process anisotropic data, select an appropriate model from a list of variogram models, and a choice of kriging
methods, as well as associated kriging parameters, which are also common features of the other existing software
packages. One of the major advantages of this program package is that the program minimizes the users' requirements to
"guess" the initial parameters and automatically generates the required default parameters. In addition, because it
uses a GUI, the modifications from the initial parameter settings can be easily performed. Another feature of this
program package is that it has a built-in on-line help library that allows the user to obtain the descriptions of the
use of parameters and operation options easily.
The current EasyKrig3.0 is the upgraded version of the previous version (EasyKrig2.1). In addition to having corrected
some programming errors in the previous version (mostly GUI related errors), there are many new features included in
the current version:
· Matlab Version 6.x compatible
· Capable of handling 3-D data
· Enhanced batch file processing capability
· More flexible in loading input data and saving output data
· Capable of handling the customized grid file
· More examples with detailed step by step instructions are provided to allow user(s) to master the functionality
of the software package more quickly and easily.
Although this software package lacks some abilities such as Co-kriging, it does provide a convenient tool for
geostatistical applications and should also help scientists from other fields.
For people who do not want to use GUI but only interested in function-based m-files can go to a different website
that provides a function-based m-file Kriging package (http://globec.whoi.edu/software/kriging/V3/intro_v3.html)
developed by Caroline Lafleur and Yves Gratton, INRS-Océanologie, Universit du Qubec Rimouski.
1.2 Getting Started
1.2.1 Operating systems
The software was originally developed under MATLAB 6.5 on a PC (windows 2000) and intended to be computer and/or
operating system independent. The program has been tested on various machines (PC, Macintosh, and Sun Workstation)
and operating systems (windows 2000/Xp, Linux) and performs fine.
1.2.2 Down-load the program
The user needs to download the compressed file from GLOBEC web site first, the URL is
ftp://globec.whoi.edu/pub/software/kriging/easy_krig/V3.0/
and the compressed file is
Windows 95/***/NT/2000/XP and Linux: easy_krig30.zip
Unix: easy_krig30.tar.Z
Macintosh: easy_krig30mac.zip
After having downloaded the file, the user needs to uncompress the file. A directory of easy_krig3.0 will be
created and you are ready to run the program.
1.2.3 Quick start
Start MATLAB and go to the designated easy_krig3.0 home directory. Just type "startkrig" in the MATLAB
command window, a window will pop up. This window is the base window, called the Navigator window. The Menubar in this
window contains many options you can choose. Now you are ready to move on.
Note: You can add the kriging home directory to the Matlab search path and run the program from other directories.
However, you have to make sure that there are no functions of your own having the same names as those used for
easy_krig3.0. Since the program will allow you to load and save files using a file browser, it is recommended that
you run the program under the easy_krig3.0 home directory.
The program provides a full on-line help function that provides the descriptions the use of almost all of the
selectable functions, options, and parameters. It is quite self-explanatory and easy to use.
2. DATA PROCESSING STAGES
There are several data processing stages (tasks) that are selectable from the Menubar on the top of the Navigator
window, as well as other task windows. By selecting or clicking on any of the tasks, a window corresponding to the
selected task will pop up. On each task window including the Navigator window, the descriptions and explanations
of every option and selection in each task window can be found by click on the "Help" option on the Menubar. On any
of the task windows, clicking on the "Navigator" button, or selecting "Navigator" from the Menubar will bring back
the Navigator window.
2.1 Data Preparation
Selecting "Load Data" from "Task" on the Menubar of any window leads to the Data Preparation window. Click on the
"Load" button or select "Load" from the Menubar to load the raw data file. The format of the data file should be
a 3-column ASCII file for 2D data and 4-column ASCII file for 3D data. Comments at the beginning of the data file
will not affect the data as long as each comment line begins with a percentage symbol "%".
User(s) can provide their own m-file to load the data by using "External Program" option in the Data Preparation
window. This function allows the user to generate the input data directly from the raw data instead of generating an
ASCII file that is required by the Easykrig3.0. The required format for the input and output parameters by using an
external program can be found by clicking on the "Help" from the Menubar and selecting "External Program".
One can set the other parameters such as reduction factor (or just accept default settings) before loading the file.
After the file is loaded, if the user wants to change the other (default) settings, such as data filter, he/she can do
so and then click on "Apply" pushbutton after the parameters have been set. The difference between "Load" and "Apply"
is that the latter operation is faster since it will not re-load the data file. For example, to change the axis labels
after having loaded the data, one does not need to re-load the data.
One can also save the "Data Format" information into a file, which will save all the parameter and option settings
in this window. This feature allows the user(s) to load the data file with the same settings in the task window
Kriging without opening or using this window. It is very useful when a batch process operation is needed (see
explanation in 2.3 and the example 3 for more details).
The usage of the other options in this window can be found by selecting appropriate items from "Help" option on
the Menubar.
2.2 Semi-variogram
Selecting "Variogram" from "Task" on the Menubar leads to a popup Variogram/Correlogram window. Click on the "Compute"
button to generate a data-based semi-variogram (or correlogram). Then, we need to seek a model-based semi-variogram or
correlogram to fit the data-based variogram just computed. It can be proved that, based on Eq. (4), the relation
between the normalized semi-variogram gamma_n(h) [ normalized by the variance C(0)] and the correlogram Cn(h) is:
Cn(h) = 1 - gamma_n(h),
where h is the lag distance (Eq. 2). An appropriate variogram/correlogram model can be selected depending on the shape
of the variogram/correlogram computed from the data. The explanations of the parameters associated with the model
can be found using the on-line help. Click on the "Apply" button and the program will compute the model-based
variogram/correlogram using the current settings. The parameter settings can be changed either by changing the slider
positions or by entering the numbers directly into the associated text-edit fields. If using the slider, the theoretical
curve will change automatically, while if entering the number(s) into the text-edit field(s), the user needs to click
on the "Apply" button to re-compute the curve.
If the optimization toolbox (recommended) is installed, the user can use the Least-Squares Fit function to fit the
data by clicking on the "LSQ fit" button. If the optimization toolbox isn't installed, the program will automatically
disable the Least-Squares fit function.
Note that since the LSQ fit has a certain range for each parameter, different initial settings or parameters will
produce different results.
In some cases when the data are anisotropic, an anisotropic variogram or correlogram model can be activated. By
selecting "Anisotropy" radio option, the corresponding settings are enabled. If you don't know or are not sure of the
orientation and aspect ratio of the anisotropic feature of the data, you can use the default settings first and then
adjust to obtain satisfactory results.
One can save the current variogram parameters to a file and can also retrieve the variogram parameters previously
saved to a file.
The usage of the other options in this window can be found by selecting appropriate items from "Help" option on the
Menubar.
2.3 Kriging
Selecting "Kriging" from "Task" on the Menubar leads to a popup Kriging window. The parameters of the variogram or
correlogram needed in the kriging operation are automatically passed from the Variogram window to the Kriging window.
Click on the "Refresh" button to obtain the most recent semi-variogram and coordinates parameters if the user has
loaded a new data set.
The "Relative Variance" parameter will set the kriging values to "NaN" (Not a number) when the kriged values are
larger than this parameter and will become blank in the kriging map. The default value of this parameter is 2.5.
Click on the "Krig" button to start kriging. In general, accepting the default parameters will produce a reasonable
kriging map to start with. Changing the variogram and kriging parameters will offer fine-tuning on these parameters
and can further improve the quality of the kriging results.
One of the important features of the EasyKrig is its ability of performing "Batch Process", which allows the user to
process a group of data sets that have the same data structures, i.e., having the same data format and using the same
variogram and kriging parameters. The user will provide a file in which a list of the data file will be included.
The outputs of each data set from kriging will be automatically saved to appropriate file in Matlab binary format.
Another added feature in EasyKrig3.0 is that it allows users to provide their own grid file to specify the
coordinates of regular or irregular grids on which the kriged values are generated.
The usage of the other options in this window can be found by selecting appropriate items from "Help" option on the
Menubar.
2.4 Visualization
Choosing "Visualization" from "Task" on the Menubar leads to the Visualization window. Three types of figures can be
viewed in this window: kriging map, kriging-variance map and cross-validation. The first two maps are commonly used in
the kriging literature while the last one is a unique approach of this program.
Click on the "Show Plot" button to display the current kriging results.
The shading option is for the display purpose only and their explanations can be found by typing "help shading" in the
MATLAB command window.
Sliders next to the colorbar case can be used to change the display range of the colormap scale. Sliders next to the X,
Y, and Y axes in 3D case are used to change the positions of the slices in X, Y, and Z directions, respectively.
If the data have been transformed in the Data Preparation window, the kriging results are the results from transformed
data.
An important feature of the EasyKrig is it can provide "cross-validation", which can be performed by selecting
the "Validation" radio option. One can compute and display the results from different cross-validation schemes in a
separate Cross-Validation window. Among these schemes, the Q1 and Q2 are good indicators that provide a plausible
assessment of the performance of the kriging in addition to the kriging-variance map. More detailed descriptions of
these cross-validation can be found from the built-in "Help" function. In general, the Q1 criterion (distribution of
the deviation for the mean) is easy to satisfy while the Q2 criterion (distribution of deviations for the standard
deviation) is much more difficult to satisfy.
As a rule of thumb, reducing the area under the theoretical curve of the variogram (smaller nugget, lower sill,
smaller length scale, etc.) will increase the Q2 value, while increasing this area will reduce the Q2 value.
The usage of the other options in this window can be found by selecting appropriate items from "Help" option on the
Menubar.
2.5 Saving Kriging Results
In the Visualization window, by selecting "File" from the Menubar and then choosing "Save File As", the user can
save the outputs to a .mat file with a user-defined filename and at the user-selected location. The program saves the
parameters and data structures (para and data) in the file. For information on the structures, the user needs to
select "File" from the Menubar in the Navigator window and then "Variable Structure" to obtain explanations for some
important variables (note that many variables are not relevant to users).
3. EXAMPLES
There are several sample data files included in the package. All files are in ASCII format required by the program.
In the following examples, the designated directory is assumed to be "easy_krig3.0".
3.1 Example 1: An Aerial Image of Zooplankton Abundance Data
(1) Start MATLAB, in command window, change directory to the home directory of EasyKrig3.0. Type "startkrig" to
launch the program.
(2) Adjust the window size and position and select "Save Window Position" option from "Task" on the Menubar and then
"Save Position" from the sub-menu. Note that after saving the window size and position, any of other task windows
created afterwards will have the same size and at the same position. You can resize and re-position the window in
any other task windows as well.
(3) Select "Load Data" from "Task" on the Menubar to open the Data Preparation window.
(a) Select "Data Col. 2" from the listbox of "Column" for X-Axis and "Data Col. 1" for Y-Axis (defaults).
(b) Select "LONGITUDE" from listbox of "Variable" for X-Axis and "LATITUDE" for Y-Axis (defaults).
(c) Leave other parameters unchanged.
(d) Click on the "Load" button to open a dialog box, go to "data" directory, and then select the data file
"zooplankton.dat" to load the selected file into memory.
(e) Select "Sample Sequence" in the "Display Type" frame to display the sample sequence. By selecting "2D/3D
Color-coded View" to bring back the color-coded display.
(4) Select "Variogram" from "Task" on the Menubar to open the Variogram/Correlogram window.
(a) Click on the "Compute" button to compute the semi-variogram. This plots the data-based semi-variogram as
discrete open circles.
(b) Select "general exponential-Bessel" (default) from the variogram model listbox on the upper right. Click on
the "LSQ Fit" button. If you don't have optimization toolbox, click on the "Apply" button, a theoretical
model-based semi-variogram will be superimposed on the original data-based semi-variogram. The resultant
semi-variogram parameters from the least-squares fit (if you have optimization toolbox) or from the default
settings (if you don't have optimization toolbox) are shown in the text-edit fields within the "Model Parameters"
frame.
(c) Click on the sliders associated with the variogram parameters, the theoretical curves will change accordingly to
reflect the parameter changes. The parameters can also be changed by entering the values directly into the
text-edit fields and then clicking on the "Apply" pushbutton.
... ...
近期下载者:
相关文件:
收藏者: