📂 数据导入
上传您的研究数据(CSV或Excel格式),或加载示例数据快速体验。
拖拽文件到此处,或
支持 .csv, .xlsx, .xls 格式
或
示例数据:基于组织创新研究场景,包含5个条件变量和1个结果变量,共25个案例
数据预览
📋 {{ rawData.length }} 个案例
📊 {{ columns.length }} 个变量
⚠️ {{ missingCount }} 个缺失值
| # | {{ col }} |
|---|---|
| {{ idx + 1 }} | {{ isMissing(row[col]) ? '-' : row[col] }} |
| ... 还有 {{ rawData.length - 20 }} 行 |
变量角色指定
请指定哪些列是条件变量,哪个列是结果变量。
条件变量 (已选 {{ conditionVars.length }})
结果变量 (已选 {{ outcomeVar ? '1' : '0' }})
✅ 已配置:{{ conditionVars.length }} 个条件变量 + 1 个结果变量({{ outcomeVar }})
🔧 变量校准(Calibration)
为每个变量设定三个定性锚点,将原始数据转换为模糊集隶属度(0~1之间)。
📐 校准原理
使用对数几率变换(log-odds transformation),通过三个定性锚点将原始数据映射到[0,1]模糊集隶属度:
- 完全归属锚点(Fully In):≥ 此值的案例隶属度接近0.95
- 交叉点锚点(Crossover)= 此值的案例隶属度 = 0.5
- 完全非归属锚点(Fully Out):≤ 此值的案例隶属度接近0.05
{{ varName }}
{{ conditionVars.includes(varName) ? '条件变量' : '结果变量' }}
→ 隶属度 0.95
→ 隶属度 0.50
→ 隶属度 0.05
⚠️ {{ getCalWarning(varName) }}
手动微调个别案例隶属度
| 案例 | 原始值 | 校准值 | 调整值(可选) |
|---|---|---|---|
| {{ idx + 1 }} | {{ row[varName] }} | {{ getCalibratedValue(varName, idx).toFixed(3) }} |
🔍 必要性分析(Necessity Analysis)
检验每个条件是否为结果的必要条件。一致性 ≥ 0.9 通常认为该条件是必要条件。
📐 指标说明
- 一致性(Consistency):衡量条件作为结果必要条件的程度。Cons = Σmin(x,y) / Σy
- 覆盖度(Coverage):衡量必要条件解释经验的范围。Cov = Σmin(x,y) / Σx
- 一致性 ≥ 0.9:通常认为该条件(或其非集)是结果的必要条件
| 条件 | 一致性 | 覆盖度 | 是否必要条件 |
|---|---|---|---|
| {{ item.name }} | {{ item.consistency.toFixed(4) }} | {{ item.coverage.toFixed(4) }} | ✓ 必要条件 否 |
📊 真值表(Truth Table)
将所有案例分配到 2k 种条件组合中,计算每行的一致性和频数。
至少包含此数量的案例才纳入分析
通常设为 0.75 ~ 0.85
| 行号 | {{ cv }} | 频数 | 一致性 | ≥阈值 | 结果 |
|---|---|---|---|---|---|
| {{ row.index + 1 }} | {{ val }} | {{ row.freq }} | {{ row.consistency.toFixed(4) }} | {{ row.include === 1 ? '✓' : '✗' }} | {{ row.include === 1 ? '1' : '0' }} |
总行数
{{ truthTable.length }}
纳入行(结果=1)
{{ truthTable.filter(r => r.include === 1).length }}
排除行(结果=0)
{{ truthTable.filter(r => r.include === 0).length }}
⚙️ 组态分析(Configuration Analysis)
使用Quine-McCluskey算法进行布尔最小化,得到三种解:复杂解、简约解和中间解。
理论方向设定(用于中间解)
请为每个条件变量指定预期的理论方向:正向(+)表示该条件有助于结果产生,反向(-)表示该条件不利于结果产生。这将指导中间解的反事实分析。
{{ cv }}
复杂解(Complex Solution)
不使用反事实假设,仅基于经验证据。
| 组态 | {{ cv.substring(0,6) }} | 一致性 | 原始覆盖度 | 唯一覆盖度 |
|---|---|---|---|---|
| 第{{ idx + 1 }}组 | {{ sym || ' ' }} | {{ cfg.consistency.toFixed(4) }} | {{ cfg.rawCoverage.toFixed(4) }} | {{ cfg.uniqueCoverage.toFixed(4) }} |
无满足条件的组态
总体一致性: {{ qmcResults.complexOverall.consistency.toFixed(4) }} |
总体覆盖度: {{ qmcResults.complexOverall.coverage.toFixed(4) }}
简约解(Parsimonious Solution)
使用所有可能的简单反事实简化。
| 组态 | {{ cv.substring(0,6) }} | 一致性 | 原始覆盖度 | 唯一覆盖度 |
|---|---|---|---|---|
| 第{{ idx + 1 }}组 | {{ sym || ' ' }} | {{ cfg.consistency.toFixed(4) }} | {{ cfg.rawCoverage.toFixed(4) }} | {{ cfg.uniqueCoverage.toFixed(4) }} |
无满足条件的组态
总体一致性: {{ qmcResults.parsimoniousOverall.consistency.toFixed(4) }} |
总体覆盖度: {{ qmcResults.parsimoniousOverall.coverage.toFixed(4) }}
中间解(Intermediate Solution)
使用有理论方向指导的反事实简化。
| 组态 | {{ cv.substring(0,6) }} | 一致性 | 原始覆盖度 | 唯一覆盖度 |
|---|---|---|---|---|
| 第{{ idx + 1 }}组 | {{ sym || ' ' }} | {{ cfg.consistency.toFixed(4) }} | {{ cfg.rawCoverage.toFixed(4) }} | {{ cfg.uniqueCoverage.toFixed(4) }} |
无满足条件的组态
总体一致性: {{ qmcResults.intermediateOverall.consistency.toFixed(4) }} |
总体覆盖度: {{ qmcResults.intermediateOverall.coverage.toFixed(4) }}
📤 结果导出
导出分析结果为CSV文件或生成完整的HTML分析报告。
校准后数据
包含原始值和模糊集隶属度的完整数据集
必要性分析结果
各条件的一致性和覆盖度
真值表
完整的真值表数据
组态分析结果
三种解的组态及覆盖度信息
完整分析报告
包含所有分析步骤的完整HTML报告,可直接打印为PDF