美文网首页
26.关于模式和模型

26.关于模式和模型

作者: 心惊梦醒 | 来源:发表于2021-08-10 00:06 被阅读0次

    【上一篇:25.关于Exploratory Data Analysis之六】
    【下一篇:27.总结Explore和资源推荐】

        数据中的模式为关系提供了线索。如果两个变量之间存在系统的关系,它将在数据中以模式的形式出现。如果你发现了一个模式,问问自己:
        这种模式是出于巧合(即随机)吗?
        如何描述模式所隐含的关系?
        这种模式所暗示的关系有多强?
        还有哪些变量可能影响这段关系?
        如果你观察数据的单个子组,这种关系会改变吗?
        Old Faithful喷发持续时间和喷发之间的等待时间散点图显示了一种模式:较长的等待时间与较长的喷发时间有关联。而且图中还有两个星云团。

    # faithful是一个272行2列的数据框
    ggplot(data = faithful) + 
      geom_point(mapping = aes(x = eruptions, y = waiting))
    
    
    Old Faithful喷发时间与等待时间的关系
        模式为数据科学家提供了最有用的工具之一,因为它们揭示了共变。如果你认为variation是一种产生不确定性的现象,那么covariation就是一种减少不确定性的现象。如果两个变量共变,您可以使用一个变量的值来更好地预测第二个变量的值。如果共变是由于因果关系(一种特殊情况),那么您可以使用一个变量的值来控制第二个变量的值。
        模型是从数据中提取模式的工具。例如diamonds数据中cut和price的关系很难理解,因为cut和carat,而carat和price是紧密相关的。我们可以用一个模型来消除price和carat之间的紧密关系,这样我们就可以探索剩下的微妙之处。下面的代码拟合一个模型,该模型预测carat的price,然后计算残差(预测值和实际值之间的差)。一旦carat的影响被去除,剩下的就是钻石价格的view了。
        下面这段代码我不理解,但书中说了本书的最后一部分专门讲模型,前面先学完data wrangling和programming,后面关于模型是什么以及模型的工作原理就很好理解了。(好吧,我相信书说的。)
    library(modelr)
    mod <- lm(log(price) ~ log(carat), data = diamonds)
    
    diamonds2 <- diamonds %>% 
      add_residuals(mod) %>% 
      mutate(resid = exp(resid))
    
    ggplot(data = diamonds2) + 
      geom_point(mapping = aes(x = carat, y = resid))
    
    建模处理后的图

        一旦你去除carat和cut之间的紧密关系,你就可以看到你所期望的cut和price之间的关系:相对于它们的大小,质量更好的钻石更贵。

    ggplot(data = diamonds2) + 
      geom_boxplot(mapping = aes(x = cut, y = resid))
    
    好神奇,越来越想知道模型到底做了什么了

        到这为止,其实本书中的第一大节Explore,这一章节是介绍性的章节。下一篇是书中对这一篇的总结和推荐的一些资源。

    【上一篇:25.关于Exploratory Data Analysis之六】
    【下一篇:27.总结Explore和资源推荐】

    相关文章

      网友评论

          本文标题:26.关于模式和模型

          本文链接:https://www.haomeiwen.com/subject/vzxnvltx.html