动态QCA|一条通向动态QCA产出的道路2.0

一、《A General Approach to Panel Data Set-Theoretic Research 》阅读

摘要:基于一般线性统计模型的学术研究正迅速向纵向和面板数据计量经济学方法的更广泛和更丰富的应用方向发展。相比之下,集合论的实证研究,尽管其日益普及,迄今主要集中在横断面分析。本文弥补了面板数据集理论研究中的这一空白。我们提供了一些诊断工具来评估集合论的一致性和覆盖的横截面和跨时间。建议的方法是基于池、之间和内部一致性和覆盖率之间的区别,这可以使用面板数据计算。我们使用KLD的面板(1991-2005)来说明所提出的方法如何在集合论纵向研究的背景下应用。

(一)一致性概念介绍

(1)Pooled Consistency(汇总一致性)

        是指通过对所有时间点或情境进行综合考虑,来评估研究结果的一致性。它衡量了所有数据点的一致性程度。

        汇总一致性是指在不考虑时间和个体影响的情况下,在样本中观察到的整体一致性,相当于Ragin(2008)[9]所定义的所有截面一致性的集合。

(2)Between Consistency(组间一致性)

        是指在不同时间点或情境之间进行比较,来评估研究结果的一致性。它关注了不同情境或时间点之间的一致性。

        两者之间的一致性(BECONS)是面板中每一年的截面一致性的总和。BECONS是文献中最常见的一致性度量,在集合论研究中通常被简单地称为“一致性”(Ragin 2000)。

(3)Within Consistency(组内一致性)

        是指在同一时间点或情境下进行比较,来评估研究结果的一致性。它专注于同一情境或时间点内部的一致性。

        内部一致性(WICONS)是指每个个体的集合子集连接随时间的纵向一致性。换句话说,WICONS是对样本中每个特定情况的集合-子集关系在时间上的一致性的度量。

(4)三者之间的关系

        在任何真实的面板数据中,都有T个不同的BECONS, N个不同的wicon和一个单一的POCONS(表1)

        由于在实证研究中BECONS、WICONS和POCONS可能是不同的,因此为了更充分地理解因果条件与结果之间的集子集关系,应该考虑这三者。

(二)BECONS和WICONS距离

        分析一致性如何随时间和公司而变化的一种直接方法是观察BECONS和WICONS观察到的向量与各自的T维和N维向量的距离,其中所有元素都等于POCONS。这与测量BECONS和WICONS向量与均匀分布的一致性向量之间的距离相同。例如,BECONS向量(0.8,0.8,0.8)的距离为零,因为所有的一致性在三年内都是相同的,等于0.8。在实践中,这意味着0.8的一致性随着时间的推移非常稳定,因此,因果条件和结果之间的关系没有时间影响。相比之下,BECONS向量(0.1,0.1,0.9)显示出一个极端距离,表明因果条件和结果之间的亚子集关系是时间依赖的,即,第三年是高度一致的,但前两年不是。

        低BECONS和WICONS距离表明,随着时间的推移和不同情况下,解决方案都是高度稳定的。在这些情况下,BECONS, WICONS和POCONS都将具有相似的值,并且三者向研究人员提供相同的信息。相比之下,高距离表明面板中存在未被POCONS完全捕获的信息。当比较BECONS和wicon的距离时,有四种可能性:

        •BECONS距离= WICONS距离= 0。这意味着POCONS = BECONSt = WICONSi。这种情况对应于一个平衡的面板数据,没有时间或公司的影响。

        •BECONS距离= WICONS距离≠0。根据我们下面提出的标准,如果BECONS和wicon的距离足够大,就会有一些时间和强度效应的证据。

        •BECONS距离> WICONS距离。这意味着时间效应比截面效应更重要。如果BECONS距离较大,则可能存在严重的时间效应,影响Xit与Yit之间的亚沉降关系。

        •WICONS距离> BECONS距离。这意味着横截面效应比时间效应更重要。如果WICONS距离较大,则可能存在严重的横截面模式。企业集群——影响厦夷关系的亚子集关系

(三)覆盖率概念介绍

(1)Pooled Coverage(汇总覆盖)

        Pooled coverage 表示研究中所有案例观察到的因果条件所占可能因果条件的比例。这反映了整体样本的因果条件的分布情况。

(2)Between-Coverage(组间覆盖)

        Between-coverage 表示在不同时间点或其他相关组别之间,因果条件的覆盖程度。它帮助区分在不同上下文中因果条件的变化情况。

        间覆盖率(BECOV)是面板中每年的横截面覆盖率的度量。在集合论研究中,BECOV被简单地称为给定年份的“覆盖率”(Ragin 2008)。

(3)Within-Coverage(组内覆盖)

        Within-coverage 表示在同一组别内部,因果条件的覆盖程度。这有助于理解在同一上下文内因果条件的差异。

        内部覆盖(WICOV)测量面板中每个个体i的集子集连接随时间的覆盖范围。换句话说,一个给定个体的覆盖率表明,这个个体的X和Y之间在时间上的一致关系是否具有经验相关性。

(4)评估因果条件和结果之间的一致性和覆盖率时遵循一些步骤

        处理面板数据集理论研究的研究人员现在有几种方法来评估一致性和覆盖率之间和内部的一致性和覆盖率。

        在本节中,我们建议在评估因果条件和结果之间的一致性和覆盖率时遵循一些步骤。我们在表2中总结了这些步骤

        第一步是评估小组的整体一致性。这可以使用POCONS来完成。

        接下来,必须对年度BECONS进行评估。即使在总体一致性(POCONS)较低的情况下,如果年份之间存在较大的BECONS距离,则有可能在特定年份找到强一致的集合论关系,这表明这种关系与时间有关。然后,wicon和wicon距离可以用与BECONS相似的方法进行评估。最后,如果POCONS、BECONS和/或wicon被证明是一致的(对于整个数据集或部分数据集),那么研究人员可以使用上面提供的公式评估POCOV、BECOV和WICOV。

        最后,表2中的协议将用于充分条件的分析,即:Xit是Yit的子集。由于计算充分关系的一致性与计算必要关系的覆盖率是相同的,计算充分关系的覆盖率与计算必要关系的一致性是相同的(Ragin, 2008: 63),那么也可以按照协议使用相同的公式来评估必要条件。

(四)应用举例—KLD面板数据(1991-2005)

(1)数据和措施

        KLD是一家独立的评级机构,专门评估与利益相关者关注的一系列方面的企业社会绩效。

        该小组共涵盖15年(1991-2005年),共进行了6,009次固定年观测。KLD数据集是一个不平衡面板数据,其中公司是主要的分层变量,因此有一个489项的不平衡面板,每个地层的时间序列在1到15个观测值之间。由于KLD监测的公司范围内的人员流失、合并或变化而在整个时期都存在。小组的一般结构和每年监测的公司总数大致见表3。

        KLD评级是衡量公司在几个利益相关者群体(如客户、员工、供应商等)中的投资水平的综合指标。5 .从-8到+12,其平均值为0.74。为了将连续变量(如KLD评级指数)转换为模糊集,需要进行某种校准。我们使用分布中的0.25、0.5和0.75个百分位数来校准这个变量。这些百分点锚点常用于集论研究中校准连续变量(Fiss 2011)。

(2)结果

        表3显示了整个面板的pocon(.661)、BECONS、wicon及其距离。相对较低的POCONS并不令人惊讶,因为我们的简单模型只包括一个因果条件(即KLD)。增加更多的因果条件可能最终导致具有更高一致性的更复杂的配置。然而,考虑到本文的方法论性质,我们决定测试KLD和公司绩效之间的这种简单关系,以使分析尽可能简单。

        图1描述了这段时间内BECONS的演变,其中将BECONS与pocon(图中实心水平条)进行了比较。15个BECONS的年际变化体现在BECONS的adi -distance为0.132(> 0.1),表明不同年份间存在一定的异质性。对图1中的BECONS的检查显示,随着时间的推移,会出现一些振荡,在周期的开始和结束时,会出现更高的一致性峰值。总而言之,如果有充分的理论理由认为KLD投资足以导致1991年的卓越MVA,但在其他年份则不然,例如,由于竞争加剧,那么每年的BECONS分析可以用来检验这一假设。此外,如果以年度为基础对一致性进行分析,可以获得新的见解,例如,随着时间的推移,一致性显示出一定的周期性,2004年和2005年略有增加。

        具有较高WICOV的一致案例更具有经验相关性,因为它们在Xit中的隶属度高于具有低WICOV的一致案例

(3)灵敏度分析和稳健性分析

        我们进行了几次测试,以确定在不同的校准和不同的性能测量下所显示的结果是否成立。以往的研究表明,鲁棒性检验在集合论研究中是不可或缺的。首先,我们进行了敏感性分析,以检查我们的发现是否具有鲁棒性,给出了可选的集合校准。具体来说,我们改变了KLD和MVA的交叉点在+/-10p之间。在表3所示的一致性方面没有观察到实质性变化。其次,除了MVA,我们还使用了ROA(资产收益率),这是另一个经常用于测试KLD与公司绩效之间关系的绩效指标(Margolis和Walsh 2003)。结果虽然差异很小,但与表3所示的一致性和覆盖率得分相差不大,证实了POCONS(COV)、BECONS(COV)和WICONS(COV)的鲁棒性。

(五)总结

        方法的本质是测量和分析BECONS和wicon及其距离。在没有面板结构的情况下,例如:与BECONS和WICONS的adj-distance < .1 -相比,POCONS将数据中的所有相关信息总结为单一的一致性测量。然而,BECONS或wicon的邻距越大,POCONS在评估因果条件与结果一致性方面的可靠性越低。高BECONS或wicon距离的存在表明因果条件和结果之间的关系随着时间的推移而改变,或者这种关系在企业集群之间是不同的。因此,仅仅测量数据集中的全部POCONS是不够的,因为BECONS和wicon的近距离可能会揭示数据中的稳定模式。在某些情况下,这些模式代表了对该理论的重大违反——无论何时在一年或一组个体中存在许多零一致性——研究人员都应该考虑到这一点。在其他情况下,高BECONS (WICONS)距离是由于存在许多完整一致性和空一致性;这为假设提供了强有力的支持,但仅适用于数据集中减少的一组情况。可以对POCOV、BECOV和WICOV进行相同的分析。

        虽然本文中介绍的分析方法是通用的,并且足够灵活,可以处理任何可能的面板数据结构,但它至少存在两个主要限制。首先,对BECONS和wicon的距离进行评估需要一个基准。本文中报告的阈值0.1和0.2已经使用蒙特卡罗模拟进行了验证,它们提供了用于实证研究的第一个基准,但需要更多的实证研究,以便自信地评估这些阈值在其他环境中的有效性和普遍性。

        第二个限制与BECONS和wicon的分析有关。虽然这里开发的BECONS和WICONS辅助距离可以作为识别数据中的面板结构的测试,但它们不能告诉我们哪种特定结构更好地描述了数据。

二、《SetMethods: an Add-on R Package for Advanced QCA》阅读

摘要:本文介绍了R包SetMethods的功能,旨在执行高级集合论分析。这包括执行集合理论多方法研究、集合理论评估、增强标准分析、诊断时间、空间或实质性数据聚类对通过定性比较分析(QCA)获得的结果的影响、间接校准以及通过XY图或雷达图可视化QCA结果的功能。每个功能依次呈现,首先总结程序背后的概念思想和逻辑,然后用Schneider等人(2010)的数据进行说明。

核心:讨论了R包SetMethods的不同功能。

        SetMethods中的每种不同功能都将在单独的一节中介绍。在每个部分中,我们首先简要地总结所讨论的分析背后的概念思想,然后描述执行分析的函数的计算逻辑,然后通过显示R语法和使用已发表研究中的示例选择输出来演示该函数的使用。

(一)案例介绍

        为了说明SetMethods中不同函数的使用,我们使用Schneider等人(2010)的经验例子,该例子使用模糊集来解释高科技产业的资本多样性和出口绩效。更确切地说,研究问题集中在高科技产业出口绩效的制度决定因素上。其结果为高新技术产业出口绩效(export)。使用的条件是:就业保护(EMP)、集体谈判(BARGAIN)、大学培训(UNI)、职业培训(OCCUP)、股票市场规模(stock)和并购(MA)。作者分析了76个案例,代表了19个国家在四个时间点的情况。

# We load the SetMethods package:
library(SetMethods)

# First rows of the Schneider et al.(2010) data called SCHF from package
# SetMethods:
data(SCHF)
head(SCHF)

## EMP BARGAIN UNI OCCUP STOCK MA EXPORT
## Australia_90 0.07 0.90 1.00 0.68 0.45 0.33 0.19
## Austria_90 0.70 0.98 0.01 0.91 0.01 0.05 0.25
## Belgium_90 0.94 0.95 0.14 0.37 0.26 0.14 0.14
## Canada_90 0.04 0.21 0.99 0.11 0.62 0.31 0.28
## Denmark_90 0.59 0.78 0.10 0.55 0.53 0.10 0.34
## Finland_90 0.70 0.97 0.20 0.95 0.02 0.13 0.17

        术语集理论多方法研究(MMR)涵盖了所有将跨案例分析与案例内研究相结合的经验方法,其中两个层次的分析都遵循调查集合及其关系的目标。在跨案例级别,最常见的方法工具是定性比较分析(QCA),在案例级别,过程跟踪。这两种工具都可以根植于(模糊)集合理论(参见Ragin(2008)的QCA和Mikkelsen(2017)的过程跟踪)。在原理和实践中,任何序列的分析都可以在应用文献中进行。在下文中,我们将重点放在“首先跨案例QCA,然后是案例内分析”的序列上。该顺序可以由另一个QCA继续,也可以不继续。与任何像样的QCA一样,在进行QCA之前,当然需要对案例知识进行全面的积累,以便选择和校准条件。然而,这些关键的研究步骤不在集合论MMR的定义范围之内。

        在下文中,我们在对充分性进行跨案例分析后,将我们的讨论限制在集合论MMR上,如Schneider和Rohlfing (2013,2016), Schneider和Rohlfing(手稿)以及Rohlfing和Schneider(2018)中所讨论的那样。我们首先简要地总结了不同类型的案例及其案例分析的目的(第2.3.1节)。在此之后,我们讨论图1中四种不同可行的案例内比较分析及其分析目的(第2.3.2节)。对于每种形式的案例分析,我们解释了mmr函数的使用和用于寻找案例的公式3。函数mmr的一般结构如图1所示。

(1)确定案例类型

        将QCA与过程跟踪相结合的关键是根据QCA求解公式将案例分类为不同的案例类型。文献确定了五种不同的类型(施耐德和罗尔夫,2013)。

        一个类型中的隶属度一方面是由结果Y中的一个情况的隶属度分数定义的,另一方面是由充分项T或解公式S定义的。表1总结了每种病例类型的定义以及个案内分析的分析目的。

        图2显示了XY图中每种案例类型的可视化位置。

        典型案例和偏差案例一致性根据其在充分项T中的隶属度来定义,而偏差案例覆盖率和IIR案例则根据其隶属度解公式s来定义。偏差案例一致性又分为程度偏差和种类偏差。后者总是更适合于案例内部分析。IIR案例对单案例研究没有用处,但它们在案例内比较分析中起着重要作用(见第2.3.2节)。

      (2)典型案例

        典型情况下的过程追踪旨在经验地探索将充分项s结果Y联系起来的因果机制。对于连接项s是因果的,s的每个连接项C必须是因果的,即它们必须通过对机制m产生影响而对结果Y产生影响。这需要对典型情况进行尽可能多的案例内分析,因为在充分连接项中有很多连接项。

        可获得的最佳典型病例满足以下标准:a)焦点连词是定义典型病例在术语(FC≤CC)中的隶属关系的连词;b)由充分项S定义的机制M的走廊(从a中我们也有S = FC), Y很小;c)充分项S的隶属度高;d)这种情况唯一地被充分项S所涵盖。

        图3以两种不同的方式可视化了测试严重性原则。上面板中的XY图显示,对于靠近对角线的情况,测试严重性增加。垂直和水平箭头的长度分别可视化了M仍然一致的模糊集隶属度分数的范围。这个范围越大,测试的强度就越小。下面板中的欧拉图通过对比S1几乎和Y一样大,S2比Y小得多来显示相同的视觉效果。前者留给M的空间很小,后者留给M的空间很大。

        理想的典型病例位于图3中FC = S = Y = 1的XY图的右上角。在应用的QCA中,这种情况通常不存在于手头的数据中。函数mmr()确定给定数据集中可用的最佳典型情况。

        当参数term设置为1时,输出将显示第一个充分项中每个焦点条件的典型情况,以及一些附加信息。输出中包含的信息包括焦点共轭、互补连词、整个充分项和结果(在本例中为EXPORT)中典型情况的隶属度值、公式值St、该情况是否为公式中最典型的情况、该情况位于第几位、该情况是否唯一被充分项覆盖。用户应该在此输出中查找的信息顺序是:该案例是否唯一覆盖,该案例的排名是什么(越小越好),以及该案例的公式值St是什么(越小越好)。例如,对于充分项emp * bargain * OCCUP中的焦点连接emp,瑞士_03似乎是现有的最佳典型案例,它被唯一覆盖,处于第1级,并且具有最小的公式值(St=0.59)。

# We create the truth table:
TT_y <- truthTable(SCHF, outcome = "EXPORT",
                    conditions = c("EMP","BARGAIN","UNI",
                                        "OCCUP","STOCK", "MA"),
                    incl.cut = .9,
                    complete = TRUE,
                    PRI = TRUE,
                    sort.by = c("out", "incl", "n"))
# Get the parsimonious solution:
sol_yp <- minimize(TT_y, include = "?", details = TRUE,
                    show.cases = TRUE)


# Get the intermediate solution:
sol_yi <- minimize(TT_y, include = "?", details = TRUE,
                    show.cases = TRUE, dir.exp = c(0,0,0,0,0,0))

# Get typical cases for the first term of the second intermediate solution:
mmr (results = sol_yi, outcome = "EXPORT", neg.out = FALSE,
    sol = "c1p1i2", match = FALSE, cases = 2, term = 1)

## Typical Cases - Focal Conjunct emp :
## ----------
## Focal Conjunct Comp. Conjunct Term Membership EXPORT St
## Switzerland_03 0.70 0.71 0.70 0.99 0.59
## Switzerland_99 0.75 0.54 0.54 0.98 0.69
## most_typical Rank uniquely_cov
## Switzerland_03 TRUE 1 TRUE
## Switzerland_99 FALSE 2 TRUE
##
## Typical Cases - Focal Conjunct bargain :
## ----------
## Focal Conjunct Comp. Conjunct Term Membership EXPORT St
## Switzerland_99 0.54 0.74 0.54 0.98 0.90
## Switzerland_03 0.76 0.70 0.70 0.99 0.53
## most_typical Rank uniquely_cov
## Switzerland_99 FALSE 1 TRUE
## Switzerland_03 TRUE 2 TRUE
##
## Typical Cases - Focal Conjunct OCCUP :
## ----------
## Focal Conjunct Comp. Conjunct Term Membership EXPORT St
## Switzerland_03 0.71 0.70 0.70 0.99 0.58
## Switzerland_99 0.74 0.54 0.54 0.98 0.70
## most_typical Rank uniquely_cov
## Switzerland_03 TRUE 2 TRUE
## Switzerland_99 FALSE 2 TRUE

(3)异常情况一致性

        偏差情况的一致性令人费解,因为它们在充分项S中的隶属度超过结果Y中的隶属度,即S > Y。如果S > 0.5&Y < 0.5,也就是说,如果我们有偏差情况的一致性是在种类上而不仅仅是在程度上(见表1)。S超过Y越多,经验难题就越大,特别是当S中的隶属度很高时。异常情况一致性的个案内分析旨在确定机制M不存在或阻止产生y的原因。原因必须是s中省略的INUS条件。公式2确定数据集中最佳可用的异常情况一致性。

        使用施耐德等人(2010)的相同数据,并专注于简化解决方案,函数mmr()识别每个充分项的偏差一致性情况。为了获得这一点,我们需要将参数match设置为FALSE,因为我们正在进行单个案例识别,但将参数cases设置为3,即偏差案例一致性的标识符(参见图1)。输出显示了偏差一致性案例(第一列),这些案例由足够的术语(第二列)分组,以及术语隶属度、结果隶属度、公式值Sd,以及该案例是否为特定术语的最偏差案例。在输出中,我们看到,例如,对于项emp * OCCUP,最偏离的情况一致性是具有最小公式值(Sd=0.67)的瑞士_90。图4显示了简约解的第一个充分路径emp * OCCUP的所有偏差情况一致性(右下角的情况)。

# Get deviant cases consistency for the parsimonious solution:
mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = FALSE, cases = 3)

## Deviant Consistency Cases :
## ----------
## cases term term_membership EXPORT Sd
## 2 Switzerland_90 emp*OCCUP 0.82 0.31 0.67
## 1 Australia_90 emp*OCCUP 0.68 0.19 0.83
## 3 Australia_95 emp*OCCUP 0.68 0.31 0.95
## 4 Australia_99 emp*OCCUP 0.68 0.38 1.02
## 14 Australia_95 BARGAIN*UNI*STOCK 0.90 0.31 0.51
## 7 Australia_03 BARGAIN*UNI*STOCK 0.90 0.35 0.55
## 6 Spain_99 BARGAIN*UNI*STOCK 0.79 0.27 0.69
## 8 Norway_03 BARGAIN*UNI*STOCK 0.79 0.32 0.74
## 41 Australia_99 BARGAIN*UNI*STOCK 0.79 0.38 0.80
## 21 Denmark_95 BARGAIN*UNI*STOCK 0.76 0.40 0.88
## 5 Belgium_99 BARGAIN*UNI*STOCK 0.72 0.40 0.96
## 31 Finland_95 BARGAIN*UNI*STOCK 0.73 0.49 1.03
## 42 Spain_03 occup*STOCK*ma 0.74 0.30 0.82
## 32 Denmark_95 occup*STOCK*ma 0.73 0.40 0.94
## 15 Canada_90 occup*STOCK*ma 0.62 0.28 1.04
## 22 Canada_95 occup*STOCK*ma 0.60 0.30 1.10
## most_deviant
## 2 TRUE
## 1 FALSE
## 3 FALSE
## 4 FALSE
## 14 TRUE
## 7 FALSE
## 6 FALSE
## 8 FALSE
## 41 FALSE
## 21 FALSE
## 5 FALSE
## 31 FALSE
## 42 TRUE
## 32 FALSE
## 15 FALSE
## 22 FALSE

# Plot each sufficient path of the parsimonious solution:
pimplot(data = SCHF, results = sol_yp, outcome = "EXPORT", case_labels = FALSE)

(5)异常案例覆盖率

        离经叛道的案例覆盖是令人费解的,因为它们是结果的成员,而不是任何已知的充分期限的成员。个案分析的目的是找出解公式中遗漏的充分项S+,从而触发机制a M和结果Y。

        由于偏差用例覆盖率是由它们不是什么来定义的——解决方案公式的成员(参见表1)——这个解决方案公式不是开始选择最佳可用偏差用例覆盖率的好地方。相反,这种类型的情况是根据它们在真值表行TT中的隶属关系来选择的。对于每个至少有一个异常案例覆盖的TT,可以执行案例内分析。如果同一TT中有超过一个异常情况覆盖率,公式3将确定用于案例内分析的最佳可用案例。

        与用于确定最佳可用典型情况的公式1类似,目标是最小化Y和TT中隶属度得分之间的差异,并倾向于TT中较高的隶属度。这是由公式3得到的。由于这种情况下分析的主要目标不是得出因果推理,而是确定缺失的连接,因此没有必要将TT分解为其组成集。

        应用到我们的示例中,下面的代码显示了异常情况覆盖率的列表(注意参数cases被设置为4)、它们在整个解公式中的隶属关系、它们在公式3中的值、它们所属的真值表行(以TT开头的列表示该情况所呈现的特定条件组合)、它们在该特定真值表行中的隶属关系以及结果中的隶属关系。案例按真值表行排序,并根据其适当性使用公式值Sd进行排名。例如,我们可以注意到真值表行mp∗bargain∗UN I∗occup∗STOCK∗MA(输出的第9、10、4和5行)由4个偏差覆盖率案例填充,其中UK_90是最适合案例分析的,具有最小的公式值(Sd=0.51)。

# Get deviant cases coverage for the parsimonious solution:

mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = FALSE, cases = 4)

## Deviant Coverage Cases :
## ----------
## case solution_membership Sd TT_EMP TT_BARGAIN TT_UNI
## 8 UK_03 0.12 0.22 0 0 1
## 3 Germany_99 0.17 0.33 1 1 0
## 11 UK_99 0.18 0.34 0 0 1
## 12 USA_99 0.20 0.39 0 0 1
## 7 Sweden_95 0.36 0.47 1 1 0
## 1 France_95 0.41 0.50 1 1 0
## 9 UK_90 0.36 0.51 0 0 1
## 10 UK_95 0.36 0.59 0 0 1
## 4 Ireland_03 0.32 0.64 0 0 1
## 5 Ireland_99 0.32 0.64 0 0 1
## 2 Germany_03 0.40 0.67 1 1 0
## 6 Netherlands_95 0.45 0.68 1 1 0
## TT_OCCUP TT_STOCK TT_MA TT_row_membership EXPORT
## 8 0 1 1 0.88 0.98
## 3 1 1 1 0.71 0.67
## 11 0 1 1 0.82 0.98
## 12 0 1 1 0.80 0.99
## 7 1 1 1 0.62 0.71
## 1 1 0 0 0.56 0.62
## 9 0 1 1 0.64 0.79
## 10 0 1 1 0.64 0.87
## 4 0 1 1 0.68 1.00
## 5 0 1 1 0.68 1.00
## 2 1 0 0 0.51 0.69
## 6 1 1 1 0.51 0.70

(6)个别不相关的案例

        个别无关(IIR)案例之所以得名,是因为在这种类型的案例中,单例内分析是没有用的。IIR案例在两种形式的案例内比较分析中确实起着至关重要的作用(见第2.3.2节)。即使对单个病例研究没有用处,确定IIR病例也是有益的,因为它们的清单——连同异常病例的覆盖范围——表明了病例之间的多样性,而没有结果。IIR案例(和异常案例覆盖范围)填充的真值表行越多,这组案例就越异构。

        函数mmr()列出了相对于整个解公式的所有单独无关的情况(也称为全局未覆盖的IIR情况),并将它们中的每一个排序到它们最适合的真值表中。由于这些案例不能提供单一案例研究的信息,只是用来表明案例之间的多样性,而没有结果,因此该函数不涉及IIR案例的公式排名。

# Get individually irrelevant cases for the parsimonious solution:
mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = FALSE, cases = 5)

## Individually Irrelevant Cases :
## ----------
## case solution_membership TT_EMP TT_BARGAIN TT_UNI TT_OCCUP
## 19 New Zealand_90 0.17 0 0 0 0
## 18 New Zealand_03 0.25 0 0 1 0
## 21 New Zealand_99 0.25 0 0 1 0
## 6 Canada_03 0.38 0 0 1 0
## 7 Canada_99 0.20 0 0 1 0
## 20 New Zealand_95 0.20 0 0 1 0
## 4 Belgium_90 0.26 1 1 0 0
## 10 France_90 0.23 1 1 0 0
## 14 Italy_90 0.01 1 1 0 0
## 25 Spain_90 0.03 1 1 0 0
## 1 Austria_90 0.30 1 1 0 1
## 2 Austria_95 0.30 1 1 0 1
## 3 Austria_99 0.30 1 1 0 1
## 9 Finland_90 0.30 1 1 0 1
## 11 Germany_90 0.05 1 1 0 1
## 12 Germany_95 0.17 1 1 0 1
## 13 Italy_03 0.25 1 1 0 1
## 15 Italy_95 0.03 1 1 0 1
## 17 Netherlands_90 0.14 1 1 0 1
## 8 Denmark_90 0.45 1 1 0 1
## 16 Italy_99 0.38 1 1 0 1
## 5 Belgium_95 0.21 1 1 0 1
## 27 Sweden_90 0.07 1 1 0 1
## 26 Spain_95 0.06 1 1 1 0
## 22 Norway_90 0.12 1 1 1 1
## 23 Norway_95 0.49 1 1 1 1
## 24 Norway_99 0.45 1 1 1 1
## TT_STOCK TT_MA TT_row_membership EXPORT
## 19 0 1 0.58 0.06
## 18 0 1 0.75 0.13
## 21 0 1 0.75 0.08
## 6 1 1 0.62 0.36
## 7 1 1 0.80 0.40
## 20 1 1 0.76 0.09
## 4 0 0 0.63 0.14
## 10 0 0 0.54 0.42
## 14 0 0 0.70 0.20
## 25 0 0 0.69 0.17
## 1 0 0 0.70 0.25
## 2 0 0 0.70 0.25
## 3 0 0 0.70 0.47
## 9 0 0 0.70 0.17
## 11 0 0 0.92 0.27
## 12 0 0 0.74 0.32
## 13 0 0 0.67 0.31
## 15 0 0 0.71 0.18
## 17 0 0 0.57 0.39
## 8 1 0 0.53 0.34
## 16 1 0 0.62 0.29
## 5 1 1 0.53 0.20
## 27 1 1 0.74 0.36
## 26 0 0 0.84 0.19
## 22 0 0 0.65 0.14
## 23 0 0 0.51 0.14
## 24 0 1 0.55 0.32

(7)为比较过程跟踪确定最佳匹配的案例对

        文献确定了四种可行的案例内比较后的QCA两种类型的情况下(施耐德和罗尔夫,手稿)。每次比较都追求不同的分析目标。图5总结了这些目标。“沿着主对角线”的两个比较追求因果推理目标,而两个“垂直”比较旨在通过识别从已知充分项中缺失的INUS条件或从解公式中缺失的整个新充分项来改进QCA模型规范。

(8)匹配典型和个别不相关(IIR)案例

        在典型案例和IIR案例之间进行案例内比较的目的是,实证地调查一个充分项是否不仅对跨案例层面的结果(Y),而且对案例内层面的机制M,都是差异产生者,即因果关系。同样,对两个典型案例的案例内比较也会经验性地探究,在尽可能彼此不同的典型案例中,相同的机制M是否将充分项S与结果Y联系起来。对于这两种比较形式,它都认为如果S是一个连词,那么它的每一个连词C都必须是差异制造者。

        因此,典型情况和IIR情况(或另一个典型情况)之间的比较必须一次对每个单个连接C执行。下面的部分提供了每种比较形式的更多细节,并详细说明了SetMethods中各自函数的排序机制和数学公式。

        函数mmr()首先将每对典型和IIR情况排序为表2中定义的1-8级。较小等级数的案例更适合于这两种案例类型的案例内比较分析的分析目标。例如,对于排名1的案例对,它认为在典型案例和IIR案例上,焦点连词FC都能产生差异,并且是确定的。

        在每个等级中,公式4最大限度地满足以下条件:在两种情况下,FC和Y的差值都应该很小;两者都应具有较高的CC成员资格;它们都应该靠近对角线。在每个等级中,公式值较小的大小写对更合适。此外,典型案件应由调查的充分条款唯一地涵盖,而IIR案件应涵盖全球(不包括任何充分条款)。

        要切换到比较MMR并标识成对的情况,参数匹配必须设置为TRUE。此外,为了获得最佳的典型案例和IIR案例对,我们将案例设置为2。在第一个充分项的输出中(注意参数项设置为1),我们将依次获得每个焦点连接的最佳可用对,作为单独的表。输出列出了典型案例和IIR案例的名称、它们在上述公式中的值(Distance)、这对案例来自哪个等级、典型案例是否被唯一覆盖,以及IIR案例是否被全局覆盖。研究人员应该努力选择唯一覆盖和全局覆盖的案例,具有尽可能小的秩,并且具有最小的距离值。例如,对于焦点结膜炎OCCUP,典型病例Denmark_99和IIR病例New Zealand_90是可用的最佳配对,因为它们在Rank 1中,它们具有最小的公式值(Distance=1.24),并且典型病例被术语唯一覆盖,而IIR病例被解决方案全局覆盖。

# Get matching pairs of typical and IIR cases for the first term
# of the parsimonious solution:

mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = TRUE, cases = 2, term = 1)

## Focal Conjunct emp :
## ----------
## Typical IIR Distance PairRank UniqCovTyp GlobUncovIIR
## 44 Switzerland_03 Norway_90 1.30 1 TRUE TRUE
## 43 Denmark_03 Norway_90 1.38 1 TRUE TRUE
## 88 Switzerland_03 Norway_95 1.38 1 TRUE TRUE
## 80 Switzerland_03 Italy_95 1.40 1 TRUE TRUE
## 60 Switzerland_03 Belgium_95 1.55 1 TRUE TRUE
##
## Focal Conjunct OCCUP :
## ----------
## Typical IIR Distance PairRank UniqCovTyp
## 37 Denmark_99 New Zealand_90 1.24 1 TRUE
## 81 Denmark_99 New Zealand_95 1.30 1 TRUE
## 133 Denmark_99 New Zealand_03 1.31 1 TRUE
## 38 Switzerland_99 New Zealand_90 1.39 1 TRUE
## 82 Switzerland_99 New Zealand_95 1.45 1 TRUE
## GlobUncovIIR
## 37 TRUE
## 81 TRUE
## 133 TRUE
## 38 TRUE
## 82 TRUE

(9)两个典型案例的匹配

        两个典型案例的匹配遵循与典型案例和IIR案例之间的匹配相似的逻辑。

        我们的目标是在充分项S到机制m中探究每个连接(FC)的差异性。表3根据两个典型案例在FC中的隶属关系和互补条件CC定义了可能出现的四个等级。在将每个可能的典型案例对排序到其中一个等级后,公式5进一步对这些对进行排序,使它们在FC和结果上的差异分别最小化;他们在CC中的成员资格是最大化的;它们都接近于对角线(测试严重性原则)。此外,这两种典型情况应由充分条款唯一地涵盖。

# Get matching pairs of typical and typical cases for the first term
# of the parsimonious solution:
mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = TRUE, cases = 1, term = 1)


## Focal Conjunct emp :
## ----------
## Typical1 Typical2 Distance PairRank UniqCov1 UniqCov2
## 12 Switzerland_03 Denmark_03 1.72 1 TRUE TRUE
## 4 Switzerland_03 Denmark_99 1.44 2 TRUE TRUE
## 3 Denmark_03 Denmark_99 1.62 2 TRUE TRUE
## 8 Switzerland_03 Switzerland_99 2.13 2 TRUE TRUE
## 7 Denmark_03 Switzerland_99 2.31 2 TRUE TRUE
##
## Focal Conjunct OCCUP :
## ----------
## Typical1 Typical2 Distance PairRank UniqCov1 UniqCov2
## 2 Switzerland_99 Denmark_99 1.27 1 TRUE TRUE
## 4 Switzerland_03 Denmark_99 1.44 3 TRUE TRUE
## 3 Denmark_03 Denmark_99 1.62 3 TRUE TRUE
## 8 Switzerland_03 Switzerland_99 2.13 3 TRUE TRUE
## 7 Denmark_03 Switzerland_99 2.31 3 TRUE TRUE

(10)匹配典型和异常案例的一致性

        对典型和异常情况一致性的案例内比较分析旨在确定所讨论的充分项S中缺失的INUS条件。可用的最佳案例对最大限度地满足以下条件:它们在S中的隶属度应该尽可能高且相似它们在Y中的隶属关系是尽可能不同的。公式6将这些匹配条件转换为练习。

        将cases设为3,得到精简解sol_yp中每一个充分项的典型一致性和偏差一致性的最佳可用对。为了在充分项emp∗OCCUP中识别缺失的INUS,我们可以选择用于过程跟踪的最佳可用案例对是典型案例瑞士03和异常一致性案例澳大利亚90之间的案例,因为它们具有最小的公式值(距离=0.84)。

# Get matching pairs of typical and deviant consistency cases for the
# parsimonious solution:

mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = TRUE, cases = 3)


## Term emp*OCCUP :
## ----------
## typical deviant_consistency distance term best_matching_pair
## 1 Switzerland_03 Australia_90 0.84 emp*OCCUP TRUE
## 2 Switzerland_99 Australia_90 0.85 emp*OCCUP FALSE
## 3 Switzerland_99 Switzerland_90 0.85 emp*OCCUP FALSE
## 4 Switzerland_03 Switzerland_90 0.92 emp*OCCUP FALSE
## 5 Switzerland_03 Australia_95 0.96 emp*OCCUP FALSE
##
## Term BARGAIN*UNI*STOCK :
## ----------
## typical deviant_consistency distance term
## 1 Netherlands_03 Australia_95 0.55 BARGAIN*UNI*STOCK
## 2 Netherlands_03 Australia_03 0.59 BARGAIN*UNI*STOCK
## 3 Netherlands_99 Australia_95 0.65 BARGAIN*UNI*STOCK
## 4 Netherlands_99 Australia_03 0.69 BARGAIN*UNI*STOCK
## 5 Netherlands_99 Spain_99 0.73 BARGAIN*UNI*STOCK
## best_matching_pair
## 1 TRUE
## 2 FALSE
## 3 FALSE
## 4 FALSE
## 5 FALSE
##
## Term occup*STOCK*ma :
## ----------
## typical deviant_consistency distance term best_matching_pair
## 1 USA_03 Spain_03 0.84 occup*STOCK*ma TRUE
## 2 Japan_99 Spain_03 0.86 occup*STOCK*ma FALSE
## 3 Japan_03 Spain_03 0.88 occup*STOCK*ma FALSE
## 4 USA_90 Spain_03 0.89 occup*STOCK*ma FALSE
## 5 USA_95 Spain_03 0.91 occup*STOCK*ma FALSE

(11)匹配异常案例覆盖率和IIR案例

        对偏差案例覆盖率和IIR案例进行个案内比较分析的目的是识别由QCA生成的充分解公式中缺失的充分连接S+。匹配用例的参考点是它们在它们所属的真值表行TT中的隶属关系。类似于典型和异常情况一致性情况的案例内比较,目标是最大化这两种情况的隶属度以及它们在TT上的相似性和在Y上的差异。

        可以通过将Cases设置为4来识别这第四种比较的case。由于对于偏差覆盖和IIR情况,我们感兴趣的是识别整个缺失的充分项,因此这些对的输出主要关注真值表行中的配对,而不是充分项。

        因此,输出按真值表的行(以TT开头的列显示条件的组合)排序,对于每个真值表的行,我们可以根据列距离中的公式值确定最佳匹配对。例如,如果我们关注真值表行EMP∗BARGAI N∗uni∗OCCUP∗stock∗ma(输出中的第6,7,8,9,10行),偏差情况覆盖率France_95和IIR情况Finland_90构成最佳匹配对,对于这个特定的真值表行(距离=1.43)具有最小的公式值。

# Get matching pairs of deviant coverage and IIR cases for the
# parsimonious solution:

mmr (results = sol_yp, outcome = "EXPORT", neg.out = FALSE,
    sol = 1, match = TRUE, cases = 4)


## Matching Deviant Coverage-IIR Cases :
## ----------
## deviant_coverage individually_irrelevant distance best_matching_pair
## 1 USA_99 New Zealand_95 0.58 TRUE
## 2 UK_03 New Zealand_95 0.59 FALSE
## 3 UK_99 New Zealand_95 0.59 FALSE
## 4 Ireland_03 New Zealand_95 0.73 FALSE
## 5 Ireland_99 New Zealand_95 0.73 FALSE
## 6 France_95 Finland_90 1.43 TRUE
## 7 France_95 Italy_95 1.44 FALSE
## 8 Germany_03 Finland_90 1.46 FALSE
## 9 Germany_03 Italy_95 1.47 FALSE
## 10 France_95 Austria_90 1.51 FALSE
## 11 Sweden_95 Sweden_90 1.41 TRUE
## 12 Sweden_95 Belgium_95 1.43 FALSE
## 13 Netherlands_95 Belgium_95 1.48 FALSE
## 14 Netherlands_95 Sweden_90 1.64 FALSE
## TT_EMP TT_BARGAIN TT_UNI TT_OCCUP TT_STOCK TT_MA
## 1 0 0 1 0 1 1
## 2 0 0 1 0 1 1
## 3 0 0 1 0 1 1
## 4 0 0 1 0 1 1
## 5 0 0 1 0 1 1
## 6 1 1 0 1 0 0
## 7 1 1 0 1 0 0
## 8 1 1 0 1 0 0
## 9 1 1 0 1 0 0
## 10 1 1 0 1 0 0
## 11 1 1 0 1 1 1
## 12 1 1 0 1 1 1
## 13 1 1 0 1 1 1
## 14 1 1 0 1 1 1

(12)增强标准分析(ESA)

        有限的经验多样性是社会科学数据中普遍存在的特征。自Ragin的开创性著作(Ragin, 1987, esp)以来,逻辑余数行的处理一直是一个主要主题。

        在Ragin(2008,第8章和第9章)中,在标准分析(SA)的标签下提出了三种剩余的方法。研究人员可以决定不把它们包括在逻辑最小化中(产生保守或复杂的解CS),而包括所有剩余的解是简化(产生最节俭的解决方案PS),还是只包括那些简化假设是基于所谓的定向期望(产生中间解决方案)。

        Schneider和Wagemann(2012,第8章)提出了增强标准分析(Enhanced Standard Analysis, ESA),该分析认为对特定余数的简化假设是站不住脚的。难以为继的原因有三个。不连贯的反事实,要么是与必然性主张或否定结果的假设相矛盾的逻辑余数,要么是不可信的反事实,由关于不可能余数的主张组成。ESA简单地规定,任何QCA解决公式都不能基于站不住脚的假设。

        图6提供了由SA和ESA定义的不同类型假设的图形表示。这两种方法都只允许简化假设(即那些在内圈中的假设),并且都区分了困难和容易的反事实(即圆圈内的垂直线)。ESA而不是SA阻止了任何站不住脚的假设(即下方的灰色区域)。

当研究者声称存在必要条件时,当结果及其否定的充分性陈述时,以及/或在真值表中使用两个或两个以上具有互斥类别的条件时,就会有做出站不住脚假设的风险。

        欧空局要求研究人员确定那些将其纳入逻辑最小化的逻辑剩余行,这些行相当于一个站不住脚的主张。因此,我们得到了增强的PS和增强的is。1功能esa()提供了一个简单的工具来避免站不住脚的假设,从而将esa付诸实践。首先,函数esa()可以排除与单个必要条件、必要条件的联合或更复杂的必然性表达式相矛盾的余数。例如,假设分离STOCK + MA对于输出EXPORT是必需的,我们禁止nec_cond参数中这个必要性声明所暗示的所有剩余行。所有作为STOCK - MA子集的逻辑剩余行随后在真值表对象ttnew中被设为OUT = 0,从而排除在进一步的逻辑最小化之外。

# Ban logical reminders contradicting necessity:
# Let's assume that "STOCK + MA" is necessary for "EXPORT":

newtt <- esa(oldtt = TT_y, nec_cond = "STOCK + MA")

## EMP BARGAIN UNI OCCUP STOCK MA OUT n incl PRI cases
## 1 0 0 0 0 0 0 0 0 - -
## 3 0 0 0 0 1 0 ? 0 - -
## 4 0 0 0 0 1 1 ? 0 - -
## 5 0 0 0 1 0 0 0 0 - -
## 6 0 0 0 1 0 1 ? 0 - -
## 7 0 0 0 1 1 0 ? 0 - -
## 9 0 0 1 0 0 0 0 0 - -
## 13 0 0 1 1 0 0 0 0 - -
## 14 0 0 1 1 0 1 ? 0 - -
## 15 0 0 1 1 1 0 ? 0 - -
## 17 0 1 0 0 0 0 0 0 - -
## 18 0 1 0 0 0 1 ? 0 - -
## 20 0 1 0 0 1 1 ? 0 - -
## 21 0 1 0 1 0 0 0 0 - -
## 22 0 1 0 1 0 1 ? 0 - -
## 23 0 1 0 1 1 0 ? 0 - -
## 24 0 1 0 1 1 1 ? 0 - -
## 25 0 1 1 0 0 0 0 0 - -
## 26 0 1 1 0 0 1 ? 0 - -

        其次,esa()函数还可以禁止不可信的反事实来生成真值表,其中通过连词识别的特定逻辑余数被排除在外。例如,我们可以通过在参数untenable_LR中使用布尔表达式来禁止所有具有BARGAI N+ ~ OCCUP的剩余行。最后,该函数可以排除矛盾的简化假设(这是另一种形式的站不住脚的假设)和经验观察到的属于同时子集关系12的行,方法是在参数conflict_rows中使用唯一的真值表行标识符。参数untenable_LR接受布尔表达式,只排除逻辑余数,而参数conflict_rows可以通过它们的唯一标识符(行号)排除经验观察到的行和剩余行。

# Ban impossible logical remainders:

newtt <- esa(oldtt = TT_y, untenable_LR = "BARGAIN*~OCCUP")

# Ban contradictory rows:

newtt <- esa(oldtt = TT_y, contrad_rows = c("19", "14", "46", "51"))

(13)集合解析论评价

        Ragin(1987,第7章)阐述了理论评价的概念。本质上,它包括确定在实证分析之前制定的研究人员理论(T)与通过QCA获得的实证结果(S)之间的重叠。由于T和S都以布尔表达式的形式表示,因此T和S之间的所有四种逻辑上可能的组合都可以用布尔项表示,并且可以计算出这四种表达式中的每种情况的隶属关系。理论评价揭示了T的哪些方面得到了S的实证证实,哪些方面没有得到S的实证证实。它还揭示了这种医学支持有多么强大。最后但并非最不重要的是,理论评估可以作为一种案例选择工具,通过识别在经验解决方案中显示成员分数的案例,以及基于T的预期或完全意外的结果。

        Schneider和Wagemann(2012,第11章)通过不仅考虑T和S中的每个案例的成员分数,而且考虑结果y来改进理论评估,这是必要的,因为基于拟合参数的发展,现在已经成为广泛的实践,允许不完美的一致性和覆盖分数的解决公式。这意味着在应用的QCA中,存在S& &Y和S& & &Y的情况。这就产生了八个不同的领域。每个区域都可以定义为布尔表达式,提供不同的分析信息,并定义。

        Function theory.evaluation()在布尔项指定的理论和使用QCA包获得的结果之间执行理论评估过程。假设理论可以总结为EMP* ~ MA + STOCK,下面的例子显示了如何使用结果EXPORT的第二个中间解进行理论评估。输出的第一部分显示了理论和经验解决方案之间每个交叉点的情况的名称和比例。输出的第二部分显示了解决方案、理论的拟合参数及其交点,这些交点表明这些区域在多大程度上符合EXPORT的充分性陈述。

        此外,该函数还存储理论和经验之间每个交集的每个案例的成员关系,可以通过设置参数print来访问。data为TRUE。

# Assuming the theory can be summarized as "EMP*~MA + STOCK",
# perform theory evaluation using the second intermediate solution:

theory.evaluation(theory = "EMP*~MA + STOCK", empirics = sol_yi,
                 outcome = "EXPORT", sol = 2, print.data=FALSE)

##
## Cases:
## ----------
##
## Covered Most Likely (T*E and Y > 0.5) :
## *******************
##
## Cases in the intersection/Total number of cases: 23 / 76 = 30.26 %
##
## Case Names:
## [1] "Ireland_90" "Japan_90" "USA_90" "Ireland_95"
## [5] "Japan_95" "Switzerland_95" "USA_95" "Denmark_99"
## [9] "Finland_99" "France_99" "Japan_99" "Netherlands_99"
## [13] "Sweden_99" "Switzerland_99" "Belgium_03" "Denmark_03"
## [17] "Finland_03" "France_03" "Japan_03" "Netherlands_03"
## [21] "Sweden_03" "Switzerland_03" "USA_03"
##
## Covered Least Likely (t*E and Y > 0.5) :
## *******************
##
## Cases in the intersection/Total number of cases: 0 / 76 = 0 %
##
## Case Names:
## [1] "No cases in this intersection"
##
## Uncovered Most Likely (T*e and Y > 0.5) :
## *******************
##
## Cases in the intersection/Total number of cases: 12 / 76 = 15.79 %
##
## Case Names:
## [1] "UK_90" "France_95" "Netherlands_95" "Sweden_95"
## [5] "UK_95" "Germany_99" "Ireland_99" "UK_99"
## [9] "USA_99" "Germany_03" "Ireland_03" "UK_03"
##
## Uncovered Least Likely (t*e and Y > 0.5) :
## *******************
##
## Cases in the intersection/Total number of cases: 0 / 76 = 0 %
##
## Case Names:
## [1] "No cases in this intersection"
##
## Inconsistent Most Likely (T*E and Y < 0.5) :
## *******************
##
## Cases in the intersection/Total number of cases: 12 / 76 = 15.79 %
##
## Case Names:
## [1] "Canada_90" "Switzerland_90" "Australia_95" "Canada_95"
## [5] "Denmark_95" "Finland_95" "Australia_99" "Belgium_99"
## [9] "Spain_99" "Australia_03" "Norway_03" "Spain_03"
##
## Inconsistent Least Likely (t*E and Y < 0.5) :
## *******************
##
## Cases in the intersection/Total number of cases: 1 / 76 = 1.32 %

(14)用于集群数据结构的诊断工具

        在社会科学和邻近学科中分析的大多数数据都包含结构或层,这些结构或层可能与分析相关,但无法被用于分析该数据的模型捕获。García-Castro和Arino(2016)沿着时间维度讨论聚类。这可以是几天,几年,几十年,或者非常重要的时期(危机前后)。集群也可以有不同的起源。例如,病例可按地理单位(如世界区域或次国家单位)聚集。也可以按照实质性的界线进行分组,例如经济部门、政党、政治制度类型。

        每当研究人员没有通过她的QCA模型中的条件捕捉到这些差异时,她实际上就假设分析差异无关紧要。通常有很好的理由不将额外的条件包括在分析中,保持有限的多样性就是其中之一。

        然而,应该对不同时期、地理单位和/或实质性领域的案例进行实证检验。

        Function cluster()提供了执行这种测试的工具。分析了从汇总数据中得到的QCA解公式是否也能在数据中的每个子种群中找到。如果可以,那么将数据池化就可以了。如果不能,那么汇集数据就不合适,因为它产生的解决方案并不适用于所有子种群。相反,它是将遵循不同因果逻辑的案例汇集在一起的产物。在这种情况下,研究人员可能会决定从他们的分析中删除那些不遵循一般模式的亚种群或包括条件

为了使用cluster()函数,研究人员需要长格式的数据,其中一列标识分析单元,一列标识聚类元素。在我们的示例中,使用Schneider等人(2010)的数据,标识单位的列是COUNTRY列,而集群元素存储在YEAR列中。在获得长格式的数据之后,我们可以通过在cluster()函数中输入解决方案(在本例中为sol_yi),同时指定数据、结果、单元标识符和集群标识符,来诊断我们的解决方案如何在不同的单元和集群中保持。输出的第一部分显示了每个充分项的总体、汇总样本和待诊断的整个解决方案的一致性充分性。输出的第一行应该等于产生溶液时获得的一致性测量值。下面的行显示了相同术语和解决方案的一致性值,但适用于每个集群和每个单元。如果对每个集群子样本和每个单位子样本分别进行分析,我们将获得这些值。例如,充分项emp∗UN I∗OCCUP∗ma的集合一致性为0.919,但1990年只有0.733。这可能是研究人员的一个迹象,她的充分性陈述不一致,可能不以同样的方式适用于1990年的病例群。一般来说,如果集群之间的一致性值与一个术语的池一致性相差很大,我们可能需要重新检查分析的设置来解释这一点。输出的“距离”部分报告了从聚类到池化数据的拟合参数的差异。最后,输出的最后一部分显示了一个类似的覆盖率表,其中包括池、集群之间和单位度量。

# Perfom cluster diagnostic:
# First we need to load the Schneider et. al. (2010) data in the long format:
data(SCHLF)

# This data has a column identifying the unit (country)
# and the clustering element (year):
head(SCHLF)

## EMP BARGAIN UNI OCCUP STOCK MA EXPORT COUNTRY YEAR
## Australia_90 0.07 0.90 1.00 0.68 0.45 0.33 0.19 Australia 1990
## Austria_90 0.70 0.98 0.01 0.91 0.01 0.05 0.25 Austria 1990
## Belgium_90 0.94 0.95 0.14 0.37 0.26 0.14 0.14 Belgium 1990
## Canada_90 0.04 0.21 0.99 0.11 0.62 0.31 0.28 Canada 1990
## Denmark_90 0.59 0.78 0.10 0.55 0.53 0.10 0.34 Denmark 1990
## Finland_90 0.70 0.97 0.20 0.95 0.02 0.13 0.17 Finland 1990


# Get the intermediate solution:
sol_yi <- minimize(SCHLF, outcome = "EXPORT",
conditions = c("EMP","BARGAIN","UNI",
"OCCUP","STOCK", "MA"),
incl.cut1 = .9,
include = "?",
details = TRUE, show.cases = TRUE,
dir.exp = c(0,0,0,0,0,0))
# Get pooled, within, and between consistencies for the intermediate solution:
cluster(data = SCHLF, results = sol_yi, outcome = "EXPORT", unit_id = "COUNTRY",
cluster_id = "YEAR")
## Consistencies:
## ---------------
## emp*bargain*OCCUP BARGAIN*UNI*STOCK emp*UNI*OCCUP*ma
## Pooled 0.909 0.796 0.919
## Between 1990 0.839 0.873 0.733
## Between 1995 0.903 0.727 0.953
## Between 1999 0.928 0.802 1.000
## Between 2003 0.951 0.818 1.000
## Within Australia 1.000 0.405 0.634
## Within Austria 1.000 1.000 1.000
## Within Belgium 1.000 0.803 1.000
## Within Canada 1.000 1.000 1.000
## Within Denmark 1.000 0.757 1.000
## Within Finland 1.000 0.835 0.957
## Within France 1.000 0.916 1.000
## Within Germany 1.000 1.000 1.000
## Within Ireland 1.000 1.000 1.000
## Within Italy 1.000 0.800 1.000
## Within Japan 1.000 1.000 1.000
## Within Netherlands 1.000 1.000 1.000
## Within NewZealand 0.414 0.875 0.727
## Within Norway 0.965 0.486 0.930
## Within Spain 1.000 0.524 1.000
## Within Sweden 1.000 0.926 1.000
## Within Switzerland 0.880 1.000 1.000
## Within UK 1.000 1.000 1.000
## Within USA 1.000 1.000 1.000
## emp*occup*STOCK*ma bargain*occup*STOCK*ma
## Pooled 0.904 0.913
## Between 1990 0.858 0.903
## Between 1995 0.847 0.884
## Between 1999 1.000 1.000
## Between 2003 0.995 0.916
## Within Australia 0.865 1.000
## Within Austria 1.000 1.000
## Within Belgium 1.000 1.000
## Within Canada 0.587 0.587
## Within Denmark 0.732 1.000
## Within Finland 1.000 1.000
## Within France 1.000 1.000
## Within Germany 1.000 1.000
## Within Ireland 1.000 1.000
## Within Italy 1.000 1.000
## Within Japan 1.000 0.997
## Within Netherlands 1.000 1.000
## Within NewZealand 0.710 0.710
## Within Norway 0.930 0.961
## Within Spain 1.000 0.628
## Within Sweden 1.000 1.000
## Within Switzerland 1.000 1.000
## Within UK 1.000 1.000
## Within USA 1.000 1.000
##
##
## Distances:
## ----------
## emp*bargain*OCCUP BARGAIN*UNI*STOCK
## From Between to Pooled 0.023 0.032
## From Within to Pooled 0.031 0.050
## emp*UNI*OCCUP*ma emp*occup*STOCK*ma
## From Between to Pooled 0.060 0.039
## From Within to Pooled 0.024 0.030
## bargain*occup*STOCK*ma
## From Between to Pooled 0.024
## From Within to Pooled 0.032
##
##
## Coverages:
## ----------
## emp*bargain*OCCUP BARGAIN*UNI*STOCK emp*UNI*OCCUP*ma
## Pooled 0.194 0.497 0.171
## Between 1990 0.231 0.246 0.193
## Between 1995 0.206 0.466 0.271
## Between 1999 0.174 0.589 0.042
## Between 2003 0.184 0.570 0.214
## Within Australia 0.415 1.000 0.675
## Within Austria 0.075 0.041 0.279
## Within Belgium 0.138 0.959 0.283
## Within Canada 0.328 0.545 0.246
## Within Denmark 0.273 0.894 0.317
## Within Finland 0.059 0.937 0.282
## Within France 0.070 0.805 0.118
## Within Germany 0.236 0.374 0.205
## Within Ireland 0.113 0.352 0.098
## Within Italy 0.173 0.367 0.112
## Within Japan 0.161 0.064 0.161
## Within Netherlands 0.150 0.748 0.183
## Within NewZealand 1.000 0.778 0.667
## Within Norway 0.598 0.978 0.435
## Within Spain 0.204 0.710 0.204
## Within Sweden 0.061 0.761 0.054
## Within Switzerland 0.738 0.244 0.032
## Within UK 0.075 0.282 0.052
## Within USA 0.037 0.045 0.037
## emp*occup*STOCK*ma bargain*occup*STOCK*ma
## Pooled 0.298 0.278
## Between 1990 0.452 0.450
## Between 1995 0.459 0.345
## Between 1999 0.069 0.117
## Between 2003 0.321 0.290
## Within Australia 0.675 0.317
## Within Austria 0.041 0.034
## Within Belgium 0.228 0.103
## Within Canada 0.701 0.701
## Within Denmark 0.480 0.238
## Within Finland 0.218 0.042
## Within France 0.132 0.048
## Within Germany 0.205 0.169
## Within Ireland 0.291 0.118
## Within Italy 0.265 0.184
## Within Japan 0.456 0.947
## Within Netherlands 0.196 0.070
## Within NewZealand 0.611 0.611
## Within Norway 0.435 0.533
## Within Spain 0.204 0.581
## Within Sweden 0.054 0.057
## Within Switzerland 0.093 0.093
## Within UK 0.072 0.072
## Within USA 0.717 0.717

        Function cluster()可以以类似的方式应用于必要关系,只需将参数必要性设置为TRUE,并在字段结果中输入要诊断的必要条件。此外,我们还可以通过在results参数中输入this来诊断布尔表达式。

# Get pooled, within, and between consistencies for ~EMP
# as necessary for EXPORT:

cluster(data = SCHLF, results = "~EMP", outcome = "EXPORT",
        unit_id = "COUNTRY", cluster_id = "YEAR", necessity=TRUE)

# Get pooled, within, and between consistencies for EMP*~MA*STOCK
# as sufficient for EXPORT:

cluster(data = SCHLF, results = "EMP*~MA*STOCK", outcome = "EXPORT",
        unit_id = "COUNTRY", cluster_id = "YEAR")

(二)额外功能

(1)绘制足够的项和解,真值表行,和必要关系

        包SetMethods还包括一个函数pimplot(),用于绘制每个充分项和解公式(通过使用包QCA中的最小化()函数获得)。该函数还可以通过使用参数include .tt或trows根据结果绘制真值表行,如下面的示例所示。此外,通过将参数必要性设置为TRUE,该函数可以绘制使用类“s”的对象(通过使用包QCA中的super子集()函数获得)从必要性分析中获得的结果。

# Plot the prime implicants of the parsimonious solution:
pimplot(data = SCHF, results = sol_yp, outcome = "EXPORT")

# Plot all truth table rows with a consistency higher than 0.9:
pimplot(data=SCHF, results = sol_yi, incl.tt=0.9, outcome = "EXPORT", sol = 1)

# Plot truth table rows "60" and "61":
pimplot(data=SCHF, results = sol_yi, ttrows =c("60","61"),
        outcome = "EXPORT", sol = 1)

# For plotting results of necessity analyses using superSubset,
# the first stept is to obtain an "sS" object:
SUPSUB <- superSubset(SCHF, outcome="EXPORT",
                    conditions = c("EMP","BARGAIN","UNI","OCCUP","STOCK", "MA"),
                    relation = "necessity", incl.cut = 0.8)

SUPSUB
# This can be imputed as result and necessity should be set to TRUE:
pimplot(data = SCHF, results = SUPSUB, outcome = "EXPORT",
        necessity = TRUE)

(2)QCAradar

        包中包含的另一个函数是QCAradar()函数,它允许以雷达图的形式可视化QCA结果或简单的布尔表达式16。该函数在参数中接受通过包QCA中的函数minimize()获得的足够解的结果,或者包含三个以上条件的布尔表达式,如下面第二个示例所示:
 

# Display radar chart for the second intermediate solution:
QCAradar(results = sol_yi, outcome = "EXPORT", fit=TRUE, sol = 2)

        图8a显示了第二个中间解公式的雷达图。不同的充分项在雷达上以不同的深浅重叠。例如,我们可以看到第一个项emp*bargain*OCCUP,由于条件emp缺失,它在相应的角落被设置为0,条件BARGAI N缺失并设置为0,条件OCCUP存在并设置为1。由于其余的条件没有在这一项中指定,因此它们都留为-

# Show a radar chart for the following boolean expression "A*~B*C*~D"

QCAradar(results = "A*~B*C*~D")

        图8b显示了布尔表达式“a∗~ B∗C∗~ D”的雷达图。存在的条件A和C对应的角设置为1,而不存在的条件B和D设置为0。图中没有剩余的条件,因为所有条件都指定了。

(3)间接标定

        SetMethods还包括执行Ragin(2008)所描述的间接校准过程的功能17。这个过程假设分析中包含的案例具有区间尺度的原始分数,这些分数最初可以被广泛地分类为不同级别的模糊集隶属度。随后,使用二项回归或beta回归将原始分数转换为校准分数。假设向量x包含初始原始分数,而向量x_cal包含这些值的粗略分组到集合成员分数中,如果binom设置为TRUE,则函数indirectCalibration()可以通过使用二项回归将x拟合到x_cal来生成模糊集分数a的向量。

# Generate fake data
set.seed(4)
x <- runif(20, 0, 1)

# Find quantiles
quant <- quantile(x, c(.2, .4, .5, .6, .8))

# Theoretical calibration
x_cal <- NA
x_cal[x <= quant[1]] <- 0
x_cal[x > quant[1] & x <= quant[2]] <- .2
x_cal[x > quant[2] & x <= quant[3]] <- .4
x_cal[x > quant[3] & x <= quant[4]] <- .6
x_cal[x > quant[4] & x <= quant[5]] <- .8
x_cal[x > quant[5]] <- 1
x_cal

# Indirect calibration (binomial)
a <- indirectCalibration(x, x_cal, binom = TRUE)
a

(三)总结

        在本文中,我们介绍了R包Setmethods的主要功能。的确,开始在R中执行QCA比开始使用指向和点击软件更麻烦。

        然而,R提供的灵活性也是它的优势,特别是对于像QCA这样的年轻方法。随着集合方法的不断发展,软件实现需要快速更新和改进。SetMethods包的设计正是为了做到这一点:为应用研究人员提供一个实现新思想的工具,以增强集合论分析。

三、《Package ‘SetMethods’》阅读

描述:用于执行集理论多方法研究,聚类数据的QCA,理论评估,增强标准分析,间接校准,雷达可视化的功能。此外,它还包括复制Oana, i.e., C. Q. Schneider和E. Thomann的书中的示例的数据。使用R进行定性比较分析(QCA): A初学者指南。剑桥大学出版社和C. Q. Schneider和C. Wagemann的“社会科学的集合理论方法”,剑桥大学出版社。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/478889.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GraalVM详细安装及打包springboot、java、javafx使用教程(打包javafx项目篇)

前言 在当前多元化开发环境下&#xff0c;Java作为一种广泛应用的编程语言&#xff0c;其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱&#xff0c;而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而&#xff…

ANDRAXv6软件工具列表介绍

系统环境&#xff1a;Xiaomi HyperOS Android 14 以下列表仅为部分内容&#xff0c;实际工具更多&#xff0c;方便大家了解为什么ANDRAX比NetHunter更强大 注意以下内容&#xff1a;仅供学习&#xff0c;未经相关部门许可请勿随意测试或恶意破坏公共网络设备&#xff0c;违者…

工控机在机器人领域的应用丨工业一体机的应用

随着机器人技术的不断发展&#xff0c;机器人在制造、物流等领域得到了广泛应用。而工业控制计算机&#xff08;工控机&#xff09;作为机器人控制系统的核心设备&#xff0c;也在机器人领域发挥着越来越重要的作用。 机器人控制系统是机器人的核心部分&#xff0c;控制系统的…

基于Springboot的农产品销售管理系统+数据库+免费远程调试

项目介绍: 基于Springboot的农产品销售管理系统。Javaee项目&#xff0c;springboot项目。采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过SpringMvc SpringBootMybatisVuemaven来实现。MyS…

Uscrapper:一款功能强大的网络资源爬取工具

关于Uscrapper Uscrapper是一款功能强大的网络资源爬取工具&#xff0c;该工具可以帮助广大研究人员从各种网络资源中轻松高效地提取出有价值的数据&#xff0c;并且提供了稳定、友好且易于使用的UI界面&#xff0c;是安全研究人员和网络分析人员的强有力工具。 Uscrapper最大…

PR如何制作火焰特效?VFX火焰动画元素PR视频剪辑素材

如何使用Premiere软件制作火焰特效动画&#xff1f;VFX火焰特效元素动画pr视频剪辑素材。使用颜色控制器轻松自定义辉光效果的颜色和强度。每个场景都充满逼真的火焰。在预告片、极限运动视频或任何需要电影火力的场景中添加动作的好方法。 来自&#xff1a;pr素材库&#xff0…

python云上水果超市的设计与实现flask-django-php-nodejs

伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对云上水果超市进行规范而严格是十分有必要的&#xff0c;所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套云上水果超市&#xff0c;帮助商家进行商品信…

仿京东项目——京西商城(数据库设计)

文章目录 仿京东——京西商城数据库设计建立E-R图数据库表设计用户表商品表订单表订单详情表评论表购物车表购物车项表 仿京东——京西商城 数据库设计 主要实体有&#xff1a; 用户 用户ID&#xff08;User_ID&#xff09;&#xff1a;唯一标识用户的主键 用户名&#xff0…

RuoYi-Vue-Plus(基础知识点jackson、mybatisplus、redis)

一、JacksonConfig 全局序列化反序列化配置 1.1yml中配置 #时区 spring.jackson.time-zoneGMT8 #日期格式 spring.jackson.date-formatyyyy-MM-dd HH:mm:ss #默认转json的属性&#xff0c;这里设置为非空才转json spring.jackson.default-property-inclusionnon_null #设置属性…

数据库级别的刷新和数据表级别的刷新结果不一样吗

这个刷新和这个刷新有啥区别 我发现点左边的刷新没有办法刷新出新注册成功的用户&#xff0c;但是下一张图片就能刷新出来 我也知不道是不是&#xff0c;还是我navicat有问题 是的&#xff0c;数据库级别的刷新和数据表级别的刷新的结果是不同的&#xff1a; 数据库级别的刷新…

JavaSE(简介)

1. Java语言特性 简单 Java语法是C语法的一个“纯净版本”&#xff0c;相当于对C做了一个减法。这里没有头文件、指针运算&#xff08;甚至指针 语法&#xff09;、结构、联合、操作符重载、虚基类等等。不仅如此&#xff0c;Java开发环境远远超出大多数其他编程语言的开 发环…

ttkbootstrap界面美化系列之按钮Button(三)

目录 一&#xff1a;Button接口 二&#xff1a;Button创建 三&#xff1a;Button主题 四&#xff1a;Button样式 五&#xff1a;Button状态 从本章开始将详细介绍ttkbootstrap中支持的常用组件&#xff0c;从按钮BUTTON开始&#xff0c;在各类界面设计中按钮几乎是必不可少…

解锁AI生成模型的无限可能:Stability-AI 带你领略前沿科技

厌倦了千篇一律的图片和视频&#xff1f;想要创作独一无二的艺术作品&#xff1f;Stability-AI 横空出世&#xff0c;为你打开通往 AI 生成模型的大门&#xff0c;带你领略前沿科技的无限可能&#xff01; 神奇的功能&#xff0c;尽在掌握 Stability-AI 拥有众多令人惊叹的功能…

第2讲-Memory(4)拓展

存储器芯片结构 存储器扩展 地址总线:这决定了处理器将从内存中读取数据或写入数据的内存位置。 数据总线:它包含已从内存位置读取或将写入内存位置的数据内容。 控制总线:它管理组件之间的信息流,指示操作是读取还是写入,并确保操作在正确的时间发生。

聊一下大模型的函数调用-Function call

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

Springboot 利用自定义注解+切面,实现 查询数据集合时主动加序列字段

利用自定义注解切面,实现 查询数据集合时主动加序列字段, 只需要在Dao接口&#xff0c;方法上引入注解即可 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotat…

数据结构 - 链表

一.链表的概念 链表是一个在物理存储单元中不连续&#xff0c;没有顺序的的存储结构&#xff0c;关于它的顺序是由链表中的指针链接实现的&#xff0c;是一种递归的数据结构&#xff0c;链表有一系列节点组成&#xff0c;而这些节点会在运行时动态生成。 节点包括两个部分&am…

【docker】查看并拷贝容器内文件

一、查询容器 查询所有容器 docker ps查询名为os11的容器 docker ps | grep os11查询名为os11的容器&#xff08;包含不运行的&#xff09; docker ps -a| grep os11 docker ps [option] 显示结果介绍如下&#xff1a; 参考&#xff1a;[https://blog.51cto.com/u_15009374/31…

工厂投产、电池装车,广汽能上动力电池行业的“餐桌”吗?

文 | 智能相对论 作者 | 沈浪 “如果你不在餐桌上&#xff0c;你就会出现在菜单上。”在某种程度上&#xff0c;追逐效益的动力电池行业正在上演着布林肯的“餐桌菜单论”。 于是&#xff0c;我们可以看到&#xff0c;尽管整体的动力电池市场被宁德时代、比亚迪、LG新能源、…