TransWikia.com

Computing GLM Relativities from Spline Regression

Cross Validated Asked by Jordan on September 8, 2020

I’m wondering if someone can assist me in extracting GLM relativities when using splines? I have searched CV and cannot find an easily understandable answer.

Here is some code in R (my apologies as I do not know python).

#load segemented package for plant data
library(segmented)
#load splines package
library(splines)

#get data
data <- data("plant")

#run GLM and get summary
glm_model <- glm(y ~ time, data = plant)
summary(glm_model)


#add spline and get summary
glm_model2 <- glm(y ~ bs(time, degree = 1, knots = c(366.5)), data = plant)
summary(glm_model2)

Here is the summary from the splines model.

Call:
glm(formula = y ~ bs(time, degree = 1, knots = c(366.5)), data = plant)

Deviance Residuals:

Min 1Q Median 3Q Max
-0.37187 -0.15317 0.05867 0.12065 0.23452

Coefficients:

Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.36133 0.04236 8.529 1.63e-13 ***

bs(time, degree = 1, knots = c(366.5))1 0.48467 0.05794 8.365 3.71e-13 ***

bs(time, degree = 1, knots = c(366.5))2 0.42415 0.05469 7.756 7.59e-12 ***

How would I convert the polynomial coeefficients in the spline summary to actual GLM relativities? It doesn’t need to be in R if someone can explain the math but if anyone has an R example, that would be great!

One Answer

By "relative" do you mean "relative risk"? If so, this question doesn't have a simple answer, since it will be different for different values of $x$ (time). You can do this empirically for two values of time. Something like this should work:

pred1 <- predict(glm_model, data.frame(time = whatever1), type = 'response') pred2 <- predict(glm_model, data.frame(time = whatever2), type = 'response') relative_risk <- pred1 / pred2

Answered by Tim Atreides on September 8, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP