Maximum likelihood estimation of the five parameters of a bivariate normal distribution.
binormal(lmean1 = "identitylink", lmean2 = "identitylink",
lsd1 = "loglink", lsd2 = "loglink",
lrho = "rhobitlink",
imean1 = NULL, imean2 = NULL,
isd1 = NULL, isd2 = NULL,
irho = NULL, imethod = 1,
eq.mean = FALSE, eq.sd = FALSE,
zero = c("sd", "rho"))
Link functions applied to the means, standard deviations and
rho
parameters.
See Links
for more choices.
Being positive quantities, a log link is the default for the
standard deviations.
See CommonVGAMffArguments
for more information.
Logical or formula. Constrains the means or the standard deviations to be equal.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
This function may be renamed to normal2()
or something like that
at a later date.
For the bivariate normal distribution,
this fits a linear model (LM) to the means, and
by default,
the other parameters are intercept-only.
The response should be a two-column matrix.
The correlation parameter is rho
,
which lies between rhobitlink
link is a reasonable choice).
The fitted means are returned as the fitted values, which is in
the form of a two-column matrix.
Fisher scoring is implemented.
uninormal
,
trinormal
,
pbinorm
,
bistudentt
.
# NOT RUN {
set.seed(123); nn <- 1000
bdata <- data.frame(x2 = runif(nn), x3 = runif(nn))
bdata <- transform(bdata, y1 = rnorm(nn, 1 + 2 * x2),
y2 = rnorm(nn, 3 + 4 * x2))
fit1 <- vglm(cbind(y1, y2) ~ x2,
binormal(eq.sd = TRUE), data = bdata, trace = TRUE)
coef(fit1, matrix = TRUE)
constraints(fit1)
summary(fit1)
# Estimated P(Y1 <= y1, Y2 <= y2) under the fitted model
var1 <- loglink(2 * predict(fit1)[, "loglink(sd1)"], inverse = TRUE)
var2 <- loglink(2 * predict(fit1)[, "loglink(sd2)"], inverse = TRUE)
cov12 <- rhobitlink(predict(fit1)[, "rhobitlink(rho)"], inverse = TRUE)
head(with(bdata, pbinorm(y1, y2,
mean1 = predict(fit1)[, "mean1"],
mean2 = predict(fit1)[, "mean2"],
var1 = var1, var2 = var2, cov12 = cov12)))
# }
Run the code above in your browser using DataLab