diff --git a/analysis-code/ahp_process.py b/analysis-code/ahp_process.py new file mode 100644 index 0000000..1cfa3c4 --- /dev/null +++ b/analysis-code/ahp_process.py @@ -0,0 +1,326 @@ +import pandas as pd +import numpy as np + +# ========== Settings ========== + +INPUT_CSV = "raw.csv" +OUTPUT_CSV = "res.csv" + +# 제외 기준 +CR_THRESHOLD = 0.10 +INTUITION_SD_MIN = 0.5 +PAIRWISE_SAME_ALL = True + +# 불일치 판정 기준 +MISMATCH_THRESHOLD = 2 + +# 모델 점수 → 리커트 변환 경계값; 점수(0~100) → 1~5점 +SCORE_BREAKS = [28, 42, 58, 72] + +# 사례 카드 15개 +CASES = [ + {"id": 1, "안정성": 85, "수익_가능성": 82, "자금_효율성": 80, "사업_계획_완성도": 88, "사회적_가치": 84, "type": "baseline"}, + {"id": 2, "안정성": 18, "수익_가능성": 22, "자금_효율성": 15, "사업_계획_완성도": 20, "사회적_가치": 25, "type": "baseline"}, + {"id": 3, "안정성": 68, "수익_가능성": 72, "자금_효율성": 65, "사업_계획_완성도": 70, "사회적_가치": 66, "type": "baseline"}, + {"id": 4, "안정성": 35, "수익_가능성": 38, "자금_효율성": 42, "사업_계획_완성도": 30, "사회적_가치": 35, "type": "baseline"}, + {"id": 5, "안정성": 5, "수익_가능성": 68, "자금_효율성": 72, "사업_계획_완성도": 70, "사회적_가치": 65, "type": "spike"}, + {"id": 6, "안정성": 70, "수익_가능성": 97, "자금_효율성": 68, "사업_계획_완성도": 65, "사회적_가치": 72, "type": "spike"}, + {"id": 7, "안정성": 65, "수익_가능성": 70, "자금_효율성": 4, "사업_계획_완성도": 68, "사회적_가치": 72, "type": "spike"}, + {"id": 8, "안정성": 68, "수익_가능성": 65, "자금_효율성": 70, "사업_계획_완성도": 96, "사회적_가치": 66, "type": "spike"}, + {"id": 9, "안정성": 72, "수익_가능성": 68, "자금_효율성": 65, "사업_계획_완성도": 70, "사회적_가치": 6, "type": "spike"}, + {"id": 10, "안정성": 95, "수익_가능성": 95, "자금_효율성": 15, "사업_계획_완성도": 20, "사회적_가치": 25, "type": "conflict"}, + {"id": 11, "안정성": 20, "수익_가능성": 18, "자금_효율성": 22, "사업_계획_완성도": 25, "사회적_가치": 95, "type": "conflict"}, + {"id": 12, "안정성": 88, "수익_가능성": 85, "자금_효율성": 90, "사업_계획_완성도": 92, "사회적_가치": 12, "type": "conflict"}, + {"id": 13, "안정성": 15, "수익_가능성": 92, "자금_효율성": 18, "사업_계획_완성도": 20, "사회적_가치": 88, "type": "conflict"}, + {"id": 14, "안정성": 90, "수익_가능성": 22, "자금_효율성": 88, "사업_계획_완성도": 85, "사회적_가치": 82, "type": "conflict"}, + {"id": 15, "안정성": 48, "수익_가능성": 52, "자금_효율성": 50, "사업_계획_완성도": 47, "사회적_가치": 53, "type": "conflict"}, +] + +VARS = ["안정성", "수익_가능성", "자금_효율성", "사업_계획_완성도", "사회적_가치"] +PAIR_IDX = [(0,1),(0,2),(0,3),(0,4),(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)] +RI = {1:0.00, 2:0.00, 3:0.58, 4:0.90, 5:1.12, 6:1.24, 7:1.32, 8:1.41} + +# ══════════ AHP 계산 함수 ══════════ + +def build_matrix(pair_values: list) -> np.ndarray: + """쌍대비교 10개 값 → 5×5 비율 행렬""" + A = np.ones((5, 5)) + for k, (i, j) in enumerate(PAIR_IDX): + v = pair_values[k] + if v < 0: # Left more important + a_ij = float(abs(v) + 1) + elif v > 0: # Right more important + a_ij = 1.0 / (float(v) + 1) + else: # Same + a_ij = 1.0 + A[i][j] = a_ij + A[j][i] = 1.0 / a_ij + return A + + +# 근사 +def power_method(A: np.ndarray, max_iter: int = 1000, tol: float = 1e-9) -> np.ndarray: + n = len(A) + v = np.ones(n) / n + for _ in range(max_iter): + Av = A @ v + s = Av.sum() + if s == 0: + break + v_new = Av / s + if np.max(np.abs(v_new - v)) < tol: + v = v_new + break + v = v_new + return v + + +# CR, CI, λmax 계산 +def calc_cr(A: np.ndarray, w: np.ndarray) -> tuple: + n = len(A) + Aw = A @ w + ratios = np.where(w > 1e-10, Aw / w, 0.0) + lam_max = float(ratios.mean()) + CI = (lam_max - n) / (n - 1) + ri = RI.get(n, 1.12) + CR = CI / ri if ri > 0 else 0.0 + return float(CR), float(CI), float(lam_max) + + +# Calculate AHP of single person +def ahp_single(pair_values: list) -> dict: + try: + A = build_matrix(pair_values) + w = power_method(A) + CR, CI, lam = calc_cr(A, w) + return {"weights": w.tolist(), "CR": CR, "CI": CI, + "lambda_max": lam, "error": None} + except Exception as e: + return {"weights": [np.nan]*5, "CR": np.nan, + "CI": np.nan, "lambda_max": np.nan, "error": str(e)} + + +# ========== Score / Difference calculate ========== + +# Score = sum of 변인값 * 가중치 +def model_score(case: dict, weights: list) -> float: + vals = np.array([case[v] for v in VARS]) + return float(np.dot(vals, weights)) + + +# 0~100 -> 1~5 Score +def score_to_liker(score: float) -> int: + if score >= SCORE_BREAKS[3]: return 5 + elif score >= SCORE_BREAKS[2]: return 4 + elif score >= SCORE_BREAKS[1]: return 3 + elif score >= SCORE_BREAKS[0]: return 2 + else: return 1 + + +# ========== Preprocessing ========== + +def check_exclusion(row: pd.Series, + pair_cols: list, + intuit_cols: list, + cr: float) -> str: + + # CR + if not np.isnan(cr) and cr > CR_THRESHOLD: + return "제거_CR초과" + + # Standard deviation + intuit_vals = row[intuit_cols].values.astype(float) + if not np.any(np.isnan(intuit_vals)): + if np.std(intuit_vals) < INTUITION_SD_MIN: + return "제거_직관무성의" + + # All same + if PAIRWISE_SAME_ALL: + pair_vals = row[pair_cols].values.astype(float) + if not np.any(np.isnan(pair_vals)): + if np.std(pair_vals) == 0: + return "제거_쌍대무성의" + + return "유효" + + +# ========== Main Code ========== + +def main(): + # ── 1. 데이터 로드 ──────────────────────────────────────── + print(f"파일 읽는 중: {INPUT_CSV}") + df = pd.read_csv(INPUT_CSV, encoding="utf-8-sig") + print(f" 총 {len(df)}명 로드") + + # 열 자동 탐지 + pair_cols = sorted([c for c in df.columns if c.startswith("AHP_")]) + + # 직관판단 열: 다양한 형식 자동 탐지 + # 형식 A: "직관판단_Q01" / 형식 B: "직관_사례01" / 형식 C: "직관_Q01" + intuit_cols = sorted([c for c in df.columns + if c.startswith("직관판단_Q") + or c.startswith("직관_사례") + or c.startswith("직관_Q")]) + + if len(pair_cols) != 10: + raise ValueError(f"쌍대비교 열이 10개여야 함 (현재 {len(pair_cols)}개). " + f"열 이름이 'AHP_01_...' 형식인지 확인.") + if len(intuit_cols) != 15: + raise ValueError(f"직관판단 열이 15개여야 함 (현재 {len(intuit_cols)}개). " + f"열 이름이 '직관판단_Q01' / '직관_사례01' / '직관_Q01' 중 하나여야 함.") + + print(f" 쌍대비교 열: {pair_cols[0]} ~ {pair_cols[-1]}") + print(f" 직관판단 열: {intuit_cols[0]} ~ {intuit_cols[-1]}") + + # ── 2. AHP 계산 (전원) ──────────────────────────────────── + print("\nAHP 계산 중...") + ahp_results = [] + for _, row in df.iterrows(): + pv = [int(row[c]) if pd.notna(row[c]) else 0 for c in pair_cols] + res = ahp_single(pv) + ahp_results.append(res) + + # ── 3. 전처리 판정 ──────────────────────────────────────── + exclusion_flags = [] + for idx, (_, row) in enumerate(df.iterrows()): + cr = ahp_results[idx]["CR"] + flag = check_exclusion(row, pair_cols, intuit_cols, cr) + exclusion_flags.append(flag) + + df["전처리결과"] = exclusion_flags + + print("\n[ 전처리 결과 ]") + for k, v in df["전처리결과"].value_counts().items(): + print(f" {k}: {v}명") + + # ── 4. 유효 응답자만 추출 ───────────────────────────────── + valid_mask = df["전처리결과"] == "유효" + df_valid = df[valid_mask].copy() + print(f"\n → 최종 분석 대상: {len(df_valid)}명") + + # ── 5. 결과 컬럼 초기화 ────────────────────────────────── + result_rows = [] + + for idx in df_valid.index: + row = df.loc[idx] + ahp_res = ahp_results[list(df.index).index(idx)] + weights = ahp_res["weights"] + + result = {"피실험자ID": row.get("피실험자ID", idx + 1)} + + # 가중치 + for i, v in enumerate(VARS): + result[f"가중치_{v}"] = round(weights[i], 4) + + result["CR"] = round(ahp_res["CR"], 4) + result["CI"] = round(ahp_res["CI"], 4) + result["lambda_max"] = round(ahp_res["lambda_max"], 4) + + # ── 6. 사례별 모델 점수 / 판단 / 불일치 ────────────── + mis_total = 0 + mis_baseline = 0 + mis_spike = 0 + mis_conflict = 0 + n_baseline = 0 + n_spike = 0 + n_conflict = 0 + + for k_case, case in enumerate(CASES): + cid = case["id"] + + # 직관 판단 — intuit_cols 정렬 순서로 접근 + intuit_col = intuit_cols[k_case] + i_liker = int(row[intuit_col]) if pd.notna(row[intuit_col]) else np.nan + + # 모델 점수 & 판단 + m_score = model_score(case, weights) + m_liker = score_to_liker(m_score) + + # 불일치 판정 + if not np.isnan(i_liker): + diff = abs(int(i_liker) - m_liker) + mismatch = int(diff >= MISMATCH_THRESHOLD) + else: + mismatch = np.nan + + result[f"직관_Q{cid:02d}"] = i_liker + result[f"모델점수_Q{cid:02d}"] = round(m_score, 1) + result[f"모델판단_Q{cid:02d}"] = m_liker + result[f"판단차이_Q{cid:02d}"] = (int(i_liker) - m_liker) if not np.isnan(i_liker) else np.nan + result[f"불일치_Q{cid:02d}"] = mismatch + + if not np.isnan(mismatch): + mis_total += mismatch + ctype = case["type"] + if ctype == "baseline": + mis_baseline += mismatch; n_baseline += 1 + elif ctype == "spike": + mis_spike += mismatch; n_spike += 1 + else: + mis_conflict += mismatch; n_conflict += 1 + + # ── 7. 불일치율 ─────────────────────────────────────── + result["불일치_합계"] = mis_total + result["불일치율_전체(%)"] = round(mis_total / 15 * 100, 1) + result["불일치율_베이스라인(%)"] = round(mis_baseline / n_baseline * 100, 1) if n_baseline else np.nan + result["불일치율_단일극값(%)"] = round(mis_spike / n_spike * 100, 1) if n_spike else np.nan + result["불일치율_변인충돌(%)"] = round(mis_conflict / n_conflict * 100, 1) if n_conflict else np.nan + + # 사후 설문 (있을 경우 포함) + for q in ["사후Q1_모델과직관차이", "사후Q2_모델기준이해", "사후Q3_모델합리성"]: + if q in row.index: + result[q] = row[q] + + result_rows.append(result) + + df_out = pd.DataFrame(result_rows) + + # ── 8. 저장 ────────────────────────────────────────────── + df_out.to_csv(OUTPUT_CSV, index=False, encoding="utf-8-sig") + + # ── 9. 요약 출력 ───────────────────────────────────────── + print("\n" + "=" * 60) + print("계산 완료 요약") + print("=" * 60) + + print(f"\n[ 표본 ]") + print(f" 전체 입력: {len(df)}명") + for k, v in df["전처리결과"].value_counts().items(): + print(f" {k}: {v}명") + print(f" 최종 분석: {len(df_out)}명") + + print(f"\n[ AHP 가중치 평균 ]") + for v in VARS: + m = df_out[f"가중치_{v}"].mean() + print(f" {v}: {m:.4f} ({m*100:.1f}%)") + + print(f"\n[ CR 분포 ]") + cr_vals = df_out["CR"].dropna() + print(f" 평균: {cr_vals.mean():.4f} 최소: {cr_vals.min():.4f} 최대: {cr_vals.max():.4f}") + + print(f"\n[ 불일치율 평균 ]") + for col in ["불일치율_전체(%)", "불일치율_베이스라인(%)", + "불일치율_단일극값(%)", "불일치율_변인충돌(%)"]: + m = df_out[col].mean() + s = df_out[col].std() + print(f" {col}: M={m:.1f}% SD={s:.1f}%") + + print(f"\n[ 사례별 불일치율 ]") + type_label = {"baseline": "베이스라인", "spike": "단일극값", "conflict": "변인충돌"} + for case in CASES: + cid = case["id"] + col = f"불일치_Q{cid:02d}" + mis = df_out[col].mean() * 100 + i_m = df_out[f"직관_Q{cid:02d}"].mean() + m_m = df_out[f"모델판단_Q{cid:02d}"].mean() + tl = type_label[case["type"]] + print(f" 사례{cid:02d}({tl}): 불일치={mis:4.0f}% 직관={i_m:.2f} 모델={m_m:.2f}") + + print(f"\n저장 완료: {OUTPUT_CSV}") + print(f" {len(df_out)}명 × {len(df_out.columns)}열") + + return df_out + + +if __name__ == "__main__": + df_result = main() diff --git a/analysis-code/raw.csv b/analysis-code/raw.csv new file mode 100644 index 0000000..ef7ca91 --- /dev/null +++ b/analysis-code/raw.csv @@ -0,0 +1,113 @@ +피실험자ID,AHP_01_안정성_vs_수익_가능성,AHP_02_안정성_vs_자금_효율성,AHP_03_안정성_vs_사업_계획_완성도,AHP_04_안정성_vs_사회적_가치,AHP_05_수익_가능성_vs_자금_효율성,AHP_06_수익_가능성_vs_사업_계획_완성도,AHP_07_수익_가능성_vs_사회적_가치,AHP_08_자금_효율성_vs_사업_계획_완성도,AHP_09_자금_효율성_vs_사회적_가치,AHP_10_사업_계획_완성도_vs_사회적_가치,직관판단_Q01,직관판단_Q02,직관판단_Q03,직관판단_Q04,직관판단_Q05,직관판단_Q06,직관판단_Q07,직관판단_Q08,직관판단_Q09,직관판단_Q10,직관판단_Q11,직관판단_Q12,직관판단_Q13,직관판단_Q14,직관판단_Q15,사후Q1_모델과직관차이,사후Q2_모델기준이해,사후Q3_모델합리성,응답유형 +1,0,-2,0,-4,-2,1,-4,1,-4,-4,5,1,4,1,3,5,3,4,2,5,3,5,3,4,3,1,4,5,정상 +2,4,0,1,-2,-4,-4,-4,1,-3,-1,5,3,3,3,3,5,3,5,3,5,2,5,5,4,2,2,4,4,정상 +3,2,0,-2,-4,-1,-3,-4,0,-1,-3,5,1,4,2,1,5,4,5,3,5,4,3,3,5,3,2,3,3,정상 +4,4,0,2,0,-4,-4,-4,0,1,-3,5,1,5,2,4,5,4,5,3,5,3,5,5,4,4,1,3,2,정상 +5,3,-4,4,-2,-4,-2,-4,4,3,-4,5,1,4,2,3,5,4,5,3,5,3,5,4,5,2,1,2,3,정상 +6,2,0,3,1,-4,0,-4,4,1,-2,5,1,4,2,3,5,3,4,3,5,3,5,5,5,5,2,4,2,정상 +7,-2,-4,2,-2,-4,0,-1,4,4,-4,5,1,5,2,1,5,3,5,2,4,3,5,4,5,2,1,5,2,정상 +8,4,-2,3,-4,-4,-1,-4,4,0,-4,5,1,5,2,3,5,4,4,3,5,3,5,4,5,3,2,3,4,정상 +9,4,-4,0,-3,-4,-4,-4,4,4,-4,5,2,4,2,2,5,4,5,4,5,3,5,5,4,3,1,4,2,정상 +10,4,1,4,1,-3,-1,-1,0,3,-2,5,2,4,3,2,5,4,5,1,5,5,5,5,5,3,2,4,3,정상 +11,4,-4,4,-4,-4,-3,-4,4,0,-4,5,1,5,1,2,5,3,5,4,5,3,5,4,5,3,3,4,3,정상 +12,-3,-4,0,-4,-4,0,-1,4,4,-4,5,2,4,2,3,5,5,5,3,5,4,4,3,5,3,2,5,4,정상 +13,3,-4,4,1,-4,-1,0,4,4,2,5,2,5,3,1,5,4,5,1,5,4,4,4,5,4,1,5,3,정상 +14,0,-4,2,-4,-3,1,-4,4,0,-4,5,1,5,2,2,5,3,5,2,5,3,5,4,5,4,2,5,3,정상 +15,4,0,1,-3,-4,0,-4,4,0,-4,5,1,4,2,3,5,3,5,3,5,4,5,5,5,3,1,5,3,정상 +16,4,-1,0,2,-3,-2,-3,0,1,2,5,1,4,3,3,5,3,5,3,5,4,3,5,5,4,1,5,4,정상 +17,4,4,4,3,-4,-1,-4,4,1,-4,5,2,5,2,3,5,3,5,3,5,4,5,5,3,2,2,4,3,정상 +18,0,-3,2,-2,4,3,-4,4,-4,-4,5,2,4,2,3,5,2,5,3,4,3,5,3,5,3,1,2,2,정상 +19,4,0,1,-4,-4,-1,-4,0,-4,-4,5,2,5,1,3,5,3,5,3,5,4,5,3,3,2,2,4,4,정상 +20,4,-1,0,-4,1,-4,0,0,-4,1,5,2,4,2,4,5,2,4,2,5,4,5,5,5,4,2,1,2,정상 +21,1,-4,0,-4,-4,-2,-4,3,2,-3,5,1,3,1,1,5,3,5,3,4,4,5,4,5,3,2,5,2,정상 +22,4,0,4,3,-4,1,-2,4,2,-2,5,1,5,1,3,5,3,5,2,4,4,4,2,5,2,2,4,3,정상 +23,1,-4,-1,-4,-4,2,-4,4,2,-4,5,1,4,2,2,5,3,5,2,5,2,4,4,5,2,2,3,3,정상 +24,0,-4,-4,0,-4,-4,-1,4,4,3,5,1,4,2,3,5,3,5,3,5,4,5,4,5,3,1,3,4,정상 +25,3,-3,2,-4,-2,0,-3,4,0,-4,5,2,5,2,2,5,3,5,2,5,2,5,4,5,3,2,3,3,정상 +26,0,0,-4,-4,-1,1,-4,0,-4,-2,5,1,5,2,2,5,2,5,2,5,3,4,5,4,4,2,3,2,정상 +27,0,-4,1,-2,-1,0,-4,2,-1,-1,5,1,4,2,3,5,2,5,2,5,2,5,4,5,2,2,3,4,정상 +28,-4,-4,0,-2,-4,3,1,4,4,-2,4,1,4,2,2,5,2,5,1,5,2,5,2,5,2,2,5,1,정상 +29,-2,-4,0,0,0,0,4,3,3,0,5,2,4,2,4,5,4,5,2,5,4,5,3,5,2,1,3,3,정상 +30,2,-1,4,-1,-4,-2,-4,3,-4,-4,5,1,4,2,3,5,3,5,3,3,3,5,5,5,3,1,4,3,정상 +31,1,-2,1,3,0,1,0,1,2,1,5,1,4,2,2,5,3,5,4,4,4,4,5,5,2,2,4,4,정상 +32,0,-4,2,4,-4,0,4,4,4,3,5,1,5,2,3,5,4,5,2,3,5,4,5,5,4,1,3,4,정상 +33,4,4,4,1,-3,-4,-4,0,-4,-1,4,2,5,2,3,4,2,5,3,5,4,3,5,4,4,2,5,3,정상 +34,0,0,4,4,2,4,0,2,0,-4,5,2,4,2,4,5,3,5,3,4,5,5,4,5,2,2,4,2,정상 +35,4,1,0,-2,-4,-4,-4,-2,-2,-4,5,1,4,3,2,5,3,5,2,5,2,5,5,4,3,1,5,3,정상 +36,1,-4,-1,-4,-4,0,-4,4,4,0,5,1,4,2,1,5,4,5,2,5,3,2,5,5,1,1,2,3,정상 +37,2,1,1,-4,-1,0,-4,0,-1,-2,5,1,3,3,2,5,4,5,2,4,2,5,4,4,3,2,5,3,정상 +38,4,-2,1,1,-4,-3,-1,0,0,4,5,1,4,2,3,5,4,5,2,5,5,4,5,3,3,1,3,3,정상 +39,-4,-4,0,-1,-4,4,1,4,2,-4,5,1,4,2,1,5,5,5,3,4,4,4,2,5,2,3,4,3,정상 +40,2,-4,0,-2,-4,-4,-4,2,2,0,5,1,3,2,2,5,4,5,3,5,3,5,5,3,3,1,5,3,정상 +41,4,-4,0,1,-4,1,-4,4,2,0,5,1,4,2,3,5,4,5,1,5,4,5,5,5,4,2,2,4,정상 +42,4,-4,-1,-1,-4,-1,-3,1,1,0,5,2,5,2,1,5,2,5,3,5,3,4,4,5,4,2,5,3,정상 +43,4,-4,1,-4,-4,-1,-4,4,-4,-4,5,2,5,2,4,5,4,5,1,5,3,4,3,5,2,2,4,3,정상 +44,4,-2,1,-1,-4,-1,-4,4,1,-1,5,1,4,2,3,5,3,5,4,5,2,4,2,5,3,1,5,3,정상 +45,1,-2,2,4,-4,1,4,4,4,-2,5,1,5,3,2,5,5,5,1,3,4,5,5,5,3,2,5,2,정상 +46,1,-1,-4,-3,-2,-1,-1,0,-1,0,5,2,5,3,2,5,2,4,2,4,4,3,5,4,2,2,3,4,정상 +47,4,0,0,1,-4,-4,-3,-4,0,2,5,1,4,2,4,5,3,5,1,5,5,5,5,5,3,1,5,3,정상 +48,1,-4,-1,1,-4,0,-2,3,4,0,5,1,5,1,3,5,3,4,4,5,2,5,4,4,3,1,4,4,정상 +49,3,-2,-2,4,-4,0,3,4,4,4,5,2,5,2,3,5,4,5,1,4,3,5,5,5,5,1,2,4,정상 +50,0,-4,1,0,-4,-4,-4,2,4,1,5,1,4,2,3,5,4,5,4,5,3,3,5,5,3,1,3,3,정상 +51,3,-3,-2,4,-4,-3,0,4,4,3,5,1,4,1,3,5,3,5,2,4,3,5,5,5,4,1,3,4,정상 +52,-4,-4,0,-4,-4,2,-4,4,0,-4,5,1,4,2,2,5,3,5,4,5,2,5,3,5,2,1,3,4,정상 +53,2,-4,-4,-1,-4,-1,-3,4,4,3,5,2,4,2,2,5,4,5,2,5,4,5,5,4,4,1,2,4,정상 +54,1,-4,4,0,-4,-3,3,4,4,0,5,1,4,2,3,5,2,5,1,5,4,5,5,5,3,3,3,3,정상 +55,3,-3,-1,-4,-4,-4,-4,4,-4,-4,5,1,4,2,2,5,3,5,3,5,3,5,5,4,1,3,5,3,정상 +56,2,0,-1,-3,-2,-2,-3,1,0,0,5,2,4,1,2,5,1,5,1,5,4,5,5,5,3,3,5,2,정상 +57,0,-4,-4,-1,-4,-1,1,4,4,3,4,1,4,1,2,5,4,5,2,5,4,4,4,5,3,2,5,1,정상 +58,4,-2,1,1,-4,-4,-4,1,4,2,5,1,5,2,4,5,4,5,3,5,4,5,5,5,3,2,5,4,정상 +59,4,1,-1,-3,-4,-4,-4,-1,-2,-1,5,1,5,1,3,5,2,4,3,5,3,5,4,3,3,1,2,3,정상 +60,3,-4,2,-4,-4,-2,-4,4,-1,-4,5,2,4,1,3,5,4,5,3,5,3,4,5,5,3,2,4,3,정상 +61,-4,-4,-4,-4,-4,-2,-4,4,0,-4,5,1,5,2,1,5,3,5,3,5,2,4,3,5,3,1,3,4,정상 +62,4,-2,4,3,-4,0,-4,4,4,-4,5,1,5,1,2,5,3,5,3,5,2,5,4,5,3,1,4,3,정상 +63,4,-2,0,2,-4,-1,-3,4,4,0,5,1,5,2,2,5,3,5,1,5,4,5,5,4,3,1,4,3,정상 +64,0,-4,-2,-3,-4,-2,-2,4,4,0,5,1,4,2,1,5,3,5,2,5,4,5,3,5,2,1,4,2,정상 +65,1,-4,1,-4,-4,-2,-4,4,-1,-4,5,2,5,1,2,5,3,5,3,4,2,5,4,5,3,1,4,3,정상 +66,2,-3,2,-2,-4,-1,-4,1,0,-4,5,1,4,2,2,5,4,5,3,5,2,5,5,5,2,1,3,4,정상 +67,3,-2,0,-3,-3,-4,-4,-1,0,0,5,1,4,2,3,5,3,5,3,5,4,5,5,5,2,1,4,2,정상 +68,0,-4,-4,-4,-3,-1,-4,1,-1,-1,5,1,4,2,2,5,2,5,3,5,3,5,5,4,2,2,5,4,정상 +69,4,-4,-1,-4,-4,-4,-4,3,3,-4,5,2,5,1,2,5,3,5,4,5,2,5,5,4,2,1,2,2,정상 +70,4,-4,-1,3,-4,-4,-4,4,4,-1,5,1,4,2,3,5,3,4,2,5,2,3,4,5,3,2,4,2,정상 +71,0,-3,0,0,0,2,1,4,4,2,5,2,4,3,2,5,4,5,2,5,5,5,5,5,3,2,3,2,정상 +72,0,-4,1,-2,-2,0,-3,4,0,-2,5,2,5,2,2,5,3,5,2,5,2,5,3,4,3,1,5,3,정상 +73,4,-1,4,0,-4,-3,-4,3,2,0,5,1,4,3,3,5,4,5,3,5,3,5,5,5,2,1,3,4,정상 +74,3,-3,-1,-2,-4,-4,-4,1,-2,-2,5,1,4,2,3,5,4,3,3,5,1,5,5,5,2,2,4,5,정상 +75,4,-3,4,4,-4,-2,-4,4,4,1,5,1,3,2,3,5,4,5,3,5,2,2,5,3,2,2,4,2,정상 +76,2,-2,1,0,2,1,1,3,0,-1,5,1,4,2,3,5,3,5,3,4,3,5,4,5,2,1,3,4,정상 +77,0,-1,0,3,-4,3,-3,4,4,2,5,1,3,2,2,5,4,5,2,5,3,2,5,4,2,2,1,3,정상 +78,0,-4,-2,-4,-4,-2,-2,4,1,-1,5,1,4,2,1,5,3,5,2,5,2,5,2,3,2,2,3,3,정상 +79,4,-4,1,0,-4,-4,-2,4,4,-1,5,2,5,2,2,5,4,5,3,4,4,5,5,5,2,2,4,2,정상 +80,4,4,4,3,-4,-4,-4,4,2,-4,5,1,5,2,3,5,5,5,2,5,2,5,5,3,3,1,1,2,정상 +81,2,-4,-2,-4,-4,-4,-4,4,4,-2,5,1,4,2,3,5,4,5,1,5,2,3,5,3,4,1,4,4,정상 +82,0,3,1,4,-4,0,-3,4,0,0,5,1,4,3,1,5,5,5,4,5,3,3,5,5,4,2,2,2,정상 +83,0,-4,0,-4,-4,2,-3,4,4,-3,5,2,5,2,1,5,3,5,3,5,4,5,3,5,4,2,4,3,정상 +84,3,0,4,-3,-4,-2,-4,1,1,-2,5,1,5,2,3,5,4,4,2,5,3,4,4,5,3,2,5,2,정상 +85,-1,-4,0,-4,-4,0,-4,4,1,-4,5,1,5,2,3,5,4,5,3,5,2,5,5,5,4,2,4,3,정상 +86,-1,-1,0,0,4,-2,4,0,4,2,5,1,4,2,4,5,4,5,3,5,3,3,4,5,3,1,3,3,정상 +87,4,2,4,4,-4,-4,1,4,4,-3,5,1,5,2,4,5,5,5,2,5,3,3,4,4,3,1,1,2,정상 +88,0,-4,1,-3,-1,-1,-4,0,0,0,5,1,4,1,3,5,3,5,3,5,4,5,4,5,4,2,4,3,정상 +89,0,0,0,4,-1,-1,2,-1,1,0,5,1,4,2,2,5,3,5,2,4,5,2,5,5,4,1,4,4,정상 +90,4,1,4,4,-4,-1,-4,4,4,-4,5,1,5,2,4,5,4,5,2,5,4,5,5,5,3,2,5,3,정상 +91,0,-4,0,-4,-4,-4,-4,4,4,0,5,1,4,2,3,5,3,5,3,5,4,4,5,5,3,1,4,4,정상 +92,-2,-1,0,-1,-2,0,-4,4,-3,-4,5,2,4,2,3,5,4,5,4,4,3,5,4,5,3,2,4,4,정상 +93,4,4,4,4,-2,-3,0,1,0,0,5,1,4,2,3,5,3,4,3,4,5,5,5,5,4,1,5,5,정상 +94,0,-4,-4,0,-4,-3,2,4,4,1,4,1,4,2,3,5,2,5,2,5,4,3,5,5,4,2,2,4,정상 +95,4,-3,-1,-3,-4,-1,0,4,0,-4,5,1,5,3,2,5,3,5,2,5,3,5,5,5,3,1,2,2,정상 +96,0,-4,-2,-1,-4,-2,-1,4,4,0,4,1,3,2,3,5,4,5,2,5,3,5,5,5,3,1,4,3,정상 +97,4,-4,2,4,-4,-1,2,4,4,4,5,2,4,2,2,5,4,4,2,5,4,5,5,5,4,2,3,4,정상 +98,2,-2,-2,-4,-2,-3,-4,-1,-2,0,5,1,4,1,1,5,1,5,2,4,3,5,5,5,3,2,4,3,정상 +99,1,2,4,-3,1,2,-4,1,-4,-4,4,2,4,3,3,5,4,5,3,4,3,5,4,5,2,2,5,5,정상 +100,3,-1,3,-4,-4,-2,-3,3,-4,-4,5,1,5,2,3,5,2,5,4,5,2,5,3,5,3,1,3,3,정상 +101,-4,-3,-1,-4,0,3,1,0,2,-1,5,1,4,1,3,5,2,5,3,5,2,5,4,5,3,1,4,2,정상 +102,-4,-4,-1,-4,-4,0,-2,4,4,-3,5,2,4,1,2,4,4,5,2,5,2,5,3,5,3,2,4,3,정상 +103,2,0,4,2,0,4,0,4,4,-1,5,2,4,2,3,5,3,5,3,4,5,5,4,5,2,2,4,3,정상 +104,4,2,4,-4,-3,-4,-4,1,-4,-4,5,1,5,2,3,5,1,5,4,4,3,5,3,5,3,1,3,3,정상 +105,1,0,0,-4,-4,-4,-4,-2,-4,-4,5,1,4,2,3,5,3,5,3,5,3,5,4,5,3,2,4,2,정상 +106,0,0,0,0,0,0,0,0,0,0,2,5,4,3,4,3,1,3,3,1,4,2,1,2,5,4,4,3,이상_쌍대동일(0) +107,4,4,4,4,4,4,4,4,4,4,2,1,5,3,5,5,2,2,2,5,4,1,1,1,5,3,3,1,이상_쌍대동일(4) +108,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,3,4,4,5,2,5,4,3,4,5,2,2,1,4,4,5,1,1,이상_쌍대동일(-4) +109,-2,-4,-1,-4,-4,2,-4,4,0,-4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,1,이상_직관전부5점 +110,-1,-4,0,-2,-4,-2,-3,4,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,3,1,이상_직관전부1점 +111,-2,4,4,3,-2,4,-1,-4,3,-3,3,5,3,5,5,4,4,4,1,3,1,2,5,3,4,1,5,2,이상_완전무작위 +112,0,-4,-4,4,-2,-3,4,3,-2,-2,3,1,1,5,5,1,2,2,2,2,3,5,3,4,5,1,3,3,이상_완전무작위 \ No newline at end of file diff --git a/analysis-code/res.csv b/analysis-code/res.csv new file mode 100644 index 0000000..f1b8968 --- /dev/null +++ b/analysis-code/res.csv @@ -0,0 +1,57 @@ +피실험자ID,가중치_안정성,가중치_수익_가능성,가중치_자금_효율성,가중치_사업_계획_완성도,가중치_사회적_가치,CR,CI,lambda_max,직관_Q01,모델점수_Q01,모델판단_Q01,판단차이_Q01,불일치_Q01,직관_Q02,모델점수_Q02,모델판단_Q02,판단차이_Q02,불일치_Q02,직관_Q03,모델점수_Q03,모델판단_Q03,판단차이_Q03,불일치_Q03,직관_Q04,모델점수_Q04,모델판단_Q04,판단차이_Q04,불일치_Q04,직관_Q05,모델점수_Q05,모델판단_Q05,판단차이_Q05,불일치_Q05,직관_Q06,모델점수_Q06,모델판단_Q06,판단차이_Q06,불일치_Q06,직관_Q07,모델점수_Q07,모델판단_Q07,판단차이_Q07,불일치_Q07,직관_Q08,모델점수_Q08,모델판단_Q08,판단차이_Q08,불일치_Q08,직관_Q09,모델점수_Q09,모델판단_Q09,판단차이_Q09,불일치_Q09,직관_Q10,모델점수_Q10,모델판단_Q10,판단차이_Q10,불일치_Q10,직관_Q11,모델점수_Q11,모델판단_Q11,판단차이_Q11,불일치_Q11,직관_Q12,모델점수_Q12,모델판단_Q12,판단차이_Q12,불일치_Q12,직관_Q13,모델점수_Q13,모델판단_Q13,판단차이_Q13,불일치_Q13,직관_Q14,모델점수_Q14,모델판단_Q14,판단차이_Q14,불일치_Q14,직관_Q15,모델점수_Q15,모델판단_Q15,판단차이_Q15,불일치_Q15,불일치_합계,불일치율_전체(%),불일치율_베이스라인(%),불일치율_단일극값(%),불일치율_변인충돌(%),사후Q1_모델과직관차이,사후Q2_모델기준이해,사후Q3_모델합리성 +1,0.2767,0.248,0.1308,0.2992,0.0453,0.0478,0.0535,5.214,5,84.5,5,0,0,1,19.5,1,0,0,4,69.1,4,0,0,1,35.2,2,-1,0,3,51.6,3,0,0,5,75.0,5,0,0,3,59.5,4,-1,0,4,75.8,5,-1,0,2,66.5,4,-2,1,5,58.9,4,1,0,3,24.7,1,2,1,5,85.3,5,0,0,3,39.3,2,1,0,4,71.0,4,0,0,3,49.2,3,0,0,2,13.3,0.0,20.0,16.7,1,4,5 +2,0.1144,0.5364,0.1257,0.1637,0.0599,0.0716,0.0802,5.321,5,83.2,5,0,0,3,20.5,1,2,1,3,70.0,4,-1,0,3,36.7,2,1,0,3,61.4,4,-1,0,5,83.5,5,0,0,3,60.9,4,-1,0,5,71.1,4,1,0,3,64.7,4,-1,0,5,68.5,4,1,0,2,24.5,1,1,0,5,82.7,5,0,0,5,61.9,4,1,0,4,52.0,3,1,0,2,50.5,3,-1,0,1,6.7,25.0,0.0,0.0,2,4,4 +3,0.2284,0.4231,0.1596,0.1323,0.0566,0.0656,0.0735,5.2941,5,83.3,5,0,0,1,19.9,1,0,0,4,69.4,4,0,0,2,36.7,2,0,0,1,54.3,3,-2,1,5,80.6,5,0,0,4,58.2,4,0,0,5,70.6,4,1,0,3,65.2,4,-1,0,5,68.3,4,1,0,4,24.4,1,3,1,3,83.3,5,-2,1,3,52.9,3,0,0,5,59.8,4,1,0,3,50.2,3,0,0,3,20.0,0.0,20.0,33.3,2,3,3 +4,0.0827,0.5313,0.0972,0.191,0.0977,0.0918,0.1028,5.4112,5,83.4,5,0,0,1,20.9,1,0,0,5,70.0,4,1,0,2,36.3,2,0,0,4,63.3,4,0,0,5,83.4,5,0,0,4,63.0,4,0,0,5,71.8,4,1,0,3,62.4,4,-1,0,5,66.1,4,1,0,3,27.4,1,2,1,5,79.9,5,0,0,5,64.3,4,1,0,4,51.9,3,1,0,4,50.6,3,1,0,1,6.7,0.0,0.0,16.7,1,3,2 +6,0.0835,0.378,0.0703,0.3469,0.1213,0.0255,0.0285,5.1141,5,84.4,5,0,0,1,20.8,1,0,0,4,69.8,4,0,0,2,34.9,2,0,0,3,63.3,4,-1,0,5,78.6,5,0,0,3,64.5,4,-1,0,4,76.5,5,-1,0,3,61.3,4,-1,0,5,54.9,3,2,1,3,30.2,2,1,0,5,79.2,5,0,0,5,54.9,3,2,1,5,61.4,4,1,0,5,49.9,3,2,1,3,20.0,0.0,0.0,50.0,2,4,2 +8,0.1411,0.4361,0.0579,0.3105,0.0544,0.0734,0.0822,5.3286,5,84.3,5,0,0,1,20.6,1,0,0,5,70.1,4,1,0,2,35.2,2,0,0,3,59.8,4,-1,0,5,80.2,5,0,0,4,65.0,4,0,0,4,75.4,5,-1,0,3,65.6,4,-1,0,5,63.3,4,1,0,3,24.9,1,2,1,5,83.9,5,0,0,4,54.3,3,1,0,5,58.2,4,1,0,3,49.8,3,0,0,1,6.7,0.0,0.0,16.7,2,3,4 +12,0.3883,0.1804,0.0431,0.2888,0.0994,0.0976,0.1094,5.4375,5,85.0,5,0,0,2,19.9,1,1,0,4,69.0,4,0,0,2,34.4,2,0,0,3,44.0,3,0,0,5,73.5,5,0,0,5,64.8,4,1,0,5,75.4,5,0,0,3,63.8,4,-1,0,5,62.9,4,1,0,4,28.6,2,2,1,4,81.1,5,-1,0,3,37.7,2,1,0,5,75.4,5,0,0,3,49.0,3,0,0,1,6.7,0.0,0.0,16.7,2,5,4 +14,0.2307,0.2327,0.0593,0.4203,0.057,0.0309,0.0346,5.1383,5,85.2,5,0,0,1,20.0,1,0,0,5,69.5,4,1,0,2,34.0,2,0,0,2,54.4,3,-1,0,5,74.2,5,0,0,3,64.2,4,-1,0,5,79.1,5,0,0,2,66.0,4,-2,1,5,54.7,3,2,1,3,26.0,1,2,1,5,84.8,5,0,0,4,39.4,2,2,1,5,71.5,4,1,0,4,48.9,3,1,0,4,26.7,0.0,20.0,50.0,2,5,3 +15,0.1337,0.4008,0.0802,0.3243,0.061,0.0531,0.0595,5.2378,5,84.3,5,0,0,1,20.4,1,0,0,4,69.9,4,0,0,2,35.1,2,0,0,3,60.4,4,-1,0,5,79.2,5,0,0,3,63.5,4,-1,0,5,75.9,5,0,0,3,65.2,4,-1,0,5,60.0,4,1,0,4,25.6,1,3,1,5,83.6,5,0,0,5,52.2,3,2,1,5,60.5,4,1,0,3,49.7,3,0,0,2,13.3,0.0,0.0,33.3,1,5,3 +16,0.1061,0.4852,0.0903,0.1012,0.2172,0.0566,0.0634,5.2537,5,83.2,5,0,0,1,21.4,1,0,0,4,69.4,4,0,0,3,36.6,2,1,0,3,61.2,4,-1,0,5,82.8,5,0,0,3,63.7,4,-1,0,5,69.1,4,1,0,3,54.9,3,0,0,5,65.0,4,1,0,4,36.0,2,2,1,3,70.6,4,-1,0,5,69.0,4,1,0,5,54.6,3,2,1,4,51.1,3,1,0,2,13.3,0.0,0.0,33.3,1,5,4 +19,0.1315,0.4718,0.1505,0.2019,0.0443,0.0701,0.0785,5.3141,5,83.4,5,0,0,2,20.1,1,1,0,5,69.8,4,1,0,1,36.5,2,-1,0,3,60.6,4,-1,0,5,81.5,5,0,0,3,59.1,4,-1,0,5,72.4,5,0,0,3,65.7,4,-1,0,5,64.7,4,1,0,4,23.7,1,3,1,5,84.3,5,0,0,3,56.0,3,0,0,3,56.3,3,0,0,2,50.2,3,-1,0,1,6.7,0.0,0.0,16.7,2,4,4 +21,0.2478,0.4141,0.0495,0.2104,0.0782,0.0587,0.0657,5.2628,5,84.1,5,0,0,1,20.5,1,0,0,3,69.8,4,-1,0,1,35.5,2,-1,0,1,52.8,3,-2,1,5,80.2,5,0,0,3,65.2,4,-1,0,5,72.6,5,0,0,3,64.4,4,-1,0,4,69.8,4,0,0,4,26.2,1,3,1,5,81.8,5,0,0,4,53.8,3,1,0,5,60.1,4,1,0,3,49.9,3,0,0,2,13.3,0.0,20.0,16.7,2,5,2 +22,0.0591,0.31,0.0617,0.4099,0.1593,0.034,0.0381,5.1523,5,84.8,5,0,0,1,21.0,1,0,0,5,69.6,4,1,0,1,34.3,2,-1,0,3,64.9,4,-1,0,5,76.5,5,0,0,3,65.1,4,-1,0,5,78.4,5,0,0,2,59.0,4,-2,1,4,48.2,3,1,0,4,33.5,2,2,1,4,76.7,5,-1,0,2,52.7,3,-1,0,5,65.5,4,1,0,2,49.7,3,-1,0,2,13.3,0.0,20.0,16.7,2,4,3 +24,0.289,0.3339,0.0439,0.0928,0.2404,0.079,0.0885,5.354,5,83.8,5,0,0,1,21.1,1,0,0,4,68.9,4,0,0,2,35.8,2,0,0,3,49.4,3,0,0,5,78.9,5,0,0,3,66.0,4,-1,0,5,69.2,4,1,0,3,54.3,3,0,0,5,67.7,4,1,0,4,37.9,2,2,1,5,69.2,4,1,0,4,58.9,4,0,0,5,64.8,4,1,0,3,50.5,3,0,0,1,6.7,0.0,0.0,16.7,1,3,4 +25,0.1777,0.3464,0.0669,0.3493,0.0598,0.0737,0.0825,5.3301,5,84.6,5,0,0,2,20.3,1,1,0,5,69.8,4,1,0,2,34.8,2,0,0,2,57.6,3,-1,0,5,77.6,5,0,0,3,64.1,4,-1,0,5,76.8,5,0,0,2,65.5,4,-2,1,5,59.3,4,1,0,2,25.7,1,1,0,5,83.9,5,0,0,4,48.0,3,1,0,5,64.1,4,1,0,3,49.5,3,0,0,1,6.7,0.0,20.0,0.0,2,3,3 +27,0.2656,0.2651,0.1012,0.2901,0.0779,0.0734,0.0823,5.329,5,84.5,5,0,0,1,19.9,1,0,0,4,69.2,4,0,0,2,35.1,2,0,0,3,52.0,3,0,0,5,75.7,5,0,0,2,61.6,4,-2,1,5,75.4,5,0,0,2,64.5,4,-2,1,5,59.7,4,1,0,2,27.0,1,1,0,5,82.6,5,0,0,4,42.9,3,1,0,5,69.7,4,1,0,2,49.4,3,-1,0,2,13.3,0.0,40.0,0.0,2,3,4 +28,0.3583,0.1052,0.0443,0.3385,0.1538,0.0711,0.0797,5.3186,4,85.3,5,-1,0,1,20.0,1,0,0,4,68.7,4,0,0,2,33.9,2,0,0,2,45.8,3,-1,0,5,71.4,4,1,0,2,64.9,4,-2,1,5,76.9,5,0,0,1,60.4,4,-3,1,5,55.3,3,2,1,2,33.1,2,0,0,5,77.4,5,0,0,2,36.2,2,0,0,5,79.8,5,0,0,2,48.9,3,-1,0,3,20.0,0.0,40.0,16.7,2,5,1 +29,0.2833,0.1068,0.0699,0.2295,0.3105,0.0604,0.0676,5.2705,5,84.7,5,0,0,2,20.9,1,1,0,4,68.1,4,0,0,2,34.7,2,0,0,4,50.0,3,1,0,5,72.2,5,0,0,4,64.1,4,0,0,5,73.6,5,0,0,2,50.1,3,-1,0,5,50.5,3,2,1,4,44.4,3,1,0,5,65.1,4,1,0,3,47.2,3,0,0,5,79.0,5,0,0,2,49.9,3,-1,0,1,6.7,0.0,0.0,16.7,1,3,3 +31,0.1367,0.1877,0.1041,0.2314,0.3401,0.0981,0.1099,5.4395,5,84.3,5,0,0,1,21.3,1,0,0,4,68.2,4,0,0,2,35.1,2,0,0,2,59.2,4,-2,1,5,74.4,5,0,0,3,62.7,4,-1,0,5,73.4,5,0,0,4,47.6,3,1,0,4,45.5,3,1,0,4,46.5,3,1,0,4,62.7,4,0,0,5,55.7,3,2,1,5,73.2,5,0,0,2,50.4,3,-1,0,2,13.3,0.0,20.0,16.7,2,4,4 +32,0.1176,0.1407,0.0432,0.1886,0.51,0.0971,0.1087,5.4348,5,84.4,5,0,0,1,22.4,1,0,0,5,67.8,4,1,0,2,34.8,2,0,0,3,59.6,4,-1,0,5,73.8,5,0,0,4,67.2,4,0,0,5,71.9,4,1,0,2,37.1,2,0,0,3,41.7,2,1,0,5,59.0,4,1,0,4,49.7,3,1,0,5,64.1,4,1,0,5,75.3,5,0,0,4,51.0,3,1,0,0,0.0,0.0,0.0,0.0,1,3,4 +33,0.0486,0.5119,0.2059,0.16,0.0735,0.0815,0.0912,5.365,4,82.8,5,-1,0,2,20.3,1,1,0,5,69.6,4,1,0,2,37.2,2,0,0,3,65.9,4,-1,0,4,82.8,5,-1,0,2,56.0,3,-1,0,5,71.2,4,1,0,3,63.3,4,-1,0,5,61.4,4,1,0,4,25.7,1,3,1,3,81.9,5,-2,1,5,61.2,4,1,0,4,53.4,3,1,0,4,50.7,3,1,0,2,13.3,0.0,0.0,33.3,2,5,3 +35,0.1077,0.5302,0.1895,0.1209,0.0518,0.096,0.1075,5.4301,5,82.8,5,0,0,1,20.2,1,0,0,4,69.7,4,0,0,3,37.3,2,1,0,2,62.1,4,-2,1,5,83.4,5,0,0,3,56.8,3,0,0,5,70.1,4,1,0,2,64.9,4,-2,1,5,67.2,4,1,0,2,23.8,1,1,0,5,83.3,5,0,0,5,60.8,4,1,0,4,52.5,3,1,0,3,50.6,3,0,0,2,13.3,0.0,40.0,0.0,1,5,3 +37,0.1548,0.3361,0.1997,0.244,0.0654,0.0602,0.0674,5.2695,5,83.7,5,0,0,1,19.7,1,0,0,3,69.1,4,-1,0,3,36.2,2,1,0,2,59.3,4,-2,1,5,77.6,5,0,0,4,55.7,3,1,0,5,74.1,5,0,0,2,64.5,4,-2,1,4,56.1,3,1,0,2,25.9,1,1,0,5,83.4,5,0,0,4,47.5,3,1,0,4,65.0,4,0,0,3,49.8,3,0,0,2,13.3,0.0,40.0,0.0,2,5,3 +39,0.3213,0.102,0.0475,0.3957,0.1336,0.0867,0.0971,5.3884,5,85.5,5,0,0,1,20.0,1,0,0,4,68.8,4,0,0,2,33.7,2,0,0,1,48.3,3,-2,1,5,70.9,4,1,0,5,64.7,4,1,0,5,78.6,5,0,0,3,61.7,4,-1,0,4,52.2,3,1,0,4,31.9,2,2,1,4,79.2,5,-1,0,2,34.7,2,0,0,5,79.9,5,0,0,2,48.8,3,-1,0,2,13.3,0.0,20.0,16.7,3,4,3 +40,0.2088,0.4956,0.0523,0.135,0.1084,0.0551,0.0618,5.247,5,83.5,5,0,0,1,20.9,1,0,0,3,69.9,4,-1,0,2,36.2,2,0,0,2,55.0,3,-1,0,5,82.8,5,0,0,4,65.5,4,0,0,5,70.2,4,1,0,3,62.2,4,-1,0,5,73.1,5,0,0,3,27.9,1,2,1,5,78.9,5,0,0,5,61.9,4,1,0,3,54.7,3,0,0,3,50.5,3,0,0,1,6.7,0.0,0.0,16.7,1,5,3 +42,0.209,0.4824,0.0611,0.1352,0.1124,0.0651,0.073,5.2918,5,83.5,5,0,0,2,20.8,1,1,0,5,69.8,4,1,0,2,36.2,2,0,0,1,55.0,3,-2,1,5,82.5,5,0,0,2,64.9,4,-2,1,5,70.2,4,1,0,3,62.0,4,-1,0,5,72.1,5,0,0,3,28.3,2,1,0,4,78.7,5,-1,0,4,61.2,4,0,0,5,55.5,3,2,1,4,50.5,3,1,0,3,20.0,0.0,40.0,16.7,2,5,3 +44,0.1392,0.4686,0.057,0.2392,0.0959,0.0308,0.0345,5.1382,5,83.9,5,0,0,1,20.9,1,0,0,4,70.0,4,0,0,2,35.6,2,0,0,3,59.6,4,-1,0,5,81.5,5,0,0,3,65.3,4,-1,0,5,73.2,5,0,0,4,62.9,4,0,0,5,65.8,4,1,0,2,27.6,1,1,0,4,80.4,5,-1,0,2,59.5,4,-2,1,5,56.1,3,2,1,3,50.2,3,0,0,2,13.3,0.0,0.0,33.3,1,5,3 +46,0.3197,0.3387,0.1345,0.1084,0.0988,0.0676,0.0757,5.3027,5,83.5,5,0,0,2,19.9,1,1,0,5,69.0,4,1,0,3,36.4,2,1,0,2,48.3,3,-1,0,5,78.5,5,0,0,2,59.5,4,-2,1,4,70.1,4,0,0,2,63.0,4,-2,1,4,69.2,4,0,0,4,27.5,1,3,1,3,80.2,5,-2,1,5,49.2,3,2,1,4,65.4,4,0,0,2,50.0,3,-1,0,5,33.3,0.0,40.0,50.0,2,3,4 +47,0.0952,0.5208,0.16,0.0661,0.1579,0.0665,0.0745,5.298,5,82.7,5,0,0,1,20.8,1,0,0,4,69.4,4,0,0,2,37.4,2,0,0,4,62.3,4,0,0,5,83.7,5,0,0,3,59.1,4,-1,0,5,68.3,4,1,0,1,58.2,4,-3,1,5,66.2,4,1,0,5,31.5,2,3,1,5,75.0,5,0,0,5,67.4,4,1,0,5,52.7,3,2,1,3,51.1,3,0,0,3,20.0,0.0,20.0,33.3,1,5,3 +48,0.2048,0.3396,0.0459,0.193,0.2166,0.0813,0.0911,5.3643,5,84.1,5,0,0,1,21.1,1,0,0,5,69.2,4,1,0,1,35.4,2,-1,0,3,55.0,3,0,0,5,78.5,5,0,0,3,66.0,4,-1,0,4,72.0,5,-1,0,4,55.6,3,1,0,5,61.7,4,1,0,2,36.6,2,0,0,5,71.4,4,1,0,4,58.1,4,0,0,4,64.1,4,0,0,3,50.3,3,0,0,0,0.0,0.0,0.0,0.0,1,4,4 +52,0.394,0.1676,0.0536,0.3311,0.0536,0.0734,0.0822,5.3287,5,85.2,5,0,0,1,19.5,1,0,0,4,69.1,4,0,0,2,34.2,2,0,0,2,43.9,3,-1,0,5,72.9,5,0,0,3,63.9,4,-1,0,5,76.8,5,0,0,4,66.8,4,0,0,5,62.1,4,1,0,2,25.5,1,1,0,5,84.9,5,0,0,3,33.6,2,1,0,5,76.4,5,0,0,2,48.7,3,-1,0,0,0.0,0.0,0.0,0.0,1,3,4 +56,0.217,0.4247,0.1224,0.138,0.098,0.0658,0.0737,5.2948,5,83.4,5,0,0,2,20.3,1,1,0,4,69.4,4,0,0,1,36.4,2,-1,0,2,54.8,3,-1,0,5,80.7,5,0,0,1,60.8,4,-3,1,5,70.6,4,1,0,1,62.7,4,-3,1,5,68.0,4,1,0,4,27.4,1,3,1,5,80.1,5,0,0,5,55.9,3,2,1,5,59.4,4,1,0,3,50.3,3,0,0,4,26.7,0.0,40.0,33.3,3,5,2 +57,0.3517,0.2122,0.0438,0.1069,0.2854,0.0821,0.092,5.3679,4,84.2,5,-1,0,1,20.9,1,0,0,4,68.4,4,0,0,1,35.4,2,-1,0,2,45.4,3,-1,0,5,75.7,5,0,0,4,65.7,4,0,0,5,69.9,4,1,0,2,51.8,3,-1,0,5,63.5,4,1,0,4,41.6,2,2,1,4,66.2,4,0,0,4,52.8,3,1,0,5,72.7,5,0,0,3,50.3,3,0,0,1,6.7,0.0,0.0,16.7,2,5,1 +58,0.0974,0.5337,0.0538,0.1094,0.2057,0.0823,0.0922,5.3688,5,83.3,5,0,0,1,21.6,1,0,0,5,69.8,4,1,0,2,36.4,2,0,0,4,61.7,4,0,0,5,84.2,5,0,0,4,66.2,4,0,0,5,69.2,4,1,0,3,55.7,3,0,0,5,68.1,4,1,0,4,35.0,2,2,1,5,71.3,4,1,0,5,71.8,4,1,0,5,51.4,3,2,1,3,51.2,3,0,0,2,13.3,0.0,0.0,33.3,2,5,4 +59,0.141,0.5393,0.1733,0.0889,0.0574,0.0605,0.0677,5.2709,5,82.7,5,0,0,1,20.2,1,0,0,5,69.7,4,1,0,1,37.4,2,-1,0,3,59.8,4,-1,0,5,83.9,5,0,0,2,57.8,3,-1,0,4,69.1,4,0,0,3,64.7,4,-1,0,5,70.4,4,1,0,3,24.0,1,2,1,5,82.7,5,0,0,4,61.7,4,0,0,3,52.1,3,0,0,3,50.7,3,0,0,1,6.7,0.0,0.0,16.7,1,2,3 +60,0.1677,0.4547,0.0613,0.2693,0.047,0.0989,0.1108,5.4432,5,84.1,5,0,0,2,20.5,1,1,0,4,70.1,4,0,0,1,35.4,2,-1,0,3,58.1,4,-1,0,5,80.9,5,0,0,4,64.7,4,0,0,5,74.2,5,0,0,3,66.1,4,-1,0,5,66.6,4,1,0,3,24.1,1,2,1,4,84.3,5,-1,0,5,55.0,3,2,1,5,57.2,3,2,1,3,49.9,3,0,0,3,20.0,0.0,0.0,50.0,2,4,3 +63,0.1121,0.457,0.0477,0.1812,0.202,0.0689,0.0772,5.3087,5,83.7,5,0,0,1,21.5,1,0,0,5,69.6,4,1,0,2,35.8,2,0,0,2,60.9,4,-2,1,5,81.7,5,0,0,3,66.3,4,-1,0,5,71.4,4,1,0,1,56.1,3,-2,1,5,63.5,4,1,0,4,35.2,2,2,1,5,72.1,5,0,0,5,66.0,4,1,0,4,56.3,3,1,0,3,50.8,3,0,0,3,20.0,0.0,40.0,16.7,1,4,3 +64,0.3545,0.3291,0.0451,0.1384,0.1328,0.0523,0.0586,5.2343,5,84.1,5,0,0,1,20.4,1,0,0,4,69.2,4,0,0,2,35.6,2,0,0,1,45.7,3,-2,1,5,78.4,5,0,0,3,65.2,4,-1,0,5,70.7,4,1,0,2,61.3,4,-2,1,5,71.7,4,1,0,4,30.1,2,2,1,5,77.6,5,0,0,3,50.9,3,0,0,5,65.8,4,1,0,2,49.9,3,-1,0,3,20.0,0.0,40.0,16.7,1,4,2 +65,0.2107,0.4138,0.0642,0.2624,0.0489,0.064,0.0716,5.2866,5,84.2,5,0,0,2,20.3,1,1,0,5,69.9,4,1,0,1,35.4,2,-1,0,2,55.4,3,-1,0,5,79.8,5,0,0,3,64.3,4,-1,0,5,74.1,5,0,0,3,66.1,4,-1,0,4,66.8,4,0,0,2,24.3,1,1,0,5,84.2,5,0,0,4,51.9,3,1,0,5,60.0,4,1,0,3,49.8,3,0,0,0,0.0,0.0,0.0,0.0,1,4,3 +66,0.1699,0.4127,0.0765,0.2775,0.0634,0.0615,0.0689,5.2754,5,84.1,5,0,0,1,20.4,1,0,0,4,69.8,4,0,0,2,35.4,2,0,0,2,58.0,3,-1,0,5,79.7,5,0,0,4,63.7,4,0,0,5,74.6,5,0,0,3,65.1,4,-1,0,5,63.6,4,1,0,2,25.5,1,1,0,5,83.2,5,0,0,5,53.0,3,2,1,5,59.9,4,1,0,2,49.8,3,-1,0,1,6.7,0.0,0.0,16.7,1,3,4 +67,0.2043,0.5007,0.1101,0.1016,0.0833,0.0798,0.0894,5.3577,5,83.2,5,0,0,1,20.5,1,0,0,4,69.7,4,0,0,2,36.8,2,0,0,3,55.5,3,0,0,5,83.0,5,0,0,3,61.7,4,-1,0,5,69.4,4,1,0,3,63.5,4,-1,0,5,72.7,5,0,0,4,26.0,1,3,1,5,80.8,5,0,0,5,60.5,4,1,0,5,54.6,3,2,1,2,50.5,3,-1,0,2,13.3,0.0,0.0,33.3,1,4,2 +68,0.4089,0.3172,0.0842,0.1287,0.061,0.0279,0.0313,5.125,5,84.0,5,0,0,1,19.7,1,0,0,4,69.2,4,0,0,2,35.9,2,0,0,2,42.6,3,-1,0,5,77.9,5,0,0,2,62.3,4,-2,1,5,70.7,4,1,0,3,65.9,4,-1,0,5,74.3,5,0,0,3,24.8,1,2,1,5,83.1,5,0,0,5,44.8,3,2,1,4,67.1,4,0,0,2,49.6,3,-1,0,3,20.0,0.0,20.0,33.3,2,5,4 +71,0.223,0.1238,0.0675,0.2386,0.347,0.0875,0.098,5.3919,5,84.7,5,0,0,2,21.2,1,1,0,4,68.1,4,0,0,3,34.7,2,1,0,2,53.7,3,-1,0,5,72.7,5,0,0,4,64.6,4,0,0,5,73.8,5,0,0,2,47.7,3,-1,0,5,47.4,3,2,1,5,47.1,3,2,1,5,62.3,4,1,0,5,51.3,3,2,1,5,77.5,5,0,0,3,50.1,3,0,0,3,20.0,0.0,0.0,50.0,2,3,2 +72,0.2493,0.2701,0.0697,0.3305,0.0804,0.0247,0.0276,5.1106,5,84.8,5,0,0,2,20.1,1,1,0,5,69.4,4,1,0,2,34.6,2,0,0,2,53.0,3,-1,0,5,75.7,5,0,0,3,63.7,4,-1,0,5,76.4,5,0,0,2,64.5,4,-2,1,5,59.0,4,1,0,2,27.3,1,1,0,5,82.5,5,0,0,3,43.5,3,0,0,4,69.2,4,0,0,3,49.3,3,0,0,1,6.7,0.0,20.0,0.0,1,5,3 +73,0.0889,0.5115,0.0559,0.2126,0.1311,0.0803,0.0899,5.3597,5,83.7,5,0,0,1,21.2,1,0,0,4,70.0,4,0,0,3,35.9,2,1,0,3,62.7,4,-1,0,5,82.9,5,0,0,4,65.7,4,0,0,5,72.3,5,0,0,3,60.5,4,-1,0,5,65.4,4,1,0,3,30.0,2,1,0,5,77.5,5,0,0,5,65.2,4,1,0,5,53.0,3,2,1,2,50.6,3,-1,0,1,6.7,0.0,0.0,16.7,1,3,4 +74,0.2114,0.513,0.09,0.1289,0.0568,0.0747,0.0837,5.3346,5,83.3,5,0,0,1,20.4,1,0,0,4,69.9,4,0,0,2,36.5,2,0,0,3,55.1,3,0,0,5,83.1,5,0,0,4,62.9,4,0,0,3,70.1,4,-1,0,3,65.3,4,-1,0,5,74.2,5,0,0,1,24.1,1,0,0,5,82.8,5,0,0,5,59.6,4,1,0,5,53.8,3,2,1,2,50.4,3,-1,0,1,6.7,0.0,0.0,16.7,2,4,5 +78,0.3661,0.3316,0.0521,0.1615,0.0888,0.0341,0.0381,5.1526,5,84.1,5,0,0,1,20.1,1,0,0,4,69.3,4,0,0,2,35.6,2,0,0,1,45.2,3,-2,1,5,78.2,5,0,0,3,64.6,4,-1,0,5,71.5,4,1,0,2,64.1,4,-2,1,5,72.5,5,0,0,2,26.9,1,1,0,5,81.0,5,0,0,2,48.0,3,-1,0,3,65.8,4,-1,0,2,49.7,3,-1,0,2,13.3,0.0,40.0,0.0,2,3,3 +79,0.1251,0.5025,0.0434,0.1914,0.1375,0.0901,0.1009,5.4034,5,83.7,5,0,0,2,21.2,1,1,0,5,70.0,4,1,0,2,35.9,2,0,0,2,60.3,4,-2,1,5,82.8,5,0,0,4,66.4,4,0,0,5,71.7,4,1,0,3,60.2,4,-1,0,4,67.5,4,0,0,4,30.4,2,2,1,5,76.9,5,0,0,5,64.8,4,1,0,5,53.7,3,2,1,2,50.6,3,-1,0,3,20.0,0.0,20.0,33.3,2,4,2 +83,0.2858,0.2252,0.0432,0.3514,0.0944,0.0949,0.1063,5.4251,5,85.1,5,0,0,2,20.1,1,1,0,5,69.3,4,1,0,2,34.2,2,0,0,1,50.6,3,-2,1,5,74.4,5,0,0,3,65.2,4,-1,0,5,77.1,5,0,0,3,63.9,4,-1,0,5,58.6,4,1,0,4,28.5,2,2,1,5,81.6,5,0,0,3,41.1,2,1,0,5,72.1,5,0,0,4,49.1,3,1,0,2,13.3,0.0,20.0,16.7,2,4,3 +85,0.338,0.2551,0.051,0.2882,0.0676,0.0261,0.0292,5.1168,5,84.8,5,0,0,1,19.9,1,0,0,5,69.3,4,1,0,2,34.7,2,0,0,3,47.3,3,0,0,5,75.5,5,0,0,4,64.5,4,0,0,5,75.3,5,0,0,3,65.6,4,-1,0,5,64.6,4,1,0,2,26.1,1,1,0,5,83.4,5,0,0,5,41.2,2,3,1,5,70.6,4,1,0,4,49.2,3,1,0,1,6.7,0.0,0.0,16.7,2,4,3 +93,0.0441,0.3873,0.1537,0.1947,0.2203,0.0758,0.0849,5.3394,5,83.4,5,0,0,1,21.0,1,0,0,4,69.0,4,0,0,2,36.3,2,0,0,3,65.6,4,-1,0,5,79.6,5,0,0,3,59.7,4,-1,0,4,72.2,5,-1,0,3,54.4,3,0,0,4,52.7,3,1,0,5,37.0,2,3,1,5,71.2,4,1,0,5,62.3,4,1,0,5,60.6,4,1,0,4,50.8,3,1,0,1,6.7,0.0,0.0,16.7,1,5,5 +96,0.3196,0.3196,0.046,0.1471,0.1678,0.0337,0.0377,5.1508,4,84.1,5,-1,0,1,20.6,1,0,0,3,69.1,4,-1,0,2,35.5,2,0,0,3,47.8,3,0,0,5,78.1,5,0,0,4,65.4,4,0,0,5,70.9,4,1,0,2,59.0,4,-2,1,5,68.5,4,1,0,3,32.8,2,1,0,5,75.0,5,0,0,5,52.7,3,2,1,5,66.1,4,1,0,3,50.1,3,0,0,2,13.3,0.0,20.0,16.7,1,4,3 +98,0.2695,0.4456,0.1407,0.08,0.0643,0.0447,0.0501,5.2002,5,83.1,5,0,0,1,20.0,1,0,0,4,69.4,4,0,0,1,36.9,2,-1,0,1,51.6,3,-2,1,5,81.5,5,0,0,1,59.3,4,-3,1,5,69.1,4,1,0,2,64.8,4,-2,1,4,73.2,5,-1,0,3,24.6,1,2,1,5,82.4,5,0,0,5,54.8,3,2,1,5,58.5,4,1,0,3,50.3,3,0,0,5,33.3,0.0,60.0,33.3,2,4,3 +99,0.1044,0.1685,0.2591,0.4215,0.0464,0.049,0.0548,5.2193,4,84.4,5,-1,0,2,19.1,1,1,0,4,68.6,4,0,0,3,35.2,2,1,0,3,63.2,4,-1,0,5,72.0,5,0,0,4,51.6,3,1,0,5,79.7,5,0,0,3,65.6,4,-1,0,4,39.4,2,2,1,3,25.8,1,2,1,5,86.2,5,0,0,4,34.3,2,2,1,5,75.5,5,0,0,2,49.0,3,-1,0,3,20.0,0.0,0.0,50.0,2,5,5 +101,0.4547,0.0746,0.1042,0.2146,0.1518,0.0782,0.0876,5.3505,5,84.7,5,0,0,1,19.5,1,0,0,4,68.1,4,0,0,1,34.9,2,-1,0,3,39.7,2,1,0,5,71.0,4,1,0,2,60.7,4,-2,1,5,73.7,5,0,0,3,60.5,4,-1,0,5,59.9,4,1,0,2,32.5,2,0,0,5,77.3,5,0,0,4,33.2,2,2,1,5,82.4,5,0,0,3,49.1,3,0,0,2,13.3,0.0,20.0,16.7,1,4,2 +103,0.0711,0.1464,0.0836,0.4628,0.2361,0.0609,0.0683,5.273,5,85.3,5,0,0,2,20.9,1,1,0,4,68.8,4,0,0,2,33.7,2,0,0,3,64.1,4,-1,0,5,71.9,4,1,0,3,63.7,4,-1,0,5,80.2,5,0,0,3,54.3,3,0,0,4,37.1,2,2,1,5,39.9,2,3,1,5,71.6,4,1,0,4,46.1,3,1,0,5,75.7,5,0,0,2,49.5,3,-1,0,2,13.3,0.0,0.0,33.3,2,4,3 diff --git a/README.md b/survey-website/README.md similarity index 100% rename from README.md rename to survey-website/README.md diff --git a/mise.toml b/survey-website/mise.toml similarity index 100% rename from mise.toml rename to survey-website/mise.toml diff --git a/package-lock.json b/survey-website/package-lock.json similarity index 100% rename from package-lock.json rename to survey-website/package-lock.json diff --git a/package.json b/survey-website/package.json similarity index 100% rename from package.json rename to survey-website/package.json diff --git a/public/css/main.css b/survey-website/public/css/main.css similarity index 100% rename from public/css/main.css rename to survey-website/public/css/main.css diff --git a/public/index.html b/survey-website/public/index.html similarity index 100% rename from public/index.html rename to survey-website/public/index.html diff --git a/public/js/ahp.js b/survey-website/public/js/ahp.js similarity index 100% rename from public/js/ahp.js rename to survey-website/public/js/ahp.js diff --git a/public/js/app.js b/survey-website/public/js/app.js similarity index 100% rename from public/js/app.js rename to survey-website/public/js/app.js diff --git a/public/js/cases.js b/survey-website/public/js/cases.js similarity index 100% rename from public/js/cases.js rename to survey-website/public/js/cases.js diff --git a/screenshots/01.png b/survey-website/screenshots/01.png similarity index 100% rename from screenshots/01.png rename to survey-website/screenshots/01.png diff --git a/screenshots/02.png b/survey-website/screenshots/02.png similarity index 100% rename from screenshots/02.png rename to survey-website/screenshots/02.png diff --git a/screenshots/03.png b/survey-website/screenshots/03.png similarity index 100% rename from screenshots/03.png rename to survey-website/screenshots/03.png diff --git a/screenshots/04.png b/survey-website/screenshots/04.png similarity index 100% rename from screenshots/04.png rename to survey-website/screenshots/04.png diff --git a/screenshots/05.png b/survey-website/screenshots/05.png similarity index 100% rename from screenshots/05.png rename to survey-website/screenshots/05.png diff --git a/screenshots/06.png b/survey-website/screenshots/06.png similarity index 100% rename from screenshots/06.png rename to survey-website/screenshots/06.png diff --git a/server.js b/survey-website/server.js similarity index 100% rename from server.js rename to survey-website/server.js diff --git a/src/styles/main.scss b/survey-website/src/styles/main.scss similarity index 100% rename from src/styles/main.scss rename to survey-website/src/styles/main.scss