Estimating the parameter of the Husler-Reiss angular surface distribution by maximum likelihood estimation.

hurea(lshape = "loglink", zero = NULL, nrfs = 1,
      gshape = exp(3 * ppoints(5) - 1), parallel = FALSE)

Arguments

lshape, gshape

Details at CommonVGAMffArguments.

nrfs, zero, parallel

Details at CommonVGAMffArguments.

Details

The Husler-Reiss angular surface distribution has a probability density function that can be written $$f(y;s) = (s / (4 * sqrt(2*pi) * y(1-y)^2)) exp(-(2 + s^2 * logit y)^2 / [8 s^2])$$ for \(0<y<1\) and positive shape parameter \(s\). The mean of \(Y\) is currently unknown to me, as well as its quantiles. Hence \(s\) is currently returned as the fitted values. Fisher-scoring is implemented.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

References

Mhalla, L. and de Carvalho, M. and Chavez-Demoulin, V. (2019). Regression-type models for extremal dependence. Scandinavian Journal of Statistics, 46, 1141–1167.

Author

T. W. Yee

Note

This VGAM family function handles multiple responses. It may struggle and/or fail when \(s\) is close to 0. Some comments about “u”-shaped versus unimodal densities accommodated by this distribution are at dhurea.

See also

hurea.

Examples

nn <- 100; set.seed(1)
hdata <- data.frame(x2 = runif(nn))
hdata <-
  transform(hdata,  # Cannot generate proper random variates!
    y1 = rbeta(nn, shape1 = 0.5, shape2 = 0.5),  # "U" shaped
    y2 = rnorm(nn, 0.65, sd = exp(-3 - 4 * x2)))
# Multiple responses:
hfit <- vglm(cbind(y1, y2) ~ x2, hurea, hdata, trace = TRUE)
#> Iteration 1: loglikelihood = 73.813735
#> Iteration 2: loglikelihood = 74.08741
#> Iteration 3: loglikelihood = 74.087877
#> Iteration 4: loglikelihood = 74.087877
coef(hfit, matrix = TRUE)
#>             loglink(shape1) loglink(shape2)
#> (Intercept)       0.1754818      1.15637460
#> x2               -0.4697071      0.08442861
summary(hfit)
#> 
#> Call:
#> vglm(formula = cbind(y1, y2) ~ x2, family = hurea, data = hdata, 
#>     trace = TRUE)
#> 
#> Coefficients: 
#>               Estimate Std. Error z value Pr(>|z|)    
#> (Intercept):1  0.17548    0.09127   1.923  0.05451 .  
#> (Intercept):2  1.15637    0.14183   8.153 3.54e-16 ***
#> x2:1          -0.46971    0.14677  -3.200  0.00137 ** 
#> x2:2           0.08443    0.24425   0.346  0.72959    
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 
#> Names of linear predictors: loglink(shape1), loglink(shape2)
#> 
#> Log-likelihood: 74.0879 on 196 degrees of freedom
#> 
#> Number of Fisher scoring iterations: 4 
#> 
#> No Hauck-Donner effect found in any of the estimates
#>