[R-sig-ME] Unable to standardize glmmADMB global model
Ben Bolker
bbolker at gmail.com
Thu Aug 18 15:16:44 CEST 2016
Hmm. Can you send me a reproducible example?
On Thu, Aug 18, 2016 at 9:11 AM, Aoibheann Gaughran <gaughra at tcd.ie> wrote:
>> names(std_data)
> [1] "field_count" "month_fix" "num_fields" "field_id"
> "animal" "soc_grp" "habitat"
> [8] "habitat2" "monyear" "mon" "season_wt"
> "season" "month" "year"
> [15] "sex" "age" "ageclass" "soil"
> "slope" "elevation" "aspect"
> [22] "NSEW" "origarea" "newarea" "HRNewArea"
> "HabNewArea" "PropAvlHab" "origperim"
> [29] "newperim" "propHRfield" "percentHRfield" "PropHabfield"
> "percentHabfield" "field_use" "slopescale"
> [36] "aspectscale" "z.month_fix" "z.num_fields" "z.slope"
> "z.origarea" "z.PropAvlHab"
>
>
> On 18 August 2016 at 14:07, Ben Bolker <bbolker at gmail.com> wrote:
>>
>>
>> what's the results of names(std_data) ?
>>
>> On 16-08-18 09:05 AM, Aoibheann Gaughran wrote:
>> > Hi Ben,
>> >
>> > I've manually scaled and centered the continuous variables, and just
>> > scaled the offset terms. However, I now get the following error message
>> > when I attempt to run the model, which appears to related to a
>> > subsetting issue?
>> >
>> > Error in `[.data.frame`(cor_dat, start_pos + (1:x$npar), start_pos + 4 +
>> > :
>> > undefined columns selected
>> >
>> > The revised global model is specified as follows:
>> >
>> > stdmod12d <- glmmadmb(field_count ~ habitat #categorical
>> > + season_wt #cat
>> > + sex #cat
>> > + ageclass #cat
>> > + z.slope #continuous, scaled and centred
>> > + NSEW #cat
>> > + z.month_fix #continuous, scaled and centred
>> > + z.num_fields #continuous, scaled and centred
>> > + habitat:ageclass
>> > + habitat:sex
>> > + offset(log(z.origarea)) #scaled
>> > + offset(log(z.PropAvlHab)) #scaled
>> > +(1|animal) #repeated obs from same individual
>> > +(1|field_id) #repeated obs in same field
>> > ,
>> > family="nbinom",
>> > zeroInflation=TRUE,
>> > admb.opts=admbControl(shess=FALSE,noinit=FALSE),
>> > debug=TRUE,
>> > data = std_data)
>> >
>> > On 16 August 2016 at 12:55, Ben Bolker <bbolker at gmail.com
>> > <mailto:bbolker at gmail.com>> wrote:
>> >
>> > You can *scale* the offsets if you like, i.e. change them by a
>> > multiplicative factor (thus changing the effective area unit for
>> > which
>> > you were modeling counts), but *centering* them doesn't make sense
>> > --
>> > as you've noticed.
>> >
>> > On Tue, Aug 16, 2016 at 7:40 AM, Aoibheann Gaughran <gaughra at tcd.ie
>> > <mailto:gaughra at tcd.ie>> wrote:
>> > > Hi Ben,
>> > >
>> > > Im proceeding by standardizing by hand. However, I need to
>> > include offsets
>> > > in my model for origarea and PropAvlHab i.e.
>> > offset(log(z.origarea)) but
>> > > logging the standardized varible produced NaNs due to the presence
>> > of
>> > > negative numbers, ditto with z.PropAvlHab. Is there a way around
>> > this? Do I
>> > > need to also standardize the offset terms or can I leave them in
>> > their
>> > > unstandardized form?
>> > >
>> > > Many thanks,
>> > >
>> > > Aoibheann
>> > >
>> > > On 15 August 2016 at 15:47, Ben Bolker <bbolker at gmail.com
>> > <mailto:bbolker at gmail.com>> wrote:
>> > >>
>> > >> Hmm. Surprising/hard to diagnose.
>> > >>
>> > >> 'standardize' doesn't do anything very fancy - it standardizes
>> > the
>> > >> input variables as described by ?arm::standardize and *refits*
>> > the
>> > >> model (I've always been a little disappointed that it doesn't
>> > >> standardize by figuring out how to transform the *parameters*,
>> > which
>> > >> is straightforward in principle although it can be tricky to
>> > figure
>> > >> out how to deal with input variables that lead to multiple
>> > predictor
>> > >> variables, e.g. polynomials). I'd be curious to know what's
>> > going on,
>> > >> but in your place I would
>> > >>
>> > >> (1) try standardizing by hand, e.g.
>> > >>
>> > >> std_data <- transform(data,
>> > >> z.season.wt = scale(season.wt),
>> > >> ...)
>> > >>
>> > >> and refit yourself.
>> > >>
>> > >> (2) see if it happens to work with glmmTMB (a simple example
>> > does).
>> > >>
>> > >> Ben Bolker
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> On Mon, Aug 15, 2016 at 10:37 AM, Aoibheann Gaughran
>> > <gaughra at tcd.ie <mailto:gaughra at tcd.ie>>
>> > >> wrote:
>> > >> > Thanks Ben, I ran the code and got the following error and
>> > warnings:-
>> > >> >
>> > >> > Error in glmmadmb(formula = field_count ~ habitat + season_wt +
>> > c.sex +
>> > >> > :
>> > >> > rank of X = 16 < ncol(X) = 24
>> > >> > In addition: Warning messages:
>> > >> > 1: In log(z.PropAvlHab) : NaNs produced
>> > >> > 2: In glmmadmb(formula = field_count ~ habitat + season_wt +
>> > c.sex + :
>> > >> > NAs removed in constructing fixed-effect model frame: you
>> > should
>> > >> > probably
>> > >> > remove them manually, e.g. with na.omit()
>> > >> >
>> > >> >
>> > >> > The original PropAvlHab summary is as follows:-
>> > >> >
>> > >> >> summary(dframe1$PropAvlHab)
>> > >> > Min. 1st Qu. Median Mean 3rd Qu. Max.
>> > >> > 0.0000123 0.1123000 0.4041000 0.4078000 0.6818000 1.0000000
>> > >> >
>> > >> > Aoibheann
>> > >> >
>> > >> >
>> > >> >
>> > >> > On 15 August 2016 at 15:12, Ben Bolker <bbolker at gmail.com
>> > <mailto:bbolker at gmail.com>> wrote:
>> > >> >>
>> > >> >> 'standardize' is a function from the arm package.
>> > >> >>
>> > >> >> I've just hacked glmmADMB a little bit so this should work:
>> > >> >>
>> > >> >> library(devtools)
>> > >> >> install_github("bbolker/glmmADMB") ## install latest version
>> > >> >> library(arm)
>> > >> >> arm:::standardize.default(fitted_model$call)
>> > >> >>
>> > >> >>
>> > >> >>
>> > >> >> On Mon, Aug 15, 2016 at 5:06 AM, Aoibheann Gaughran
>> > <gaughra at tcd.ie <mailto:gaughra at tcd.ie>>
>> > >> >> wrote:
>> > >> >> > Hello Mixed-Modellers,
>> > >> >> >
>> > >> >> > I have getting the following error message when trying to
>> > standardize
>> > >> >> > my
>> > >> >> > global glmmadmb model for dredging:
>> > >> >> >
>> > >> >> > Error in (function (classes, fdef, mtable) : unable to find
>> > an
>> > >> >> > inherited
>> > >> >> > method for function ‘standardize’ for signature ‘"glmmadmb"’
>> > >> >> >
>> > >> >> > Is it not possible to standardise a glmmadmb model or is the
>> > problem
>> > >> >> > with
>> > >> >> > the structure of the model itself?
>> > >> >> >
>> > >> >> > globalmod <- glmmadmb(field_count ~ habitat
>> > >> >> > #categorical - 7 levels
>> > >> >> > + season_wt
>> > >> >> > #categorial - 3
>> > levels
>> > >> >> > + sex
>> > >> >> > #categorial -
>> > 2 levels
>> > >> >> > + ageclass
>> > >> >> > #categorial - 3
>> > levels
>> > >> >> > + slope
>> > >> >> > #continuous,
>> > not scaled
>> > >> >> > nor
>> > >> >> > centred
>> > >> >> > + NSEW
>> > >> >> > #catagorical - 4
>> > levels
>> > >> >> > + month_fix
>> > >> >> > #continuous, not
>> > scaled nor
>> > >> >> > centred,
>> > >> >> > + num_fields
>> > >> >> > #continuous, not scaled nor centred
>> > >> >> > + habitat:ageclass
>> > >> >> > + habitat:sex
>> > >> >> > + offset(log(origarea))
>> > >> >> > + offset(log(PropAvlHab))
>> > >> >> > +(1|individual_id)
>> > >> >> > #repeated obs
>> > from same
>> > >> >> > individual
>> > >> >> > +(1|field_id)
>> > >> >> > #repeated obs
>> > in same
>> > >> >> > field,
>> > >> >> > family="nbinom",
>> > >> >> > zeroInflation=TRUE,
>> > >> >> >
>> > admb.opts=admbControl(shess=FALSE,noinit=FALSE),
>> > >> >> > debug=TRUE,
>> > >> >> > data = dframe1)
>> > >> >> >
>> > >> >> > no of observations =9220
>> > >> >> >
>> > >> >> > Many thanks,
>> > >> >> >
>> > >> >> > --
>> > >> >> > Aoibheann Gaughran
>> > >> >> >
>> > >> >> > Behavioural and Evolutionary Ecology Research Group
>> > >> >> > Zoology Building
>> > >> >> > School of Natural Sciences
>> > >> >> > Trinity College Dublin
>> > >> >> > Dublin 2
>> > >> >> > Ireland
>> > >> >> > Phone: +353 (86) 3812615
>> > >> >> >
>> > >> >> > [[alternative HTML version deleted]]
>> > >> >> >
>> > >> >> > _______________________________________________
>> > >> >> > R-sig-mixed-models at r-project.org
>> > <mailto:R-sig-mixed-models at r-project.org> mailing list
>> > >> >> > https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>> > <https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models>
>> > >> >
>> > >> >
>> > >> >
>> > >> >
>> > >> > --
>> > >> > Aoibheann Gaughran
>> > >> >
>> > >> > Behavioural and Evolutionary Ecology Research Group
>> > >> > Zoology Building
>> > >> > School of Natural Sciences
>> > >> > Trinity College Dublin
>> > >> > Dublin 2
>> > >> > Ireland
>> > >> > Phone: +353 (86) 3812615 <tel:%2B353%20%2886%29%203812615>
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > > Aoibheann Gaughran
>> > >
>> > > Behavioural and Evolutionary Ecology Research Group
>> > > Zoology Building
>> > > School of Natural Sciences
>> > > Trinity College Dublin
>> > > Dublin 2
>> > > Ireland
>> > > Phone: +353 (86) 3812615 <tel:%2B353%20%2886%29%203812615>
>> >
>> >
>> >
>> >
>> > --
>> > Aoibheann Gaughran
>> >
>> > Behavioural and Evolutionary Ecology Research Group
>> > Zoology Building
>> > School of Natural Sciences
>> > Trinity College Dublin
>> > Dublin 2
>> > Ireland
>> > Phone: +353 (86) 3812615
>
>
>
>
> --
> Aoibheann Gaughran
>
> Behavioural and Evolutionary Ecology Research Group
> Zoology Building
> School of Natural Sciences
> Trinity College Dublin
> Dublin 2
> Ireland
> Phone: +353 (86) 3812615
More information about the R-sig-mixed-models
mailing list