cardioid {VGAM} | R Documentation |
Estimates the two parameters of the cardioid distribution by maximum likelihood estimation.
cardioid(lmu="elogit", lrho="elogit", emu=if(lmu=="elogit") list(min=0, max=2*pi) else list(), erho=if(lmu=="elogit") list(min=-0.5, max=0.5) else list(), imu=NULL, irho=0.3, nsimEIM=100, zero=NULL)
lmu, lrho |
Parameter link functions applied to the mu
and rho parameters, respectively.
See Links for more choices.
|
emu, erho |
List. Extra argument for each of the link functions.
See earg in Links for general information.
|
imu, irho |
Initial values.
A NULL means an initial value is chosen internally.
See CommonVGAMffArguments for more information.
|
nsimEIM, zero |
See CommonVGAMffArguments for more information.
|
The two-parameter cardioid distribution has a density that can be written as
f(y;mu,rho) = (1 + 2*rho*cos(y-mu)) / (2*pi)
where 0 < y < 2*pi, 0 < mu < 2*pi, and -0.5 < rho < 0.5 is the concentration parameter. The default link functions enforce the range constraints of the parameters.
For positive rho the distribution is unimodal and symmetric about mu. The mean of Y (which make up the fitted values) is pi + (rho/pi) ((2*pi-mu)*sin(2*pi-mu) + cos(2*pi-mu) - mu*sin(mu) - cos(mu)).
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
rrvglm
and vgam
.
Numerically, this distribution can be difficult to fit because of a
log-likelihood having multiple maxima.
The user is therefore encouraged to try different starting values,
i.e., make use of imu
and irho
.
Fisher scoring using simulation is used.
T. W. Yee
Jammalamadaka, S. R. and SenGupta, A. (2001) Topics in Circular Statistics, Singapore: World Scientific.
CircStats and circular currently have a lot more R functions for circular data than the VGAM package.
y = rcard(n=1000, mu=4, rho=0.45) fit = vglm(y ~ 1, cardioid, trace=TRUE) coef(fit, matrix=TRUE) Coef(fit) c(mean(y), fitted(fit)[1,]) summary(fit)