Goodness of fit of non-extreme marginal distributions
Diag_Non_Con_Trunc.Rd
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"
.
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)"
#>