R数据分析:多项式回归与响应面分析的理解与实操
今天给大家分享一个新的统计方法,叫做响应面分析,响应面分析是用来探究变量一致性假设的(Congruence hypotheses)。本身是一个工程学方法,目前在组织行为学,管理,市场营销等等领域中使用越来越多。
Congruence hypotheses state that the agreement (i.e., congruence) between two constructs should positively (or negatively) affect some outcome variable. Such hypotheses play a central role in many disciplines, for example, Marketing (Kim & Hsieh, 2003), Organizational Behavior (Caniëls & Veld, 2019), and Purchasing (Caniëls, Vos, Schiele, & Pulles, 2018).
响应面分析尤其是在探究一致性和不一致性作用的时候是最佳选择,就是说比如你有两个自变量,一个因变量,你想看看如果这两个自变量都同时一致性变化(同时增大或减小)和同时不一致变化(一个增大另一个减小)的情况下,因变量如何变化。这个时候一定记得使用响应面分析。
response surface analysis (RSA) is an approach that allows examining the extent to which combinations of two predictive variables relate to one outcome variable. The method is particularly interesting in cases where (in)congruence between the two predictive variables is a central consideration of the study.
一致性假设的检验需要涉及到多项式回归,而响应面分析的优势在于可以其可以将多项式回归的结果用3D画出来,从而使得我们看清楚各种自变量组合情形下因变量的变化情况。并且通过多项式的系数情况对相应假设进行证明。
The foundation of RSA is the visualization of the results of the regression equation on a three-dimensional graph . Instead of directly interpreting the results of the polynomial regression analysis, the coefficients are used to examine what is called a ‘response surface pattern’ . The response surface is a graph that provides a three-dimensional visual representation of the data to aid interpretation
并且响应面分析还可以检验交互,且不受线性假设限制,今天结合两篇比较有意思的文献给大家分享响应面分析的理解和具体做法。
理论理解
想想如果你不知道响应面分析,你想研究两个变量的不一致对结局的影响你会怎么做?比如你想研究父母期望x1和儿童兴趣x2对儿童成就y的影响,想要验证是不是父母期望和儿童兴趣的一致性越强,将来儿童的成就越高?你怎么做?
计算一个新变量?x1-x2再取个绝对值,作为新的自变量,叫做两者差距?用这个新变量去做y的回归分析?
估计大部分同学首先想到的就是这么样操作。
这里面有两个问题:1是信息丢失了;2是你不能知道同一个效果到底是x1比x2大造成的,还是x2比x1大造成的。
Initially, these approaches compute two predictor variables into a single score, which reduces the available information. For this reason, the difference scores confuse the effects of each of the component measures on the result. The difference scores do not tell us the extent to which each of the component measures contributes to the outcome variable
所以说这个想法就不好,不能说不对哈,只能说不好。
此时最正确的方法就是使用多项式回归:
上面的式子中xy为两个自变量,Z是因变量,式子中还有xy的2次项,对于这么一个式子我们可以对其图形化表达
图中两个自变量在xy轴上,因变量或者叫模型的响应值在z轴上,这样所有xy组合取值对应的模型响应值便成了一个曲面,叫做响应面。
比如对应特定的xy在底面对应的圈圈,其对应的Z值就是响应面上的星星。
看图的时候有两条线值得我们格外关注:图中的一致性线Line of congruence (LOC)和不一致线Line of incongruence (LOIC)
- 一致性线
一致性线就是所有xy相等的点组成的线,就是xy平面上的一条45°线,这条线对应的响应面就表示一致性变化时z值的变化。在图中就是上图中的红线对应的响应面,可以看到在xy一致的时候Z值始终是最大的。
- 不一致线
不一致线就是所有xy互为相反数的点组成的直线,就是xy平面上和一致性线垂直的线,在上图中就是xy平面上的蓝色的线,可以看到xy的差距越大,Z的值越低。
通过这么一种可视化的表达,我们就可以非常容易的知晓xy所有变化情况下,Z的具体变化情况。
并且结合多项式模型的系数情况我们还可以对相应的假设进行检验
我们回到一致性线所对应的响应面,在这个响应面上x=y,Z的表达式就成了一个二次函数:
Z = a1X + a2X2,其中a1 = b1 + b2 and a2 = b3 + b4 + b5
系数a2决定了对应的响应面是直线还是曲线,a1就决定了对应的响应面的斜率。
再看不一致线所对应的响应面,在这个响应面上x=-y,Z的表达式也是一个二次函数:
Z = a3X + a4X2,其中a3 = b1-b2 and a4 = b3-b4 + b5
系数a4决定了对应的响应面是直线还是曲线,a3就决定了对应的响应面的斜率
根据系数的不同组合反应在图中就有响应面的不同的形状:看下图,比如a1>0(一致性线对应的Z值为斜率向上的直线),a4<0(非一致性线对应的响应面为开口向下的曲线)的时候对应的图就是下面A图;比如a2和a4都<0时两条线对应的响应面都为开口朝下的曲线,整个响应面的形状就是下面D图:等等:
通过上面介绍的系数我们就可以对相应假设进行验证,接着往下我们来看两篇实际例文。
一篇文献名如下:
Bai, Q., Lei, L., Hsueh, F. H., Yu, X., Hu, H., Wang, X., & Wang, P. (2020). Parent-adolescent congruence in phubbing and adolescents’ depressive symptoms: A moderated polynomial regression with response surface analyses. Journal of Affective Disorders, 275, 127-135.
文章做了低头族这一行为习惯对抑郁发生的影响,同时考虑了父母低头和孩子低头,在形成了多项式回归模型后,选取变量进行了响应面分析,主要结果长这样:
作者把关心的两个自变量一个是父母低头,另一个是孩子自己低头,放在xy轴上;把因变量孩子抑郁放在z轴上,通过这样一种图形化表示就可以看得出来,x和y一致增大的时候和xy变化不一致的时候抑郁的变化,从而回答研究问题。
结果呈现上作者报告了一致性线的系数和p值,从而回答假设4:
就是一致性线的斜率是显著的正值,就意味着家长和孩子都是低头族(一致性的低头)孩子抑郁风险会增大。同时还有不一致性线的系数也是同理理解。
作者通过这么一个分析还检验了调节作用,方法部分的原文叙述见下图,用的方法叫做hierarchical regression analysis:
就是嵌套几个回归,然后比较模型的R方从而数据驱动的角度判断交互项是不是应该存在。原理在于:加上交互项后R方显著变大,说明交互项的加入可以显著地增大模型的解释力度。
再看一篇管理学领域的文章:
Lee, K., Woo, H. G., & Joshi, K. (2017). Pro-innovation culture, ambidexterity and new product development performance: Polynomial regression and response surface analysis. European Management Journal, 35(2), 249-260.
在验证下面两个假设的时候文章使用了响应面分析:
NPD performance will increase as both exploitation and exploration increase simultaneously.
NPD performance will decrease as the imbalance between exploitation and exploration increases in either direction.
依然是探讨两个自变量变化趋势的一致和不一致问题,作者给了图和表格来回答研究假设:
原文中假设5的意思是两个自变量同时变大的情况下,因变量也会随之增大,为了验证这个假设,文章是令将原来的多项式回归中的两个自变量相等,简化方程后看回归系数,回归方程简化后就是一个二次函数了,此时满足假设5的条件就是二次项的系数得为0(二次项得不显著,不然函数是个曲线,就不满足假设5因变量一直增长的假设,请回忆初中二次函数的知识点)然后一次项得是负值。
也就是上表中b1+b2得是正的,然后b3+b4+b5得不显著,因为第二个条件不满足所以作者得到了假设5不成立的结论。
同理,假设6认为,两个自变量不一致的情况下,因变量会变小,为了验证这个假设,文章是令两个自变量为相反数,此时要满足假设6的条件就需要,简化后的方程的一次项系数应该为显著的负值,二次项应该为0或显著负值。
也就是上表中b1-b2应该为显著负值,然后b3-b4+b5应该为0或负值,因为两个条件都不满足所以作者得到假设6不成立的结论。
通过这样的一图一表,文章就完成了对研究问题的回答。以上就是响应面分析的两个例文的简要介绍,详细写作请自己扒拉原文瞅瞅。我们接着看做法。
做法步骤
spss是可以做响应面分析的哈,不过我们依然只写用R的方法,做响应面分析步骤有二:
conceptually RSA is divided into two stages: (a) running a polynomial regression model and (b) using the results of the model to generate a response surface and analyze the importance of the effects
在R中做响应面分析可以用rsm包,第一步是拟合带有2次项的多项式回归,比如我现在有如下数据,x,y,z三个变量
首先我需要跑一个二次多项式回归:
rsm(z ~ SO(x, y), data = data)
运行后直接summary上面函数生成的对象即可得到二次多项式的结果
可以看到xy每个项的系数都有展示,我们就是结合这些系数来验证我们的研究假设。
第二步便是将模型结果通过响应面进行可视化展示,代码如下:
persp (rsm, ~x+y,
col = color,main="实例操练",
xlab=c("关注公众号","Codewar"),zlab = "示例",
r=50,d=30,expand=1,box = T,
#ltheta=10,lphi=99,
shade=0.1,theta=-15,phi=15,
#axes=F,
contour=list(z="bottom"),
cex.lab=1,
cex.axis=0.5,
ticktype="detailed",
at = xs(rsm))
上面代码中rsm为模型对象。运行后即可出响应面图如下:
通过上图就可以很直观地看到xy不同变化时,z值的对应变化。
到此响应面分析结束。
R数据分析:多项式回归与响应面分析的理解与实操的更多相关文章
- R数据分析:纵向分类结局的分析-马尔可夫多态模型的理解与实操
今天要给大家分享的统计方法是马尔可夫多态模型,思路来源是下面这篇文章: Ward DD, Wallace LMK, Rockwood K Cumulative health deficits, APO ...
- R数据分析:生存分析的列线图的理解与绘制详细教程
列线图作为一个非常简单明了的临床辅助决策工具,在临床中用的(发文章的)还是比较多的,尤其是肿瘤预后: Nomograms are widely used for cancer prognosis, p ...
- Android ANR(应用无响应)解决分析【转】
本文转载自:https://blog.csdn.net/u014630142/article/details/81709459 来自: http://blog.csdn.net/tjy1985/art ...
- HTTP 请求报文和响应报文分析和解刨!!
http请求和响应报文分析 一>http请求报文主要包括三个部分:1.请求行:2.请求头:3;请求体: 1,请求行一般包括三个部分:请求方式:请求url : http协议版本. 请求方法:大部分 ...
- R数据分析:跟随top期刊手把手教你做一个临床预测模型
临床预测模型也是大家比较感兴趣的,今天就带着大家看一篇临床预测模型的文章,并且用一个例子给大家过一遍做法. 这篇文章来自护理领域顶级期刊的文章,文章名在下面 Ballesta-Castillejos ...
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...
- R数据分析:二分类因变量的混合效应,多水平logistics模型介绍
今天给大家写广义混合效应模型Generalised Linear Random Intercept Model的第一部分 ,混合效应logistics回归模型,这个和线性混合效应模型一样也有好几个叫法 ...
- R数据分析:如何简洁高效地展示统计结果
之前给大家写过一篇数据清洗的文章,解决的问题是你拿到原始数据后如何快速地对数据进行处理,处理到你基本上可以拿来分析的地步,其中介绍了如何选变量如何筛选个案,变量重新编码,如何去重,如何替换缺失值,如何 ...
- R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法
之前给大家写过一个临床预测模型:R数据分析:跟随top期刊手把手教你做一个临床预测模型,里面其实都是比较基础的模型判别能力discrimination的一些指标,那么今天就再进一步,给大家分享一些和临 ...
- R数据分析:扫盲贴,什么是多重插补
好多同学跑来问,用spss的时候使用多重插补的数据集,怎么选怎么用?是不是简单的选一个做分析?今天写写这个问题. 什么时候用多重插补 首先回顾下三种缺失机制或者叫缺失类型: 上面的内容之前写过,这儿就 ...
随机推荐
- 玩转Mybatis高级特性:让你的数据操作更上一层楼
目录 动态SQL 缓存机制 插件机制 自定义类型转换 总结 Mybatis高级特性能够帮助我们更加灵活地操作数据库,包括动态SQL.缓存机制.插件机制.自定义类型转换等.学习这些特性可以让我们更好地利 ...
- 最强分布式搜索引擎——ElasticSearch
最强分布式搜索引擎--ElasticSearch 本篇我们将会介绍到一种特殊的类似数据库存储机制的搜索引擎工具--ES elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以 ...
- vue3中watch的写法大合集。
VUE2的watch是一个属性写法是 watch:{ data1(newVal,oldVal){ 同步/异步操作 } } VUE3的watch则是一个函数,写法是 注意数据必须是响应式的 let nu ...
- $\mathcal{Mathicの代码风格}$
概述 \(#include\) 语句必须置于整个程序的开头. 不应 using namespace foo; 若有必要可以 using foo::bar; 单行字符数必须不超过\(80\). 预编译 ...
- nginx+vite 项目打包及部署到服务器二级路由
项目打包及部署到服务器二级路由 例如:我希望将打包的项目部署到 http://localhost:8088/web/ 上 一. 项目配置及打包 项目部署到服务器二级路由需要配置基础路径base,即需要 ...
- webrtc QOS笔记三 RTT计算,SRS增加XR
webrtc QOS笔记三 RTT计算,SRS增加XR RTT计算方式 WebRTC中目前有两种方式计算RTT: 基于媒体流发送端的计算(默认开启).通过Sender Report(SR)与Recei ...
- Let's Encrypt 泛域名证书申请
泛域名 泛域名证书又名通配符证书是SSL证书中的其中一种形式,一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名. OV证书和DV证书都会有通配符的域名形式提供,而EV证书一 ...
- Prometheus+Grafana监控系统
Prometheus vs Zabbix Zabbix的客户端更多是只做上报的事情,push模式.而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据. Zabbix的客户 ...
- pandas之分类操作
通常情况下,数据集中会存在许多同一类别的信息,比如相同国家.相同行政编码.相同性别等,当这些相同类别的数据多次出现时,就会给数据处理增添许多麻烦,导致数据集变得臃肿,不能直观.清晰地展示数据. 针对上 ...
- [SpringBoot/JavaEE]SpringBoot启动与停用的4种方式
SpringBoot版本: 2.1.6.RELEASE 1 启动 方式1 – IntelliJ IDEA - Windows 右键启动类SpringBootSampleApplication.java ...