全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
10483 10
2022-05-19
一、什么是NCA

NCA的英文全称为Necessary Condition Analysis,中文称必要条件分析。必要条件是指某一特定结果产生所需的条件,如果该条件不存在就无法产生相应结果。该分析方法由荷兰鹿特丹管理学院的杜尔教授(Jan Dul)在 2016 年提出。

Dul(2016)开篇举一个例子来说明什么是必要条件以及重要性:一名学生如果想要被美国研究生院录取(结果条件),学生需要在研究生考试(GRE)考试中获得很高的分数:足够高的GRE分数对录取来说是必要的。必要条件并不一定是充分条件。 仅凭一个合格的GRE成绩是不能满足录取条件的,因为还有其他入学要求也在起作用(例如,学生的自荐信,良好的托福成绩,学生的大学课程成绩,推荐信等)。 但是,如果学生的GRE分数太低,就不会被录取,这与学生在其他方面的表现无关。 因此,一个必要条件是一种约束,一种障碍,一种瓶颈,必须被管理,以达到期望的结果。 每个单一的必要条件都必须到位,因为没有任何附加的因果条件可以补偿必要条件的缺失。

NCA通过分析前因条件的效应量(effect size)和瓶颈水平(bottle neck),定量地展示实现某一水平的结果变量所必须具备的前因条件水平,是对传统的充分性分析技术的有效补充。

二、NCA分析的软件操作(一)安装R软件

对于Windows用户:点击http://cran.r-project.org/bin/windows/base/,下载R安装包。打开下载的R安装包并按照说明操作(接受所有默认值)。
对于OS X(Mac)用户:点击http://cran.r-project.org/bin/macosx/,下载适合OS X的正确R版本。同样打开下载R安装包并按照说明操作(接受所有默认值)。
安装好R,打开后的界面如下所示。


(二)在R软件中安装NCA包

1.安装NCA

如下图所示,在红色箭头号后,输入代码
install.packages("NCA", dependencies = TRUE),敲Enter键,会跳出来右边的地址框,选中你所在的城市(图中选中的是广州),点击OK。

如下图所示,点击OK之后,界面会显示NCA软件包成功安装。


2.更新NCA软件包

如下图所示,在红色箭头号后,输入代码update.packages(),敲Enter键,会跳出更新确认框,点击是。


更新确认框会连续跳出很多次,一直点是即可。随后,可以看到更新完毕,跳出询问框,点击是。


3.激活和加载NCA包

如下图所示,在红色箭头号后,输入代码library(NCA),敲Enter键。
每次启动R时都需要重复第三个小步骤,前面两个小步骤可以省略。


可以看到,NCA包成功导入R软件。


(三)导入NCA分析所需数据

1.准备数据

去掉数据中的变量名、序号等,只保留要分析的数据(简单起见,本文只介绍这一种数据形式)。如下图所示,本文的实例数据的前九列为前因条件,最后一列是结果条件。

2.输入数据路径代码

本文的示例数据名称为NCA,格式为csv,文件在桌面,数据均已校准,路径代码为:data <- read.csv("C:\Users\10405\Desktop\NCA.csv",header = FALSE)。具体可以根据数据名称和路径不同,对该代码做相应的改动。

(四)分析效应量与显著性

效应量是指产生特定结果需要必要条件的最低水平,取值范围为0~1之间,数值越趋近于1表示效应量越大,小于0.1则说明效应量很小。NCA包可以调用上限回归(ceiling regression,CR)技术分析连续变量和超过5级的离散变量,使用上限包络(ceiling envelopment,CE)技术分析二分变量和不到5级的离散变量。具体根据数据特征选择不同的分析技术,也可以同时汇报CR和CE的计算结果,比较结果的稳健性。基于Dul等(2020)给出的衡量标准,必要条件的效应量(d)需大于0.1且达到显著性水平(P<0.01)。
分析效应量与显著性的代码如下:
model<-nca_analysis(data,X,Y,ceilings="cr_fdh", test.rep=10000)
nca_output(model, test=TRUE)
其中,X是指前因条件,Y指结果条件;cr_fdh表示使用上限回归(ceiling regression,CR)技术分析;test.rep=10000表示重抽次数为10000次。
示例为前因条件X1对结果条件Y的必要性分析,分析方法为CR,如下图所示。



同理,将分析效应量与显著性的代码中的cr改为ce,分析方法换为CE,如下图所示。



以此对所有的前因条件进行必要性分析,将上述指标汇总后制表,如表1所示。综合来看,没有一个前因条件同时满足效应量和显著性两个要求。所以得出结论:X1-X9都不是结果条件Y的必要条件。


(五)分析瓶颈水平

瓶颈水平(%)指达到结果最大观测范围的某一水平,前因条件最大观测范围内需要满足的水平值(%)。
瓶颈水平分析代码为:
model <- nca_analysis (data,c(X1:XN),Y)
nca_output(model, summaries=FALSE, bottlenecks=TRUE)
其中,X1:XN表示前因条件的范围,是第几列到第N列,Y表示结果条件。
示例中的数据,第一列到第九列为前因条件,第十列为结果条件,所以代码表示为:
model <- nca_analysis (data,c(1:9),10)
nca_output(model, summaries=FALSE, bottlenecks=TRUE)
程序会汇报使用CR和CE两种方法进行分析的瓶颈水平结果,如下图所示。


最后,将上述结果制表,如表2所示。要达到60%的Y水平,需要0.4%水平的X1、2.3%水平的X3、0.2%水平的X5、1.4%水平的X7,而X2、X4、X6、X8、X9不存在瓶颈水平。


参考资料:
1.DUL J, VAN D L E, KUIK R. A statistical significance test for necessary condition analysis [J].Organizational Research Methods,2020,23(2): 385-395.
2.Dul, J.Necessary Condition Analysis (NCA). Logic and methodology of 'Necessary but not Sufficient' causality[J]. Organizational Research Methods,2016,19(1)10-52.
3.杜运周,刘秋辰,程建青.什么样的营商环境生态产生城市高创业活跃度?——基于制度组态的分析[J].管理世界,2020,36(09):141-155.


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-5-21 10:23:25
南博吉吉 发表于 2022-5-19 12:13
一、什么是NCANCA的英文全称为Necessary Condition Analysis,中文称必要条件分析。必要条件是指某一特定结 ...
该文首发于公举号:南博吉吉,欢迎关注。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-9-12 11:24:37
谢谢楼主,好人啊
怎么只有第一部分?
还有吗,请更新
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-10-1 17:10:40
好贴就点赞,一起拿积分
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-10-12 13:25:00
dege316 发表于 2022-9-12 11:24
谢谢楼主,好人啊
怎么只有第一部分?
还有吗,请更新
这个就是数据处理的全部内容了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-10-30 16:49:20
点个赞加点人气
感谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群