Бібліотека сплайнів має функції, bs
і ns
це створить основу сплайну для використання з lm
функцією, тоді ви можете встановити лінійну модель і модель, що включає сплайни, і використовувати anova
функцію для повного і зменшеного тестування моделі, щоб побачити, чи відповідає модель сплайну значно краще ніж лінійна модель.
Ось приклад коду:
x <- rnorm(1000)
y <- sin(x) + rnorm(1000, 0, 0.5)
library(splines)
fit1 <- lm(y~x)
fit0 <- lm(y~1)
fit2 <- lm(y~bs(x,5))
anova(fit1,fit2)
anova(fit0,fit2)
plot(x,y, pch='.')
abline(fit1, col='red')
xx <- seq(min(x),max(x), length.out=250)
yy <- predict(fit2, data.frame(x=xx))
lines(xx,yy, col='blue')
Ви також можете скористатися poly
функцією, щоб зробити поліномічну підгонку та перевірити нелінійні доданки як тест кривизни.
Для льосу підійде трохи складніше. Існують деякі оцінки еквівалентних ступенів свободи для параметра згладжування льосу, які можуть бути використані разом зі значеннями для лінійної та льосової моделей для побудови та тестування F. Я думаю, що методи, засновані на тестах завантаження та перестановки, можуть бути більш інтуїтивними.R2
Існують методи обчислення та побудови інтервалу довіри для льосового пристосування (я думаю, що в пакет ggplot2 може бути вбудований спосіб). Ви можете побудувати діапазон довіри і побачити, чи пряма лінія підходитиме до діапазону (це не є р-значенням, але все ж дає так / ні.
Ви можете підходити до лінійної моделі і приймати залишки і підходити до льосової моделі для залишків як відповідь (і змінну, що цікавить, як прогноктор), якщо справжня модель є лінійною, то ця відповідність повинна бути близькою до плоскої лінії та упорядковувати точки відносно прогноктора не повинно змінювати жодних змін. Ви можете використовувати це для створення тесту на перестановку. Підійдіть до льосу, знайдіть передбачуване значення, найдальше від 0, тепер випадковим чином перестановіть точки та встановіть новий лес і знайдіть найбільш віддалену передбачувану точку від 0, повторіть купу разів, р-значення - це частка перестановлених значень, які надалі від 0, ніж початкове значення.
Ви також можете розглянути перехресну перевірку як метод вибору пропускної здатності льосу. Це не дає p-значення, але нескінченна пропускна здатність відповідає ідеальній лінійній моделі, якщо перехресна перевірка передбачає дуже велику пропускну здатність, то те, що дозволяє припустити, що лінійна модель може бути розумною, якщо більш високі смуги пропускання явно поступаються деяким менша пропускна здатність, то це говорить про певну кривизну, а лінійна недостатня.