我正在使用 R 中的 earth 包研究 MARS 模型。我的数据集 ( CE.Rda
) 由一个因变量 ( D9_RTO_avg
) 和 10 个潜在预测变量 ( NDVI_l1
, NDVI_f0
, NDVI_f1
, NDVI_f2
, NDVI_f3
, LST_l1
, LST_f0
, LST_f1
, NDVI_f2
, NDVI_f3
) 组成。接下来,我向您展示我的数据集的头部
D9_RTO_avg NDVI_l1 NDVI_f0 NDVI_f1 NDVI_f2 NDVI_f3 LST_l1 LST_f0 LST_f1 LST_f2 LST_f3
2 1.866667 0.3082 0.3290 0.4785 0.4330 0.5844 38.25 30.87 31 21.23 17.92
3 2.000000 0.2164 0.2119 0.2334 0.2539 0.4686 35.7 29.7 28.35 21.67 17.71
4 1.200000 0.2324 0.2503 0.2640 0.2697 0.4726 40.13 33.3 28.95 22.81 16.29
5 1.600000 0.1865 0.2070 0.2104 0.2164 0.3911 43.26 35.79 30.22 23.07 17.88
6 1.800000 0.2757 0.3123 0.3462 0.3778 0.5482 43.99 36.06 30.26 21.36 17.93
7 2.700000 0.2265 0.2654 0.3174 0.2741 0.3590 41.61 35.4 27.51 23.55 18.88_
如下创建我的地球模型后
mymodel.mod <- earth(D9_RTO_avg ~ ., data=CE, nk=10)
我通过键入打印结果模型的摘要
print(summary(mymodel.mod, digits=2, style="pmax"))
我得到以下输出
D9_RTO_avg =
4.1
+ 38 * LST_f128.68
+ 6.3 * LST_f216.41
- 2.9 * pmax(0, 0.66 - NDVI_l1)
- 2.3 * pmax(0, NDVI_f3 - 0.23)
Selected 5 of 7 terms, and 4 of 13169 predictors
Termination condition: Reached nk 10
Importance: LST_f128.68, NDVI_l1, NDVI_f3, LST_f216.41, NDVI_f0-unused, NDVI_f1-unused, NDVI_f2-unused, ...
Number of terms at each degree of interaction: 1 4 (additive model)
GCV 2 RSS 4046 GRSq 0.29 RSq 0.29
我的问题是为什么地球在实际上是 10 个时识别 13169 个预测变量!?似乎 MARS 正在考虑将候选预测变量的单个观察结果作为预测变量本身。我怎样才能避免 MARS 这样做?
谢谢你的帮助