Skip to contents

Fits ten (truncated) non-extreme marginal distributions to a dataset and returns three plots demonstrating their relative goodness of fit. The distributions are the Birnbaum-Saunders "BS", exponential "Exp", two-parameter gamma "Gam(2)", three-parameter gamma "Gam(3)", mixed two-parameter gamma "GamMix(2)", mixed three-parameter gamma "GamMix(3)", lognormal "LNorm", truncated normal "TNorm", Tweedie "Twe" and the Weibull "Weib".

Usage

Diag_Non_Con_Trunc(
  Data,
  Omit = NA,
  x_lab = "Data",
  y_lim_min = 0,
  y_lim_max = 1
)

Arguments

Data

Numeric vector containing realizations of the variable of interest.

Omit

Character vector specifying any distributions that are not to be tested. Default "NA", all distributions are fit.

x_lab

Character vector of length one specifying the label on the x-axis of histogram and cumulative distribution plot.

y_lim_min

Numeric vector of length one specifying the lower y-axis limit of the histogram. Default is 0.

y_lim_max

Numeric vector of length one specifying the upper y-axis limit of the histogram. Default is 1.

Value

Dataframe $AIC giving the AIC associated with each distribution and the name of the best fitting distribution $Best_fit. Panel consisting of three plots. Upper plot: Plot depicting the AIC of the ten fitted distributions. Middle plot: Probability Density Functions (PDFs) of the fitted distributions superimposed on a histogram of the data. Lower plot: Cumulative Distribution Functions (CDFs) of the fitted distributions overlaid on a plot of the empirical CDF.

Examples

S20.OsWL<-Con_Sampling_2D(Data_Detrend=S20.Detrend.df[,-c(1,4)],
                         Data_Declust=S20.Detrend.Declustered.df[,-c(1,4)],
                         Con_Variable="OsWL",Thres=0.97)
S20.OsWL$Data$Rainfall <- S20.OsWL$Data$Rainfall + runif(length(S20.OsWL$Data$Rainfall),0.001,0.01)
Diag_Non_Con_Trunc(Data=S20.OsWL$Data$Rainfall,x_lab="Rainfall (Inches)",
                   y_lim_min=0,y_lim_max=2)
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: Algorithm RS has not yet converged
#> Warning: non-list contrasts argument ignored
#> Warning: glm.fit: algorithm did not converge
#> Warning: glm.fit: algorithm did not converge
#> Warning: glm.fit: algorithm did not converge
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced

#> $AIC
#>   Distribution       AIC
#> 1           BS -43631.04
#> 2          Exp -16577.55
#> 3       Gam(2) -34997.87
#> 4       Gam(3) -45723.42
#> 5        LNorm -41868.49
#> 6        TNorm  15391.87
#> 7          Twe -41229.25
#> 8         Weib -38180.90
#> 
#> $Best_fit
#> [1] "Gam(3)"
#>