Khedhaouiria Dikra
2015-Sep-16 21:50 UTC
[R] HELP ERROR WHEN USING GAMMA2 IN VGLM TO SET MU AS AN INTERCEPT
Hi everyone,
I'm trying to fit several models with the VGAM packages using the gamma2
function with an identity function link.
I have two vectors, x_m and y_m and I try to work on the model y_m~x_m.
My code is below, but I want to explain my problem first:
First, I took the default model proposed in vgml function (fit1 below), i.e.
shape as an intercept --> no problem
Then, I tried the model with zero=NULL (fit3 below), meaning that all parameters
are modelled as a function of the explanatory variables (x_m) --> again no
problem
Finally, I tried to model mu parameter as an intercept only , i.e. setting
zero=1, here my problems begin. In fact, I have the following error message:
VGLM linear loop 1 : loglikelihood = NaN
Error in if (take.half.step) { : missing value where TRUE/FALSE needed
In addition: Warning message:
In dgamma(x = y, shape = c(shapemat), scale = c(mymu/shapemat), :
production de NaN
I tried to change the initial value (inject estimated parameters of fit2 in
fit3) , the number of iteration, but nothing changed, always the same problem.
I tried other link functions (log), it worked but I really want to make it works
with the identity link.
Thank you so much!
Dikra
Here is my code:
# Empty the environnement
rm (list=ls())
#--- needed environnment
library(VGAM)
#------------ set the working directorty
pathWork <- "C:/mydata/"
setwd(pathWork)
#--------- load my data
dataXmodel <- read.table("x_m.txt")
dataYmodel <- read.table("y_m.txt")
# ------ set the data frame
xmodel <- dataXmodel$x
ymodel <- dataYmodel$x
gdata = data.frame(xmodel , ymodel)
#------------ fit 1
fit1 <- vglm(ymodel ~ xmodel, family = gamma2(lmu ="identitylink",
lshape="identitylink"),
trace = TRUE , data = gdata, na.action = "na.omit")
# identify potential initial values for next steps
CoefFit1 <- coef(fit1)
valinitial2 = c(CoefFit1, 0.01)
valinitial3 = c(CoefFit1[1], CoefFit1[2], 0.02)
# --------- fit 2
fit2 <- vglm(ymodel ~ xmodel, family = gamma2(lmu ="identitylink",
lshape="identitylink", zero = NULL),
trace = TRUE , data = gdata, na.action = "na.omit",
coefstart =valinitial2 )
# --------- fit 3
fit3 <- vglm(ymodel ~ xmodel, family = gamma2(lmu ="identitylink",
lshape="identitylink", zero = 1),
trace = TRUE , data = gdata, na.action = "na.omit" ,
coefstart = valinitial3 , maxit=60)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: x_m.txt
URL:
<https://stat.ethz.ch/pipermail/r-help/attachments/20150916/a073ab3d/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: y_m.txt
URL:
<https://stat.ethz.ch/pipermail/r-help/attachments/20150916/a073ab3d/attachment-0001.txt>
Rolf Turner
2015-Sep-17 01:33 UTC
[R] HELP ERROR WHEN USING GAMMA2 IN VGLM TO SET MU AS AN INTERCEPT
On 17/09/15 09:50, Khedhaouiria Dikra wrote:> Hi everyone, > > > I'm trying to fit several models with the VGAM packages using the > gamma2 function with an identity function link. ......<SNIP> For questions concerning a particular package it is usually best to contact the package maintainer (see maintainer("VGAM")) in the first instance. If you do not get a response from the maintainer, then address the R-help list. cheers, Rolf Turner -- Technical Editor ANZJS Department of Statistics University of Auckland Phone: +64-9-373-7599 ext. 88276