Package 'SPIGA'

Title: Compute SPI Index using the Methods Genetic Algorithm and Maximum Likelihood
Description: Calculate the Standardized Precipitation Index (SPI) for monitoring drought, using Artificial Intelligence techniques (SPIGA) and traditional numerical technique Maximum Likelihood (SPIML). For more information see: http://drought.unl.edu/monitoringtools/downloadablespiprogram.aspx.
Authors: Iván Ayala-Bizarro [aut, cre], Jessica Zúñiga-Mendoza [aut]
Maintainer: Iván Ayala-Bizarro <[email protected]>
License: GPL-2
Version: 1.0.0
Built: 2024-12-23 06:28:20 UTC
Source: CRAN

Help Index


Calculation of Standardized Precipitation Index, using the Genetic Algorithm Method (SPIGA) and Maximum Likelihood (SPIML)

Description

Calculate the standardized precipitation index (SPI) for monitoring drought using the technique of Genetic Algorithm (SPIGA) and Maximum Likelihood (SPIML) of a series of monthly rainfall for different time scales.

Usage

SPIGA(Pmon, scale = 3, population = 500, maxIter = 50, plotGA = FALSE, plotCDF = FALSE)

SPIML(Pmon, scale =3)

Arguments

Pmon

monthly precipitation series ordered according to time. It is a data frame with columns: year, month, station 1, station 2, etc.

scale

an integer value representing the time scale of analysis. The most common are 1, 3, 6, 9, 12, 48, etc.

population

an integer value that sets the number of population for the use of the technique of Genetic Algorithm.

maxIter

an integer value that sets the maximum number of iterations also called cycles within the concept of Genetic Algorithm.

plotGA

optional, value Boolean default false. Shows the performance versus the number of cycles in the Genetic Algorithm.

plotCDF

optional, value Boolean default false. Shows the cumulative distribution function of each station. The graphics are monthly.

Details

The SPIGA and SPIML, are functions to calculate the SPI using Artificial Intelligence techniques - Genetic Algorithms (GA) and numerical method - Maximum Likelihood (ML) and both provide quantitative results for monitoring DROUGHT. The GA optimize the parameters alpha and beta of the probability function Gamma given by McKee.

The population parameter must be an integer and balanced value, large values can generate higher time run, ie, high computational effort and small values can influence the accuracy of the results. By plotGA option and its corresponding graph, you can see the number of cycles to obtain a proper balance of the accuracy of the results and the computational effort.

Input data

similar to Pm_Pisco.

Year Mon st_1 st_2 st_3 st_4
1981 1 120.25 125.25 90.55 150.25
1981 2 145.25 140.25 120.70 145.50
1981 3 120.80 150.28 90.50 130.40
1981 4 90.25 80.25 70.52 120.40
1981 5 50.25 58.25 60.50 80.50
1981 6 40.25 38.45 80.25 50.40
1981 7 20.25 30.69 50.40 40.40
1981 8 1.25 8.85 10.40 25.80
1981 9 25.25 14.25 5.80 20.80
1981 10 13.25 10.23 10.50 30.45
1981 11 50.25 40.25 30.50 80.50
1981 12 80.25 90.52 80.70 90.40
1982 1 145.80 110.25 105.40 120.25
. . . . . .
. . . . . .
. . . . . .

Value

Functions SPIGA and SPIML return values saved in .txt formats (Tabular) and .pdf (graphics). They are located in the working folder of R [getwd()].

Note

Dependencies: the SPIGA function, depend on the library GA.

Author(s)

Iván Arturo Ayala Bizarro <[email protected]>

Jessica Zúñiga Mendoza <[email protected]>

References

McKee, Thomas B. and Doesken, Nolan J. and Kleist, John. 1993. The relationship of Drought Frequency and Duration to Time Scales. Eighth Conference on Applied Climatology

A. Belauneh and J. Adamowski. Standard Precipitation Index Drought Forecasting Using Neural Networks, Wavelet Neural Networks, and Support Vector Regression. Applied Computational Intelligence and Soft Computing, http://dx.doi.org/10.1155/2012/794061

See Also

SPIFromParameters to calculate the standardized precipitation index, from alpha and beta parameter of the Gamma function.

Examples

#### Load data
data(Pm_Pisco)
Pmon<-Pm_Pisco      # dataframe Precipitation
summary(Pm_Pisco)   # view summary
Pmon<-Pm_Pisco[,]

#### Computing SPI with Genetic Algorithms
pob     <-50        # Define population number
iMax    <-10        # Define Max iteration

# Total stations calculation. It may take some time.
#SPIGA(Pmon, scale=3, population=pob, maxIter = iMax, plotGA=TRUE, plotCDF=TRUE)

# station 1 computing
Pmon1<-data.frame(Pmon[,1:2], Pmon$Pm_St1)
SPIGA(Pmon1, scale=3, population=pob, maxIter = iMax)

# station 2 computing
Pmon2<-data.frame(Pmon[,1:2], Pmon$Pm_St2)
SPIGA(Pmon2, scale=3, population=pob, maxIter = iMax)

#### Computing SPI with Maximun Likelihood
SPIML(Pmon, scale=3)

Calculation of standardized precipitation index from alpha and beta parameter of the Gamma function.

Description

calculate the standardized precipitation index, from alpha and beta parameter of the Gamma function.

Usage

SPIFromParameters(Pmon, scale =3, Param_Alpha, Param_Beta)

Arguments

Pmon

monthly precipitation series ordered according to time. It is a data frame with columns: year, month, station 1, station 2, etc.

scale

an integer value representing the time scale of analysis. The most common are 1, 3, 6, 9, 12, 48, etc.

Param_Alpha

data frame monthly data values corresponding to the alpha parameter to the function Gamma.

Param_Beta

data frame monthly data values corresponding to the alpha parameter to the function Gamma.

Details

Analysis stations are in the columns of dataframe. the apha and beta parameters, are monthly and are in the rows of dataframe.

Input data

similar to Pm_Pisco.

Mon st_1 st_1 st_2 st_3
Jan 9.584860915 9.227918987 10.35269003 8.433823824
Feb 13.76378505 15.02620223 12.1021093 10.85133914
Mar 26.09112343 17.41749632 21.10924889 23.53649421
Apr 17.34996675 17.4451073 13.00894394 16.66595319
May 9.943259493 9.46815537 9.164645239 9.455850664
Jun 5.103175852 5.041710686 4.080851346 5.790986084
Jul 2.85804336 3.042484994 2.797962575 2.645188236
Aug 3.033862506 3.183267843 3.435303986 2.631287947
Sep 3.815308513 2.627317533 3.550365645 3.66482456
Oct 7.430925356 3.956716609 7.023105167 7.540706878
Nov 6.303310502 5.339943557 6.358902249 5.556660824
Dec 5.84110559 5.899534971 6.581657735 4.889599504

Value

return values of standardized precipitation index in .txt formats.

Author(s)

Iván Arturo Ayala Bizarro <[email protected]>

Jessica Zúñiga Mendoza <[email protected]>

References

McKee, Thomas B. and Doesken, Nolan J. and Kleist, John. 1993. The relationship of Drought Frecuency and Duration to Time Scales. Eighth Conference on Applied Climatology

A. Belauneh and J. Adamowski. Standard Precipitation Index Drought Forecasting Using Neural Networks, Wavelet Neural Networks, and Support Vector Regression. Applied Computational Intelligence and Soft Computing, http://dx.doi.org/10.1155/2012/794061

Examples

#### Load data
data(Pm_Pisco)
data(alphaGA_SPI3)
data(betaGA_SPI3)

#### Computing SPI with Genetic Algorithms
Pmon<-Pm_Pisco
Param_Alpha <- alphaGA_SPI3
Param_Beta <- betaGA_SPI3
SPIFromParameters(Pmon, scale =3, Param_Alpha, Param_Beta)

Generic methods for SPIGA objects.

Description

Generic methods for extracting information and plotting SPIGA objects.

Usage

calcSPI(Pt,alpha, beta,m, nd)

Arguments

Pt

monthly precipitation series.

alpha

parameter to Gamma function.

beta

parameter to Gamma function.

m

Number of zeros in the column.

nd

Number total data.

Author(s)

Iván Arturo Ayala Bizarro <[email protected]>

Jessica Zúñiga Mendoza <[email protected]>

References

McKee, Thomas B. and Doesken, Nolan J. and Kleist, John. 1993. The relationship of Drought Frequency and Duration to Time Scales. Eighth Conference on Applied Climatology

A. Belauneh and J. Adamowski. Standard Precipitation Index Drought Forecasting Using Neural Networks, Wavelet Neural Networks, and Support Vector Regression. Applied Computational Intelligence and Soft Computing, http://dx.doi.org/10.1155/2012/794061


The data set for illustratrating the functions of the SPIGA package

Description

The set used, data are monthly rainfall (1981-2015) and the dimensionless parameters to calculate the SPI drought.

Usage

data(Pm_Pisco)
data(alphaGA_SPI3)
data(betaGA_SPI3)

Format

Pm_Pisco dataframe with:

YEAR

monthly precipitation totals, in mm.

MONTH

monthly precipitation totals, in mm.

P1

monthly precipitation totals st-1, in mm.

P2

monthly precipitation totals st-2, in mm.

...

monthly precipitation totals st-n, in mm.

alphaGA_SPI3 dataset: monthly alpha parameter.

mon

month analysis

st-1

monthly alpha parameter station 1

st-2

monthly alpha parameter station 2

st-n

monthly alpha parameter station n

betaGA_SPI3 dataset: monthly beta parameter.

mon

month analysis

st-1

monthly beta parameter station 1

st-2

monthly beta parameter station 2

st-n

monthly beta parameter station n

Author(s)

Iván Arturo Ayala Bizarro <[email protected]>

Jessica Zúñiga Mendoza <[email protected]>

Source

The Pm_Pisco data were obtained from the Peruvian Interpolation data of the SENAMHI's Climatological and Hidrological Observations, SENAMHI-PERU. http://peruclima.pe/.

References

McKee, Thomas B. and Doesken, Nolan J. and Kleist, John. 1993. The relationship of Drought Frequency and Duration to Time Scales. Eighth Conference on Applied Climatology

A. Belauneh and J. Adamowski. Standard Precipitation Index Drought Forecasting Using Neural Networks, Wavelet Neural Networks, and Support Vector Regression. Applied Computational Intelligence and Soft Computing, http://dx.doi.org/10.1155/2012/794061

Examples

data(Pm_Pisco)
names(Pm_Pisco)
summary(Pm_Pisco)

data(alphaGA_SPI3)
names(alphaGA_SPI3)
summary(alphaGA_SPI3)

data(betaGA_SPI3)
names(betaGA_SPI3)
summary(betaGA_SPI3)