Methods: This explores burn severity ratio mapping based on WorldView-3 near-infrared and shortwave infrared imagery and bands using single linear regression. Pre-fire images from December and post-fire images from April are used to create normalized burn ratios. This is done by creating 10 different combinations of the near infared (7-8) and shortwave bands (12-16). The RMSE and R-squared metrics are then calculated for each of the 10 models.
Burn Severity Band Ratios
ratio1 <- ((data$Dc.B7 - data$Dc.B12)/(data$Dc.B7 + data$Dc.B12)) - ((data$Ap.B7-data$Ap.B12)/(data$Ap.B7+ data$Ap.B12))
r1 <- lm(ratio1 ~ Total, data = data)
ratio2 <- ((data$Dc.B7 - data$Dc.B13)/(data$Dc.B7 + data$Dc.B13)) - ((data$Ap.B7-data$Ap.B13)/(data$Ap.B7+ data$Ap.B13))
r2 <- lm(ratio2 ~ Total, data = data)
ratio3 <- ((data$Dc.B7 - data$Dc.B14)/(data$Dc.B7 + data$Dc.B14)) - ((data$Ap.B7-data$Ap.B14)/(data$Ap.B7+ data$Ap.B14))
r3 <- lm(ratio3 ~ Total, data = data)
ratio4 <- ((data$Dc.B7 - data$Dc.B15)/(data$Dc.B7 + data$Dc.B15)) - ((data$Ap.B7-data$Ap.B15)/(data$Ap.B7+ data$Ap.B15))
r4 <- lm(ratio4 ~ Total, data = data)
ratio5 <- ((data$Dc.B7 - data$Dc.B16)/(data$Dc.B7 + data$Dc.B16)) - ((data$Ap.B7-data$Ap.B16)/(data$Ap.B7+ data$Ap.B16))
r5 <- lm(ratio5 ~ Total, data = data)
ratio6 <- ((data$Dc.B8 - data$Dc.B12)/(data$Dc.B8 + data$Dc.B12)) - ((data$Ap.B8-data$Ap.B12)/(data$Ap.B8+ data$Ap.B12))
r6 <- lm(ratio6 ~ Total, data = data)
ratio7 <- ((data$Dc.B8 - data$Dc.B13)/(data$Dc.B8 + data$Dc.B13)) - ((data$Ap.B8-data$Ap.B13)/(data$Ap.B8+ data$Ap.B13))
r7 <- lm(ratio7 ~ Total, data = data)
ratio8 <- ((data$Dc.B8 - data$Dc.B14)/(data$Dc.B8 + data$Dc.B14)) - ((data$Ap.B8-data$Ap.B14)/(data$Ap.B8+ data$Ap.B14))
r8 <- lm(ratio8 ~ Total, data = data)
ratio9 <- ((data$Dc.B8 - data$Dc.B15)/(data$Dc.B8 + data$Dc.B15)) - ((data$Ap.B8-data$Ap.B15)/(data$Ap.B8+ data$Ap.B15))
r9 <- lm(ratio9 ~ Total, data = data)
ratio10 <-((data$Dc.B8 - data$Dc.B16)/(data$Dc.B8 + data$Dc.B16)) - ((data$Ap.B8-data$Ap.B16)/(data$Ap.B8+ data$Ap.B16))
r_10 <- lm(ratio10 ~ Total, data = data)
RMSE and R-Squared
r1$rmse <- rmse(ratio1, r1$fitted.values)
r2$rmse <- rmse(ratio2, r2$fitted.values)
r3$rmse <- rmse(ratio3, r3$fitted.values)
r4$rmse <- rmse(ratio4, r4$fitted.values)
r5$rmse <- rmse(ratio5, r5$fitted.values)
r6$rmse <- rmse(ratio6, r6$fitted.values)
r7$rmse <- rmse(ratio7, r7$fitted.values)
r8$rmse <- rmse(ratio8, r8$fitted.values)
r9$rmse <- rmse(ratio9, r9$fitted.values)
r_10$rmse <- rmse(ratio10, r_10$fitted.values)
r1$r.squared <- summary(r1)$r.squared
r2$r.squared <- summary(r2)$r.squared
r3$r.squared <- summary(r3)$r.squared
r4$r.squared <- summary(r4)$r.squared
r5$r.squared <- summary(r5)$r.squared
r6$r.squared <- summary(r6)$r.squared
r7$r.squared <- summary(r7)$r.squared
r8$r.squared <- summary(r8)$r.squared
r9$r.squared <- summary(r9)$r.squared
r_10$r.squared <- summary(r_10)$r.squared
Graphing RSqaured and RMSE
ggplot(data_rsme_r2, aes(x=Model, y=RMSE)) +
geom_point(color="black", size=2.5) + ggtitle("RMSE")

ggplot(data_rsme_r2, aes(x=Model, y=R.Squared)) +
geom_point(color = "forestgreen", size=2.5) + ggtitle("R.Squared")

Q1. The lowest RMSE for these models is r5 (Band 7 | Band 16) with a value of 0.8846296. The R-squared values are more varying but the highest R-Squared value is r6 (Band 8 | Band 12) with a value of 0.7842086.