data(quakes)
m = ridge(depth ~ b_rff(lat, long), quakes)
plot(fitted(m), quakes$depth)
# more random featues means a higher ridge penalty
m500 = ridge(depth ~ b_rff(lat, long, p = 500), quakes)
c(default = m$penalty, p500 = m500$penalty)
# A shorter length scale fits the data better (R^2)
m_025 = ridge(depth ~ b_rff(lat, long, kernel = k_rbf(scale = 0.25)), quakes)
c(
len_1 = cor(quakes$depth, fitted(m))^2,
len_025 = cor(quakes$depth, fitted(m_025))^2
)
Run the code above in your browser using DataLab