English · PDF 377
与其尝试大量随机的模型,我们可以更有系统性,生成一个等间距的点网格(这称为网格搜索)。我通过观察前面图中最佳模型所在的位置,大致确定了网格的参数:
grid <- expand.grid( a1 = seq(-5, 20, length = 25), a2 = seq(1, 3, length = 25) ) %>% mutate(dist = purrr::map2_dbl(a1, a2, sim1_dist)) grid %>% ggplot(aes(a1, a2)) + geom_point( data = filter(grid, rank(dist) <= 10), size = 4, colour = "red" ) + geom_point(aes(color = -dist))

当你把最佳的 10 个模型叠加回原始数据上时,它们看起来都相当不错:
ggplot(sim1, aes(x, y)) + geom_point(size = 2, color = "grey30") + geom_abline( aes(intercept = a1, slope = a2, color = -dist), data = filter(grid, rank(dist) <= 10) )