为什么在线性模型中相互作用的变量要相乘
在这篇文章中,我将解释为什么当建立一个线性模型,我们添加一个x₁₂术语如果我们认为变量x₁和x₂互动和添加交互条款订立原则方法。
我假设读者对线性模型的工作原理有一个基本的了解。
无交互模型
让我们从构建一个没有相互作用项的模型开始。
假设我们想要模型y的函数x₁和x₂。则描述该关系的线性模型为:
图1:没有相互作用项的线性模型
一个变斜率的模型
假设我们认为x₁实际上取决于x₂的斜率。我们如何将这种信念融入到模型中?
因为我们正在与线性模型,方法之一是模型β₁作为另一个x的函数₂线性模型,如下所示:
图2:假设x1的斜率依赖于x2的效果
将图2的方程代入图1,得到拟合模型如下:
图3:拟合线性模型假定的影响x₁的值取决于x₂
图3中的模型如图1是一模一样,除了它有一个额外的术语,bx x₁₂。
这种方式建立一个线性模型的相互作用项是自然结果表明假设x₁y是线性的影响依赖于x₂的当前值。
x₁ 依赖于 x₂与 x₂ 依赖于 x₁是一样的
前一节中建立在假设x₁的效果取决于x₂的当前值。如果我们有什么做的假设另一个方向即x₂的影响取决于的当前值x₁?
用同样的方法,假设意味着:
图4:假设x₂取决于x₁的斜率
我们最终拟合的模型是这样的:
图5:拟合线性模型假设x₂的影响取决于x₁的值
请注意,上图中的模型与图4中的模型相同(它们仅在分配给系数的名称上有所不同)。
这是一个值得一提的强调,添加一个x₁x₂ 没有说任何关于x₁和x₂之间的因果关系。
涉及两个以上变量的作用
这种增加相互作用项的方法表明,通过递归应用一个变量的斜率依赖于另一个变量的假设,可以得到涉及两个以上变量的交互作用。
例如,假设我们想要模型之间的关系x和y₁, x₂, x₃使用线性模型。
现在,如果我们假设x₁的斜率取决于x₂,我们有:
图6:假设x₁取决于x₂的斜率
如果我们进一步假设x₂在图6的斜率是依赖于x₃,我们得到:
图7:假设x₂β的影响x₁还取决于₃
所以,给定:
图8:y的函数x₁, x₂x₃
我们的结果是:
图9:一个模型假设x₁的影响取决于x₂,而x₂取决于x₃
如果我们曾以为不同的顺序即斜率x₁取决于x₃这取决于x₂?然后,给出:
图10:与图8相同的假设,只是顺序不同
得到:
图11:基于图10中的假设的模型
注意,图11和图9中的模型是不同的。它们在第五项有所不同。
结论
本文表明,相互作用项可以解释为假设一个特定变量的斜率依赖于另一个变量的值。
使用这种方法,我们就有了一种系统的方法,使用我们的领域知识来智能地添加相互作用项,而不是在我们的数据集中添加所有可能的变量组合。后一种方法可能导致模型过度拟合和/或给出错误的因果推断。
deephub翻译组
为什么在线性模型中相互作用的变量要相乘相关推荐
- 在c语言中,函数中的自动变量可以赋初值,每调用一次,赋一次初值,计算机二级考试 程序设计基础试题及答案三...
<程序设计基础>考试试卷三 1. 判断下面标识符中哪个是C语言中合法的用户定义标识符: A. a-b B. #abd C. typedef D. _max 2. -b?在内存中占个字节,& ...
- 简单介绍SQLserver中的declare变量用法
这篇文章主要介绍了SQLserver中的declare变量用法,sql中declare是声明的意思,就是声明变量的,这个一般是用在函数和存储过程中的.感兴趣的可以来了解一下 平时写SQL查询.存储过程 ...
- shell脚本中的特殊变量与if条件测试
1.特殊变量 实际工作中我们不可避免的遇到一些xxxx.sh脚本文件,实际阅读shell脚本代码时经常会遇到很多特殊变量(例如:$0.$n.$#.$@.$*.$?.$$等),我们常常会被这些特殊符号折 ...
- Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例
Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录
- R语言Eta squared计算实战:Eta squared表示可以用模型中给定的变量解释的方差的比例、拟合方差分析模型(two-way ANOVA)、计算Eta Squared
R语言Eta squared计算实战:Eta squared表示可以用模型中给定的变量解释的方差的比例.拟合方差分析模型(two-way ANOVA).计算Eta Squared 目录
- python重命名文件pycharm_Python中批量修改变量名太费劲?Pycharm中使用重命名一次搞定...
标签:rename current 变量 阅读 tor 小伙伴 search 其他 就是如果程序中有一个变量被用得比较多,但名字起得不是很好,导致其他阅读程序的人搞不清 ...
- CSS基础篇--CSS/CSS3中的原生变量var详解
使用语法 首先我们先来看一个例子: html代码: <div class="element">这是一段文字</div> css代码: .element {w ...
- C#中static静态变量的用法
原文:C#中static静态变量的用法 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析 ...
- python中的class怎么用_对python 中class与变量的使用方法详解
python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...
最新文章
- seaborn可视化水平箱图并添加抖动数据点(Horizontal boxplot with jittered points in Python)
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 路由koa-router
- 理解 iOS 和 macOS 的内存管理
- SpringBoot微信公众号授权访问认证文件部署
- Uber发布史上最简单的深度学习框架Ludwig!
- MySQL 企业监控器 2.3.10 正式版发布
- 强推!盘点阿里巴巴 15 款开发者工具 | 程序员硬核评测
- linux修改ip dhcp,Linux下在静态IP与动态DHCP之间切换的脚本
- 排序算法(一)--插入排序法折半插入排序法
- Android8.1 swap空间不够编译失败:ckati failed with: signal: interrupt
- sql server怎么设置id字段自增
- python 给数组修改值_DAY2-step4 Python数组:创建,追加,弹出,反转示例
- 用Python合并文件夹下所有pdf文件(包括多级子目录下的pdf文件)
- 2018——走过的路
- 中国数据中心最新规划图,中国数据中心建设情况
- 基于php+mysql的网上购物商城系统
- mysqld: [ERROR] Found option without preceding group in config file【解决】
- 农村小伙不畏艰难,创业开装饰公司,年产值竟达上千万元?
- Vue整合Element-UI的分页组件实现分页
- Software Testing - UI自动化测试常用设计模式之工厂(Java)