Last data update: 2014.03.03

R: Prediction of a 'PrecipitationOccurenceModel' model object
predict.PrecipitationOccurenceModelR Documentation

Prediction of a PrecipitationOccurenceModel model object

Description

It is a wrapper of predict.glm method for the a PrecipitationOccurenceModel model object S3 class.

Usage

## S3 method for class 'PrecipitationOccurenceModel'
predict(object, newdata = NULL,
  type = "response", previous = NULL, endogenous = NULL, ...)

## S3 method for class 'PrecipitationOccurenceMultiSiteModel'
predict(object, ...)

## S3 method for class 'PrecipitationAmountModel'
predict(object, newdata = NULL,
  origin_newdata = NA, precipitation.value.random.generation = FALSE, ...)

Arguments

object

model returned by PrecipitationOccurenceModel

newdata

predictor or exogenous variables

type

see predict.glm. Default is "response". See predict.glm.

previous

logical vector containing previously occurred states.

endogenous

String vector containing the name of the endogenous variables. It is used if the endogenous variables are more than one, otherwise is set NULL(Default).

...

further arguments

origin_newdata

character string containing the date corresponding the first row of newdata

precipitation.value.random.generation

logical value. If it is FALSE (Default) the method predict.PrecipitationAmountModel returns conditioned random values, otherwise these values are converted to precipitation values through their observed non-parametric distributions.

See Also

predict.glm,PrecipitationOccurenceModel

predict.glm,predict.glm,PrecipitationOccurenceModel,PrecipitationAmountModel

Examples

library(RGENERATEPREC)

data(trentino)

year_min <- 1961
year_max <- 1990

period <- PRECIPITATION$year>=year_min & PRECIPITATION$year<=year_max
period_temp <- TEMPERATURE_MAX$year>=year_min & TEMPERATURE_MAX$year<=year_max

prec_mes <- PRECIPITATION[period,]
Tx_mes <- TEMPERATURE_MAX[period_temp,]
Tn_mes <- TEMPERATURE_MIN[period_temp,]
accepted <- array(TRUE,length(names(prec_mes)))
names(accepted) <- names(prec_mes)
for (it in names(prec_mes)) {
	acc <- TRUE
	acc <- (length(which(!is.na(Tx_mes[,it])))==length(Tx_mes[,it]))
	acc <- (length(which(!is.na(Tn_mes[,it])))==length(Tn_mes[,it])) & acc
	accepted[it]  <- (length(which(!is.na(prec_mes[,it])))==length(prec_mes[,it])) & acc

}

valmin <- 1.0
prec_mes <- prec_mes[,accepted]



Tx_mes <- Tx_mes[,accepted]
Tn_mes <- Tn_mes[,accepted]
origin <- paste(year_min,1,1,sep="-")


prec_occurence_mes <- prec_mes>=valmin

station <- names(prec_mes)[!(names(prec_mes) %in% c("day","month","year"))]
it <- station[2]
vect <- Tx_mes[,it]-Tn_mes[,it]
months <- factor(prec_mes$month)
model <- PrecipitationOccurenceModel(x=prec_mes[,it],exogen=vect,monthly.factor=months)

probs <- predict(model)

nday <- 3.0
vect_new <- array(1.0,nday)
months_new <- array(1,nday)
row_test <- 2000:2007
newdata <- model$predictor[row_test,]
probs2 <- predict(model,newdata=newdata)

probs[row_test]==probs2
###





prec_occurence_mes <- prec_mes>=valmin

station <- names(prec_mes)[!(names(prec_mes) %in% c("day","month","year"))]

station <- station[1:4] ## reduced the dataset!!!
Tx_mes <- Tx_mes[,station]
Tn_mes <- Tn_mes[,station]

prec_mes <- prec_mes[,station]
exogen <- Tx_mes-Tn_mes
months <- factor(prec_mes$month)


### Not Run
### Please uncomment the following lines to run them


#model_multisite <- PrecipitationOccurenceMultiSiteModel(x=prec_mes,
#exogen=exogen,origin=origin,multisite_type="wilks")
#
#
#model_multisite_logit <- PrecipitationOccurenceMultiSiteModel(x=prec_mes,
#exogen=exogen,origin=origin,multisite_type="logit")
#
#
#probs_multimodel  <- predict(model_multisite_logit)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(RGENERATEPREC)
Loading required package: copula
Loading required package: RGENERATE
Loading required package: RMAWGEN
Loading required package: chron
Loading required package: date
Loading required package: vars
Loading required package: MASS
Loading required package: strucchange
Loading required package: zoo

Attaching package: 'zoo'

The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

Loading required package: sandwich
Loading required package: urca
Loading required package: lmtest

Attaching package: 'vars'

The following object is masked from 'package:copula':

    A

Loading required package: blockmatrix
Loading required package: Matrix
Loading required package: stringr

Attaching package: 'stringr'

The following object is masked from 'package:strucchange':

    boundary

> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/RGENERATEPREC/predict.Rd_%03d_medium.png", width=480, height=480)
> ### Name: predict.PrecipitationOccurenceModel
> ### Title: Prediction of a 'PrecipitationOccurenceModel' model object
> ### Aliases: predict predict.PrecipitationAmountModel
> ###   predict.PrecipitationOccurenceModel
> ###   predict.PrecipitationOccurenceMultiSiteModel
> 
> ### ** Examples
> 
> library(RGENERATEPREC)
> 
> data(trentino)
> 
> year_min <- 1961
> year_max <- 1990
> 
> period <- PRECIPITATION$year>=year_min & PRECIPITATION$year<=year_max
> period_temp <- TEMPERATURE_MAX$year>=year_min & TEMPERATURE_MAX$year<=year_max
> 
> prec_mes <- PRECIPITATION[period,]
> Tx_mes <- TEMPERATURE_MAX[period_temp,]
> Tn_mes <- TEMPERATURE_MIN[period_temp,]
> accepted <- array(TRUE,length(names(prec_mes)))
> names(accepted) <- names(prec_mes)
> for (it in names(prec_mes)) {
+ 	acc <- TRUE
+ 	acc <- (length(which(!is.na(Tx_mes[,it])))==length(Tx_mes[,it]))
+ 	acc <- (length(which(!is.na(Tn_mes[,it])))==length(Tn_mes[,it])) & acc
+ 	accepted[it]  <- (length(which(!is.na(prec_mes[,it])))==length(prec_mes[,it])) & acc
+ 
+ }
> 
> valmin <- 1.0
> prec_mes <- prec_mes[,accepted]
> 
> 
> 
> Tx_mes <- Tx_mes[,accepted]
> Tn_mes <- Tn_mes[,accepted]
> origin <- paste(year_min,1,1,sep="-")
> 
> 
> prec_occurence_mes <- prec_mes>=valmin
> 
> station <- names(prec_mes)[!(names(prec_mes) %in% c("day","month","year"))]
> it <- station[2]
> vect <- Tx_mes[,it]-Tn_mes[,it]
> months <- factor(prec_mes$month)
> model <- PrecipitationOccurenceModel(x=prec_mes[,it],exogen=vect,monthly.factor=months)
> 
> probs <- predict(model)
> 
> nday <- 3.0
> vect_new <- array(1.0,nday)
> months_new <- array(1,nday)
> row_test <- 2000:2007
> newdata <- model$predictor[row_test,]
> probs2 <- predict(model,newdata=newdata)
> 
> probs[row_test]==probs2
 2000  2001  2002  2003  2004  2005  2006  2007 
 TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE 
> ###
> 
> 
> 
> 
> 
> prec_occurence_mes <- prec_mes>=valmin
> 
> station <- names(prec_mes)[!(names(prec_mes) %in% c("day","month","year"))]
> 
> station <- station[1:4] ## reduced the dataset!!!
> Tx_mes <- Tx_mes[,station]
> Tn_mes <- Tn_mes[,station]
> 
> prec_mes <- prec_mes[,station]
> exogen <- Tx_mes-Tn_mes
> months <- factor(prec_mes$month)
> 
> 
> ### Not Run
> ### Please uncomment the following lines to run them
> 
> 
> #model_multisite <- PrecipitationOccurenceMultiSiteModel(x=prec_mes,
> #exogen=exogen,origin=origin,multisite_type="wilks")
> #
> #
> #model_multisite_logit <- PrecipitationOccurenceMultiSiteModel(x=prec_mes,
> #exogen=exogen,origin=origin,multisite_type="logit")
> #
> #
> #probs_multimodel  <- predict(model_multisite_logit)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>