[R] variance explained by each predictor in GAM

David Winsemius dwinsemius at comcast.net
Mon Jul 13 17:16:25 CEST 2009


It appears you are conflating beta coefficients (individual covariate  
effect measures) with overall model fit measures. Beta coefficients  
are not directly comparable to R-squared measures in ordinary least  
squares analyses, so why would they be so in gam models?

I cannot tell whether you actually looked at anova.gam or consulted  
Wood's book (which is really the better place to go for advice  
regarding mgcv function questions. You were offered an apportioned F- 
statistic for each covariate smooth. How was that not satisfactory?  
What is your goal in this search?

-- 
DW

-- 
On Jul 13, 2009, at 10:09 AM, Kayce Anderson wrote:

> Many thanks for the advice David. I would really like to figure out,  
> though, how to get the contribution of each factor to the Rsq -  
> something like a Beta coefficient for GAM.   Ideas?
>
> KC
>
> On Sun, Jul 12, 2009 at 5:41 PM, David Winsemius <dwinsemius at comcast.net 
> > wrote:
>
> On Jul 12, 2009, at 5:06 PM, Kayce Anderson wrote:
>
> Hi,
> I am using mgcv:gam and have developed a model with 5 smoothed  
> predictors
> and one factor.
>
> gam1 <- gam(log.sp~ s(Spr.precip,bs="ts")  + s(Win.precip,bs="ts") +  
> s(
> Spr.Tmin,bs="ts")  + s(P.sum.Tmin,bs="ts") + s( Win.Tmax,bs="ts")
> +factor(site),data=dat3)
>
>
> The total deviance explained = 70.4%.
>
>
> I would like to extract the variance explained by each predictor.

You may need to define your terms and there may not be an analog
> Is there
> a straightforward way to do this?  I have tried dropping a term and
> recalculating the model, but the edf's change if there is any  
> correlation
> among variables, thereby making all of the relationships different.  I
> haven't yet figured out how to fix the smoothing terms- I get syntax  
> error
> messages.  Among other variations, I tried, for example,
> log.sp~s(Spr.precip, sp=3.9, fx=TRUE) +...
>
>
>
> ?anova.gam
>
> Obviously I cannot test this with your dat3. You get an F-statistic  
> for each s() term by default and you are referred to saummary.gam  
> for further explanation.
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>
>

David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list