I have a plot of a GAM which models deforestation severity.

Component smooth functions of a GAM

The explanatory variables are transformed, with log10, inverse, and square root. Is it meaningful to interpret a gradient like this: 'Deforestation severity increases as log10(Distance to forest edge) increases' or 'Deforestation severity increases as distance to forest edge increases' for plot e (note, the lower the value of the y axis the greater the deforestation severity). If not, how could I plot the component smooth functions untransformed?

  • 1
    $\begingroup$ Do you mean plot e, not plot c, when you refer to "distance to forest edge increases"? $\endgroup$ Sep 2, 2012 at 20:13
  • 1
    $\begingroup$ Your question about "how could I plot the component smooth functions untransformed" is a question for your particular software. It looks a bit like R but could you confirm what you are using. There's no conceptual difficulty - you just reverse the transformation for the purpose of the plot. Arguably this is not a statistical question, but because it is related to interpretation however I think it is still on-topic for CV. $\endgroup$ Sep 2, 2012 at 20:18
  • $\begingroup$ Yes, I did mean e, thanks. Yes, this modelling is done using R. The difficulty of reversing the transformations is that these plots are produced using the plot.gam function in the mgcv package. It uses the variables from the model to plot the smooth components. If I were to model the untransformed data and then plot that, would the smoothes be comparable to the transformed data? $\endgroup$
    – gisol
    Sep 2, 2012 at 21:25
  • $\begingroup$ At the moment, I have described things like this: "This trend is reflected in Figure 4.5e, where the log10 of distance to forest edge shows an initially flat relationship with deforestation severity, until it drops sharply, suggesting core forest away from the fringes of the forest patch is susceptible to severe deforestation." So I acknowledge the transformation, and mentally untransform the data to interpret the trends. $\endgroup$
    – gisol
    Sep 2, 2012 at 21:26
  • 2
    $\begingroup$ Hi, sorry I don't have time to do a proper answer but no, if you modelled the untransformed data and then plotted that it would not give you the same results. You need to somehow extract the numeric results from plot.gam and then reverse transform them. $\endgroup$ Sep 2, 2012 at 22:12

1 Answer 1


You can transform the graph by changing trans in plot.gam(..., trans = I, ...) to something else instead of I, for example the inverses of the functions you mentioned.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.