Использование ограниченных сплайновых функций в многомерной регрессионной модели

#r #statistics #regression #linear-regression

Вопрос:

Я просто пытаюсь найти ответ на статистические/R вопросы, касающиеся использования сплайнов.

Я строил линейную модель, такую как показано ниже

 lm(imaging~bloodtest   age   sex   timetoblood  timetoimage, data=df)   

но обнаружили из остатков и изучения графика, что подгонка модели не велика, а представляет собой криволинейную зависимость.

Я хочу изучить использование ограничительных кубических сплайнов в регрессионной модели, но мне интересно, как это изучить? Все примеры, которые я могу найти, относятся к одномерным моделям на различных проработанных примерах, и мне интересно, как включить сплайны в многомерную модель?

Большое спасибо, Д

Ответ №1:

Я считаю, что ограниченный кубический сплайн (линейный в конечных точках) такой же, как естественный сплайн, реализованный как ns() в splines пакете («рекомендуемый» пакет, поэтому он поставляется с R).

Вы можете заменить любой или все непрерывные предикторы в вашей модели естественными сплайновыми терминами с соответствующим количеством степеней свободы (это решение, которое вы должны принять: см., например, Стратегии регрессионного моделирования Харрелла для руководства).

 library(splines) lm(imaging~ bloodtest   ns(age, 7)   sex   ns(timetoblood,7)   ns(timetoimage,7), data=df)  

Если вам нужны плавные условия взаимодействия, вам, возможно, потребуется перейти к mgcv пакету, который предлагает сглаживание тензорного продукта (и использует штрафные или регрессионные сплайны).