I hope someone could advise to interpret and report outputs of the multiple polynomial regression fit. I am trying to do a simple sensitivity analysis of an empirical threshold-based ecological model and possible interactions of different levels(change in thresholds). I have varied thresholds of 3 environmental variables +/- 1:3 levels (i.e. temperature thresh. was 10, and tested are values from 7 to 13), which are my predictors. The response is the area under empirically built ROC curve. I am not interested in prediction, only a simple inference.
I have already asked a question on the topic here, and as suggested tried polynomial fits, found 4th order to be the best, before 5th becomes looking line an overfit.
The formula:
rsm_fit <- lm(auc ~ poly( rh, h, t, degree = 4, raw = TRUE), data = cd_data)
The Output:
Call:
lm(formula = auc ~ poly(rh, h, t, degree = 4, raw = TRUE), data = cd_data)
Residuals:
Min 1Q Median 3Q Max
-0.060750 -0.012905 0.000603 0.015137 0.056616
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.782e-01 4.695e-03 165.771 < 2e-16 ***
poly(rh, h, t, degree = 4, raw = TRUE)1.0.0 -3.112e-02 1.903e-03 -16.354 < 2e-16 ***
poly(rh, h, t, degree = 4, raw = TRUE)2.0.0 -9.219e-03 1.578e-03 -5.842 1.31e-08 ***
poly(rh, h, t, degree = 4, raw = TRUE)3.0.0 8.417e-04 2.165e-04 3.888 0.000124 ***
poly(rh, h, t, degree = 4, raw = TRUE)4.0.0 5.150e-04 1.495e-04 3.444 0.000653 ***
poly(rh, h, t, degree = 4, raw = TRUE)0.1.0 -2.116e-02 1.903e-03 -11.121 < 2e-16 ***
poly(rh, h, t, degree = 4, raw = TRUE)1.1.0 -1.291e-04 1.166e-03 -0.111 0.911857
poly(rh, h, t, degree = 4, raw = TRUE)2.1.0 9.978e-04 1.736e-04 5.749 2.16e-08 ***
poly(rh, h, t, degree = 4, raw = TRUE)3.1.0 6.149e-05 1.082e-04 0.568 0.570355
poly(rh, h, t, degree = 4, raw = TRUE)0.2.0 -4.097e-03 1.578e-03 -2.596 0.009881 **
poly(rh, h, t, degree = 4, raw = TRUE)1.2.0 2.031e-03 1.736e-04 11.704 < 2e-16 ***
poly(rh, h, t, degree = 4, raw = TRUE)2.2.0 -2.796e-05 1.002e-04 -0.279 0.780425
poly(rh, h, t, degree = 4, raw = TRUE)0.3.0 3.573e-04 2.165e-04 1.651 0.099842 .
poly(rh, h, t, degree = 4, raw = TRUE)1.3.0 1.278e-04 1.082e-04 1.181 0.238584
poly(rh, h, t, degree = 4, raw = TRUE)0.4.0 1.925e-04 1.495e-04 1.287 0.199099
poly(rh, h, t, degree = 4, raw = TRUE)0.0.1 1.258e-02 1.903e-03 6.610 1.70e-10 ***
poly(rh, h, t, degree = 4, raw = TRUE)1.0.1 -6.130e-03 1.166e-03 -5.258 2.72e-07 ***
poly(rh, h, t, degree = 4, raw = TRUE)2.0.1 1.000e-03 1.736e-04 5.762 2.02e-08 ***
poly(rh, h, t, degree = 4, raw = TRUE)3.0.1 7.179e-05 1.082e-04 0.663 0.507630
poly(rh, h, t, degree = 4, raw = TRUE)0.1.1 -4.512e-03 1.166e-03 -3.871 0.000132 ***
poly(rh, h, t, degree = 4, raw = TRUE)1.1.1 4.167e-04 1.503e-04 2.772 0.005906 **
poly(rh, h, t, degree = 4, raw = TRUE)2.1.1 7.520e-06 8.678e-05 0.087 0.931003
poly(rh, h, t, degree = 4, raw = TRUE)0.2.1 1.569e-04 1.736e-04 0.904 0.366647
poly(rh, h, t, degree = 4, raw = TRUE)1.2.1 2.741e-04 8.678e-05 3.159 0.001742 **
poly(rh, h, t, degree = 4, raw = TRUE)0.3.1 2.396e-04 1.082e-04 2.214 0.027573 *
poly(rh, h, t, degree = 4, raw = TRUE)0.0.2 -3.751e-03 1.578e-03 -2.377 0.018065 *
poly(rh, h, t, degree = 4, raw = TRUE)1.0.2 1.948e-04 1.736e-04 1.122 0.262578
poly(rh, h, t, degree = 4, raw = TRUE)2.0.2 2.254e-04 1.002e-04 2.249 0.025209 *
poly(rh, h, t, degree = 4, raw = TRUE)0.1.2 -3.510e-04 1.736e-04 -2.022 0.044016 *
poly(rh, h, t, degree = 4, raw = TRUE)1.1.2 1.239e-04 8.678e-05 1.427 0.154456
poly(rh, h, t, degree = 4, raw = TRUE)0.2.2 -1.581e-05 1.002e-04 -0.158 0.874731
poly(rh, h, t, degree = 4, raw = TRUE)0.0.3 -1.247e-03 2.165e-04 -5.760 2.04e-08 ***
poly(rh, h, t, degree = 4, raw = TRUE)1.0.3 3.431e-04 1.082e-04 3.170 0.001678 **
poly(rh, h, t, degree = 4, raw = TRUE)0.1.3 2.584e-05 1.082e-04 0.239 0.811448
poly(rh, h, t, degree = 4, raw = TRUE)0.0.4 2.327e-04 1.495e-04 1.556 0.120655
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.02227 on 308 degrees of freedom
Multiple R-squared: 0.8811, Adjusted R-squared: 0.868
F-statistic: 67.12 on 34 and 308 DF, p-value: < 2.2e-16
Some of the interactions are not significant. Should they be removed? I have tried to look for an answer on this without any luck.
to plot the surface I used:
persp(rsm_fit, ~ h + t,zlab = "AUROC",at = data.frame(t = 0, rh = -3, h = 0 ), col = color, zlim = c(z_min,z_max),theta = 50, phi = 10, shade = .2)
Is there a recomendation for more customisable way to plot 3D surface than current.