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 |
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.
SPIGA(Pmon, scale = 3, population = 500, maxIter = 50, plotGA = FALSE, plotCDF = FALSE) SPIML(Pmon, scale =3)
SPIGA(Pmon, scale = 3, population = 500, maxIter = 50, plotGA = FALSE, plotCDF = FALSE) SPIML(Pmon, scale =3)
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. |
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.
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 |
. | . | . | . | . | . |
. | . | . | . | . | . |
. | . | . | . | . | . |
Functions SPIGA
and SPIML
return values saved in .txt formats (Tabular) and .pdf (graphics). They are located in the working folder of R
[getwd()].
Dependencies: the SPIGA function, depend on the library GA
.
Iván Arturo Ayala Bizarro <[email protected]>
Jessica Zúñiga Mendoza <[email protected]>
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
SPIFromParameters
to calculate the standardized precipitation index, from alpha and beta parameter of the Gamma function.
#### 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)
#### 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)
calculate the standardized precipitation index, from alpha and beta parameter of the Gamma function.
SPIFromParameters(Pmon, scale =3, Param_Alpha, Param_Beta)
SPIFromParameters(Pmon, scale =3, Param_Alpha, Param_Beta)
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. |
Analysis stations are in the columns of dataframe. the apha and beta parameters, are monthly and are in the rows of dataframe.
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 |
return values of standardized precipitation index in .txt formats.
Iván Arturo Ayala Bizarro <[email protected]>
Jessica Zúñiga Mendoza <[email protected]>
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
#### 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)
#### 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)
SPIGA
objects.Generic methods for extracting information and plotting SPIGA
objects.
calcSPI(Pt,alpha, beta,m, nd)
calcSPI(Pt,alpha, beta,m, nd)
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. |
Iván Arturo Ayala Bizarro <[email protected]>
Jessica Zúñiga Mendoza <[email protected]>
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 set used, data are monthly rainfall (1981-2015) and the dimensionless parameters to calculate the SPI drought.
data(Pm_Pisco) data(alphaGA_SPI3) data(betaGA_SPI3)
data(Pm_Pisco) data(alphaGA_SPI3) data(betaGA_SPI3)
Pm_Pisco
dataframe with:
monthly precipitation totals, in mm.
monthly precipitation totals, in mm.
monthly precipitation totals st-1, in mm.
monthly precipitation totals st-2, in mm.
monthly precipitation totals st-n, in mm.
alphaGA_SPI3
dataset: monthly alpha parameter.
month analysis
monthly alpha parameter station 1
monthly alpha parameter station 2
monthly alpha parameter station n
betaGA_SPI3
dataset: monthly beta parameter.
month analysis
monthly beta parameter station 1
monthly beta parameter station 2
monthly beta parameter station n
Iván Arturo Ayala Bizarro <[email protected]>
Jessica Zúñiga Mendoza <[email protected]>
The Pm_Pisco
data were obtained from the Peruvian Interpolation data of the SENAMHI's Climatological and Hidrological Observations, SENAMHI-PERU. http://peruclima.pe/.
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
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)
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)