Instructions for starship programs

The starship is a computer intensive method of shape estimation. See this page for details on our paper which describes its use for the generalised lambda distribution. The programs in this directory use the starship method to fit the generalised lambda distribution to data.

The programs are © 1999 Robert King, and are made available under the Gnu General Public License. I recommend you use my gld package for R instead of this code.

version 0.2

These programs use the starship method to fit the generalised lambda distribution, as described in our paper "A starship method for fitting the generalized lambda distribution", Australian and New Zealand Journal of Statistics, 1999, to appear

Making the progams

Extract the files from the tar archive, using

tar xvzf starship-0.2.tar.gz
if you have gnu tar, or uncompress the archive first and then untar it. The archive will extract into a directory called

The directory should contain 6 .c files, and the makefile. Edit the makefile to reflect the location of your C compiler.

make all
will make the 4 executables

The 4 different executables make possible the choice of parameterisation and internal goodness-of-fit measure.

Program nameparameterisationinternal g-o-f
starfrmad Freimer, Mudholkar, Kollia and Lin (FMKL) parameterisation Anderson-Darling internal goodness-of-fit (g-o-f)
starfrmks FMKL parameterisation Kolmogorov-Smirnov internal g-o-f
starramad Ramberg and Schmeiser (RS) parameterisation Anderson-Darling internal goodness-of-fit (g-o-f)
starramks RS parameterisation Kolmogorov-Smirnov internal g-o-f

Using the programs

Call the progams with

(name) datafile searchfile (optionally full-data-size)

The error message from calling the programs with no arguments is quite informative:

Help!! No arguments This program has now been modified to take one, two or three arguments beside the executable's name. If there's one, it gives the 'run number' which is appended to the following filenames: data, search, (to read in). The name up to the first dot (.) is appended to to write the output to. If there are two arguments the second gives the search file's name. If there are three arguments, this means that the data consists of a subset of the observed data. The third argument is used if the data is a subset of the observed data. In this case, the third argument is the number of observations in all the observed data, and the data file consists of 2 columns - the first containing the ranks and the second the data.

The datafile

The datafile (which should be called data.) can be in one of two formats, depending on whether the values in it are all the sample, or specific quantiles of the data.

Plain data should be in a file with one value per line.

"subset" data, meaning specific quantiles from the data should be in two columns, seperated by a space, with the rank of the data in the full subset in the first column and the data value in the second. If you use subset data, be sure to use the constraints on subsets discussed in the paper.

For example:

1 2.1
2 3.2
3 3.9
4 4.9
5 5
7 5.2
8 5.3
9 5.4
10 5.9
12 6

The search file

The "search" file (which should be called your second argument) governs which region of the parameter space the program searches. It is given as a file with eight lines, which are
lambda_1 start
lambda_1 step
lambda_2 start
lambda_2 step
lambda_3 start
lambda_3 step
lambda_4 start
lambda_4 step
The region searched goes from the start value, across a grid of size 10 where each step is the given size, so that the largest value is start + 9*step. You can change this grid size in the code at the line
#define NOSTEP

Robert King's page
Mathematical and Physical Sciences
University of Newcastle
Robert King-photo
File "rking/publ/starship/instructions.html" last updated 10:42:55 AM, Thu Oct 05, 2006
comments to: