R数据分析:如何理解模型中的“控制”,图例展示

大数据 数据分析
如果两个变量有共变关系,我们就可以用其中一个变量来预测另外一个变量的走势,如果这种共变关系是一种因果关系,我们就可以在统计分析中对其进行控制。有点不好理解,所以今天给大家准备了实例,并且用图形给大家说明这个问题。

如果两个变量有共变关系,我们就可以用其中一个变量来预测另外一个变量的走势,如果这种共变关系是一种因果关系,我们就可以在统计分析中对其进行控制。

有点不好理解,所以今天给大家准备了实例,并且用图形给大家说明这个问题。

实例操练

今天用的数据依然是R自带的diamonds数据集,数据变量什么意思请大家自行百度。

在上一篇文章中,我们用箱型图画出不同的cut上钻石价格的分布如下图 

R数据分析:如何理解模型中的“控制”,图例展示

在上面的图中我们可以看到随着钻石的cut越好,似乎钻石的价格越低,这个关系明显是不符合常理的,值得探讨一下。

其实探讨cut、price之间的关系是挺复杂的一个事情,因为cut和carat, carat和price之间都有紧密的关系,所以我们现在的思路就是说,希望能够在去除了carat对price的效应之后,再看cut和price的关系。

下面的代码建立了carat和price的模型,并且计算了模型的残差(就是预测值和实际值的区别),残差就反映了因变量未被自变量解释的部分,在本例中就是price的变异中carat解释不了的部分。

  1. library(modelr) 
  2. mod <- lm(log(price) ~ log(carat), data = diamonds) 
  3. diamonds2 <- diamonds %>%   add_residuals(mod) %>%  
  4.   mutate(resid = exp(resid)) 
  5. ggplot(data = diamonds2) +   geom_point(mapping = aes(x = carat, y = resid)) 

 R数据分析:如何理解模型中的“控制”,图例展示

上面的代码同时还做出了carat与模型残差的散点图,可以看出只用carat来解释price是不太好的。

那么抠掉了carat和price的关系之后,怎么看cut和price的关系呢?代码如下:

  1. ggplot(data = diamonds2) +  
  2.   geom_boxplot(mapping = aes(x = cut, y = resid)) 

 R数据分析:如何理解模型中的“控制”,图例展示

这个时候我们是用cut为自变量,残差为因变量进行了作图,也就是看一看抠掉了carat对price的效应后,cut对price的实际的关系,可以看到这回随着cut越来越好,price也愈来愈高,这下就对了。

实际上,上面的过程就是一个统计控制的过程,我们在看cut对price的关系的时候需要控制掉carat对price的关系,这样得到的结果才是纯净的结果,有兴趣的同学还可以去看一看控制变量和混杂变量的区别,嘿嘿。

小结

今天用一个实际的例子给大家写了统计控制,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python和R的,加油。

 

责任编辑:未丽燕 来源: 今日头条
相关推荐

2024-07-01 08:51:19

可视化数据分析漏斗

2021-01-14 12:17:52

大数据数据分析技术

2020-05-15 15:09:51

R语言数据分析

2019-07-31 14:16:35

大数据人工智能算法

2024-03-04 11:10:01

2017-05-19 08:45:34

R用户Python数据分析

2017-10-14 14:49:46

RPython数据分析

2024-08-06 11:32:07

2017-09-28 16:31:02

大数据数据分析漏斗模型

2017-07-24 09:18:55

大数据数据分析行为事件分析

2018-07-05 14:18:12

数据分析神经网络模型

2014-03-12 10:17:22

R语言Hadoop

2020-08-20 20:33:57

大数据R假设检验

2024-10-10 11:59:11

2022-02-21 17:35:50

漏斗模型流程数据

2024-10-30 12:21:18

2024-02-26 12:34:52

模型数据决策模型

2022-05-09 18:46:28

EOQ模型数据分析

2013-05-22 08:55:14

R语言

2021-12-06 11:28:37

数据分析合作
点赞
收藏

51CTO技术栈公众号