如何从 R 的多元样条回归构造一个方程?

问题描述

我有一个包含五个变量和一个依赖(结果)的数据集。数据看起来像这样。我有大约 400 行。

Result        E       S       A       P       U
1  1.478 594.9285 20.1841 43.9135 -0.0137 26.6003
2  2.192 595.6935 19.3381 44.7695 -0.0029 24.3531
3  2.453 595.6147 18.5576 46.9487  0.0152 26.4588
4  2.560 596.2093 17.0476 36.1352  0.0345 25.0307
5  2.468 595.1657 13.7379 13.6506  0.0753 31.4033
6  2.365 596.8336 13.2268  9.2305  0.0828 24.9807

经过一些试验,我发现带有变量 A 和 S 的样条模型效果最好。根据数据分布,我设置了这些结。

knotsS <- quantile(MasterFile1$S,p = c(0.25,0.5,0.75))
knotsA <- quantile(MasterFile1$A,0.75))

SplinesModel <- lm(Result ~ bs(A,knots=knotsA) + bs(S,knots=knotsS),data = Data)
summary(SplinesModel)

我可以看到这个结果。

Call:
lm(formula = Result ~ bs(A,knots = knotsA) + bs(S,knots = knotsS),data = Data)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.57666 -0.29348  0.05863  0.29638  1.24709 

Coefficients:
                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)             1.44576    0.33359   4.334 1.87e-05 ***
bs(A,knots = knotsA)1  1.75803    0.40137   4.380 1.53e-05 ***
bs(A,knots = knotsA)2 -0.41603    0.19005  -2.189  0.02918 *  
bs(A,knots = knotsA)3  1.13906    0.18650   6.107 2.46e-09 ***
bs(A,knots = knotsA)4 -0.70872    0.38614  -1.835  0.06721 .  
bs(A,knots = knotsA)5  0.06699    0.39630   0.169  0.86585    
bs(A,knots = knotsA)6  0.08684    0.20015   0.434  0.66461    
bs(S,knots = knotsS)1  0.37046    0.43912   0.844  0.39938    
bs(S,knots = knotsS)2  0.87102    0.29510   2.952  0.00335 ** 
bs(S,knots = knotsS)3 -0.55736    0.39260  -1.420  0.15651    
bs(S,knots = knotsS)4  0.87541    0.36134   2.423  0.01586 *  
bs(S,knots = knotsS)5  0.16582    0.33568   0.494  0.62160    
bs(S,knots = knotsS)6  0.28792    0.35590   0.809  0.41901    

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4724 on 389 degrees of freedom
Multiple R-squared:  0.451,Adjusted R-squared:  0.434 
F-statistic: 26.63 on 12 and 389 DF,p-value: < 2.2e-16

我想根据这些系数创建一个回归方程。我看到一些教程解释了如何使用样条结和系数为单变量模型创建方程,而不是为多元模型创建方程。甚至有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)