상호작용과 비선형 — Symmetric Interactions·Self-Moderation·Optimal Point (Buisson Ch.11.2)

PlayArea×LoungeArea 시너지, Email 의 Quadratic, 최적값 도출, Hidden Moderator

Buisson (2021) Ch.11 의 interaction + nonlinearity 절을 자세히 정리한다. Symmetric Interaction (시너지·substitution), Self-Moderation (quadratic), Decreasing/Increasing Returns, Linear Regression 의 정확한 정의, Optimal Point 의 미분 도출, Hidden Moderator 의 진단을 단계별로 시연한다.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: Interaction 과 Nonlinearity

Moderation 의 두 형태 (수학적으로 동일한 interaction term, 다른 비즈니스 의미):

Symmetric Interaction:
   X1 * X2 (같은 type 의 두 변수)
   예: PlayArea × LoungeArea (두 비즈니스 정책)

Self-Moderation (Nonlinearity):
   X * X (같은 변수의 자기 interaction)
   예: Emails² (감소 효과)

수식 (둘 다 같은 형태):

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \beta_i (X_1 \cdot X_2) + \epsilon \]

차이는 변수 type 과 비즈니스 해석.

직관 — 같은 통계, 다른 의미

분석가의 시각:

형태 통계 도구 비즈니스 의미
Segmentation \(X \times M\) 누구에게? (개인화)
Interaction \(X_1 \times X_2\) 함께 시너지? (정책 결합)
Nonlinearity \(X \times X\) 효과 변화? (regime change)

같은 회귀 도구, 다른 의사결정.

→ 분석가가 변수 type 인식 + 적절한 framing.

2 Symmetric Interaction — 시너지와 substitution

2.1 PlayArea × LoungeArea 사례

비즈니스 문제

C-Mart 의 두 정책:

  • PlayArea: 자녀 동반 customer 의 visit 시간 ↑
  • LoungeArea: 자녀 없는 customer 의 visit 시간 ↑

가설:

  • 두 정책 결합 시 시너지 — 한 customer 가 두 곳 모두 활용 (자녀가 PlayArea + 부모는 LoungeArea)

수식:

\[ \text{Duration} = \beta_0 + \beta_P \cdot P + \beta_L \cdot L + \beta_i \cdot (P \cdot L) \]

\(\beta_i > 0\): 시너지 (1+1 > 2). \(\beta_i = 0\): 독립 (1+1 = 2). \(\beta_i < 0\): substitution (1+1 < 2).

직관 — 1 + 1 vs 2

비유: 음식 조합.

  • 빵 단독: +5 만족
  • 잼 단독: +3 만족
  • 빵 + 잼: +12 만족 (시너지: \(\beta_i = +4\))
  • 빵 + 빵: +6 만족 (substitution: \(\beta_i = -4\), 같은 카테고리)

비즈니스 정책:

  • PlayArea + LoungeArea = 시너지 → 둘 다 설치 우선
  • PlayArea + KidsZone = substitution → 둘 중 하나만

이게 interaction 의 비즈니스 가치.

2.2 CD 표현

Symmetric arrow
PlayArea ─────→
              ╲
               ↘
                 → VisitDuration
               ↗
              ╱
LoungeArea ──→

두 화살표가 합쳐져서 outcome 으로. 어느 쪽이 moderator 인지 asymmetry 없음.

→ Symmetric interaction.

직관 — Asymmetry vs Symmetry

비교:

  • Segmentation (asymmetric): “Children 이 PlayArea 의 효과를 modify”
    • Children 이 moderator (개인 특성)
  • Interaction (symmetric): “PlayArea 와 LoungeArea 가 함께 시너지”
    • 둘 다 비즈니스 정책, 어느 쪽이 main 인지 모호

수학적으로:

\[ P \cdot L = L \cdot P \]

같은 식. 그러나 비즈니스 의사결정의 framing 다름.

→ CD 표기가 framing 강조 도구.

2.3 ML 과의 연결

직관 — Random Forest 의 Interaction Capture

Buisson 의 통찰:

“Random Forest, XGBoost, Neural Network 의 power 가 interaction 자동 캡처에서 옴.”

이유:

  • Tree 기반 ML: 각 split 이 interaction 가능
  • Neural Network: hidden layer 가 interaction 학습
  • 회귀: interaction 명시 추가 필요

회귀 vs ML:

측면 회귀 (with interaction) ML
Interpretability High Low
Interaction capture Manual Automatic
Causal inference Possible Difficult
Prediction OK Better

비즈니스 분석에서:

  • 의사결정 도구 → 회귀 (interaction 명시)
  • 단순 prediction → ML
  • Hybrid: ML 로 interaction discover → 회귀로 검증

→ 두 도구의 보완적 사용.

3 Nonlinearity — Self-Moderation

3.1 Decreasing Returns (감소 효과)

Marketing Email 사례
Emails/month       Avg Purchases
   1                  0.5
   3                  1.2
   5                  1.6
   7                  1.9
   10                 2.0
   15                 1.95  (오히려 감소!)

Decreasing returns:

  • 첫 1~3 emails: 큰 효과
  • 5~10 emails: 점차 감소
  • 10+ emails: 거의 효과 없음
  • 15+ emails: annoying → 부정 효과

수식 (quadratic):

\[ \text{Purchases} = \beta_0 + \beta_1 \cdot E + \beta_2 \cdot E^2 \]

\(\beta_1 > 0, \beta_2 < 0\) → concave (감소 효과).

직관 — Concave 의 비유

비유: 밥 한 그릇.

  • 첫 숟가락: 매우 만족
  • 다섯째 숟가락: 만족
  • 열째 숟가락: 무관
  • 열다섯째 숟가락: 부담

각 숟가락의 marginal utility 가 점차 감소.

비즈니스에서 이 pattern 흔함:

  • Marketing 빈도
  • 가격 인하 (할인 폭)
  • 광고 노출 횟수
  • 영업 사원 방문 빈도

→ Quadratic term 으로 모델링. Optimal point 식별 가능.

3.2 Increasing Returns (증가 효과)

Network Effect

스타트업의 흔한 패턴:

Users        Value per user
   100           $1
   1,000         $5
   10,000        $20
   100,000       $80

Network effect:

  • 사용자 ↑ → platform 가치 ↑ → 더 많은 사용자

수식:

\[ \text{Value} = \beta_0 + \beta_1 \cdot N + \beta_2 \cdot N^2 \]

\(\beta_1 > 0, \beta_2 > 0\) → convex (증가 효과).

직관 — Convex 의 비유

비유: AirBnB 같은 platform.

  • Property 100 개: 사용자 별 적은 선택
  • Property 10,000 개: 풍부한 선택
  • Property 1M 개: 모든 도시 cover

Property 추가의 marginal value 가 증가.

비즈니스에서 increasing returns:

  • 양면 시장 (marketplace)
  • Social network
  • Communication tool (Metcalfe’s Law)

→ Quadratic 의 부호로 구분. 비즈니스 strategy 직접 영향.

4 Linear Regression 의 정확한 정의

4.1 “Linear” 의 의미

흔한 오해

오해: “Quadratic = Nonlinear regression.”

정확한 정의:

“Linear regression 은 계수 (coefficients) 에 대해 linear.”

수식:

  • Linear in coefficients: \(Y = \beta_1 X + \beta_2 X^2\)
    • \(\beta_1, \beta_2\) 에 대해 linear
    • 표준 OLS 로 적합 가능
  • Nonlinear in coefficients: \(Y = e^{\beta_1 X}\)
    • \(\beta_1\) 에 대해 nonlinear
    • Nonlinear regression 필요

→ Quadratic, polynomial, log transform 등 모두 linear regression 의 영역.

직관 — 도구의 범위

Linear regression 으로 가능:

  • \(Y = \beta_0 + \beta_1 X\)
  • \(Y = \beta_0 + \beta_1 X + \beta_2 X^2\)
  • \(Y = \beta_0 + \beta_1 \log(X)\)
  • \(Y = \beta_0 + \beta_1 \exp(X)\)
  • \(Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \beta_i (X_1 X_2)\)

모두 OLS 로 적합. Coefficients 에 대해 linear.

진정한 nonlinear:

  • \(Y = e^{\beta_1 X}\)
  • \(Y = \beta_0 / (1 + \beta_1 X)\)
  • \(Y = \beta_0 \cdot X^{\beta_1}\)

이런 모형은 nonlinear regression (scipy.optimize.curve_fit 등).

→ 분석가가 “nonlinear relationship” 의 의미 정확히 인지.

5 Quadratic Regression 의 코드

5.1 R / Python

Syntax

R:

lm(Purchases ~ Emails + I(Emails^2), data=df)

Python:

import statsmodels.formula.api as smf

smf.ols("Purchases ~ Emails + I(Emails ** 2)", data=df).fit()

I() (Identity function) 의 역할:

  • Formula 의 일부분을 그대로 전달
  • 회귀 algorithm 이 misinterpret 안 하도록

R 의 ^, Python 의 ** 가 다름. Identity 안에서:

  • R: I(Emails^2)\(X^2\)
  • Python: I(Emails ** 2)\(X^2\)
I() 빼면 어떻게 되나

R 에서 Emails^2 만 쓰면:

  • Emails^2 이 model formula 의 special operator (interaction)
  • 잘못 interpret

Python 에서 Emails ** 2:

  • 같은 위험

→ 항상 I() 안에 사용. 안전하게.

5.2 결과 해석

추정 coefficients

가상 결과:

                    Estimate
(Intercept)         0.50
Emails              0.30
I(Emails ** 2)     -0.02

해석:

  • Intercept: email 0 일 때 baseline (0.5 purchases)
  • Emails: marginal effect at email = 0
  • I(Emails²): “감소 속도”

전체 model:

\[ \text{Purchases} = 0.5 + 0.3 \cdot E - 0.02 \cdot E^2 \]

직관 — Marginal Effect 계산

각 email 의 marginal effect:

\[ \frac{d \text{Purchases}}{d E} = 0.3 - 0.04 \cdot E \]

값별:

  • E = 0: marginal = 0.30 (첫 email 에 큰 효과)
  • E = 5: marginal = 0.10 (감소)
  • E = 7.5: marginal = 0 (peak)
  • E = 10: marginal = -0.10 (negative!)
  • E = 15: marginal = -0.30 (큰 negative)

해석:

  • 7.5 emails 까지는 추가 가치
  • 그 이후는 negative ROI

→ Marginal effect plot 이 의사결정의 핵심 도구.

6 Optimal Point 도출

6.1 1 차 미분

최적값 수식

Quadratic function:

\[ f(E) = \beta_0 + \beta_1 E + \beta_2 E^2 \]

1 차 미분 = 0:

\[ f'(E) = \beta_1 + 2 \beta_2 E = 0 \]

\[ E^* = -\frac{\beta_1}{2 \beta_2} \]

조건:

  • \(\beta_2 < 0\) (concave): \(E^*\) 가 maximum
  • \(\beta_2 > 0\) (convex): \(E^*\) 가 minimum (피해야 할 점)

가상 사례: \(\beta_1 = 0.30, \beta_2 = -0.02\).

\(E^* = -0.30 / (2 \times -0.02) = 7.5\).

→ 1 개월 7~8 emails 가 optimal.

직관 — Optimal 의 비즈니스 의미

Optimal email 빈도:

  • 7.5 emails/month 가 매출 최대
  • 그보다 적으면 sub-optimal (추가 email 가치 있음)
  • 그보다 많으면 negative ROI

비즈니스 결정:

  • 현재 5 emails → 7~8 로 늘리기
  • 현재 12 emails → 7~8 로 줄이기

이 결정이 quadratic 의 직접 산출물.

6.2 Optimal 의 confidence interval

Optimal 의 불확실성

\(E^* = -\beta_1 / (2 \beta_2)\) 의 추정 = \(\hat{\beta}_1\)\(\hat{\beta}_2\) 의 ratio.

Ratio 의 분포 = 비선형 → 표준 SE 부정확.

해결: Bootstrap.

import numpy as np

def bootstrap_optimal(df, B=1000):
    optimals = []
    for _ in range(B):
        sample = df.sample(len(df), replace=True)
        m = smf.ols("Purchases ~ Emails + I(Emails ** 2)", data=sample).fit()
        b1 = m.params["Emails"]
        b2 = m.params["I(Emails ** 2)"]
        if b2 < 0:
            optimal = -b1 / (2 * b2)
            optimals.append(optimal)
    return np.percentile(optimals, [2.5, 97.5])


ci = bootstrap_optimal(df_email)
print(f"Optimal email frequency 95% CI: {ci}")
직관 — Bootstrap CI 의 결과

가상 결과:

  • Optimal point 추정: 7.5
  • 95% CI: [6.2, 8.8]

해석:

  • Optimal 이 6~9 사이
  • 정확한 값은 sampling 잡음
  • 7~8 emails 가 안전한 권장

비즈니스 의사결정:

  • 7 emails 로 시작
  • 결과 monitoring 후 8 emails 로 조정
  • CI 넓으면 더 많은 데이터 수집

→ Bootstrap 이 불확실성 정량화.

7 Hidden Moderator 의 진단

7.1 VisitDuration 의 자기 비선형

명백한 행동 근거 없는 nonlinearity

C-Mart 의 visit duration 과 grocery purchases:

smf.ols("groceries ~ duration + I(duration ** 2)", data=df).fit()

만약 결과:

                       Estimate
duration               0.5
I(duration ** 2)       0.05  (positive!)

Convex pattern (긴 visit 일수록 grocery purchase 가 점점 더 많음).

자기 비선형의 행동 근거가 명확하지 않음:

  • 1 시간 visit + 1 시간 추가 = 2 시간
  • Marginal hour 의 grocery purchase 가 왜 증가?

분석가의 의문:

“Hidden moderator 가 있을 가능성?”

직관 — Hidden Moderator 의 가능성

가설: VisitReason 이 hidden moderator.

Reason for visit (hidden)
       ↓
 VisitDuration → Groceries
       ↑
       └── 다른 moderator

해석:

  • 짧은 visit: 특정 item 구매 (예: 망치)
  • 긴 visit: grocery run (식료품 다량)
  • 두 reason 의 mix → quadratic pattern

Visit reason 을 관측하면 self-moderation 사라짐:

  • Reason 통제 후 duration 의 효과 = linear

→ Self-moderation 가 hidden moderator 의 신호.

7.2 발견 절차

Hidden Variable 식별
  1. Self-moderation 발견: Quadratic term 통계적으로 유의
  2. 행동 근거 점검: 자연스러운 비선형 (decreasing/increasing returns) 인가?
  3. 근거 약하면 hidden 가설: 다른 변수가 cause + moderator?
  4. 변수 추가 시도: 가능한 hidden 변수 회귀에 추가
  5. 재분석: Self-moderation 사라졌나?

만약 self-moderation 사라짐 → hidden moderator 발견. 유지 → 진짜 nonlinearity.

직관 — Self-Moderation 의 정보적 가치

분석가가 self-moderation 발견 시:

  • “이 변수의 effect 가 비선형”
  • “왜?”
    1. Decreasing/increasing returns (자연 nonlinearity)
    2. Hidden moderator (interaction with unobserved)
    3. Sample 의 heterogeneity

세 가능성을 점검 → 진단 → 적절한 모형.

→ Quadratic term 이 분석가의 진단 도구.

8 When to Look for Moderation

8.1 Average Effect 우선 vs Moderation 우선

8.2 함정: Moderation 을 너무 빨리 찾기

분석가의 흔한 실수:

“전체 효과가 0 인데 30 세 남자 + Kansas + 화요일 응답자 만 +50%!”

문제:

  • Moderation = second-order effect
  • Power 가 main effect 보다 매우 낮음 (10~20 배 더 큰 sample 필요)
  • False positive 위험 큼
  • P-hacking 함정

8.3 Buisson 의 권장

1. 1 차 실험: Average effect 측정 (moderation 없음)
2. 결과 분석: Subgroup 의 patterns 점검 (탐색)
3. 2 차 실험: Promising moderator 의 정식 검증
   - Power 더 큰 sample
   - Pre-registered hypothesis

이 단계별 접근이:

  • False positive 줄임
  • 자원 효율적 사용
  • 정확한 결론

비즈니스 분석에서 표준.

8.4 직관 — Confirmation 우선

분석가의 default:

  • 첫 실험: “이 treatment 가 평균적으로 효과 있는가?”
  • 효과 있음 + budget 남음: “어느 segment 에 큰 효과?”
  • 효과 없음: 다음 단계 안 감

Discovery (탐색적 segmentation) 보다 Confirmation (사전 가설 검증) 우선.

→ 분석가의 신뢰성 보호.

8.5 Sanity Check

8.6 표준편차 비교

Moderation 의 빠른 sanity check:

# Treatment 그룹 별 outcome 의 표준편차
df.groupby("treatment")["outcome"].agg(["mean", "std"])

만약 표준편차가 그룹 간 매우 다름:

  • 그룹 내 heterogeneity 다름
  • Moderation 가능성 ↑

같으면:

  • Moderation 가능성 ↓ (그러나 단순 진단)

8.7 직관 — 표준편차의 의미

비유: 운동의 효과.

  • Group A (운동 안 함): 평균 60 kg, std 5 kg
  • Group B (운동): 평균 55 kg, std 12 kg

Group B 의 std 가 매우 큼 → 일부는 큰 효과 (-15 kg), 일부는 작음 (-1 kg) → moderation 가능성.

분석가의 다음 단계:

  • 어떤 변수가 효과 차이 설명? (age? gender? baseline weight?)
  • Moderation 회귀로 정량화

9 Upper Bound on Moderation

9.1 Moderation 의 수학적 한계

평균 효과가 5%p 일 때 한 segment 의 최대 효과:

\[ \text{Max effect}_{\text{segment}} = \frac{\text{Avg effect}}{\text{Proportion of segment}} \]

예:

  • 평균 5%p, segment 가 50% 인구 → 최대 10%p (다른 segment 0%)
  • 평균 5%p, segment 가 10% 인구 → 최대 50%p (다른 segment 0%)

작은 segment 일수록 큰 효과 가능.

그러나:

  • “무한히 작은 segment 에서 무한히 큰 효과” — 위험 (false discovery)
  • 큰 segment 에서 큰 효과 → 더 robust

→ 분석가의 default: large segment 의 moderation 우선.

9.2 직관 — Mediocre Average 의 함정

“Average effect 는 거의 0 인데, 일부 segment 에서 큰 효과 발견.”

이런 결과의 해석:

  • 평균 0 = 일부 positive + 일부 negative cancel
  • “Positive segment 에 적용 + negative segment 회피” → ROI ↑?
  • 가능하지만 follow-up 실험으로 검증 필수

Buisson 의 경고:

“Moderation cannot save a mediocre average effect.”

작은 average 효과는 보통 진짜 작은 효과. Subgroup 의 큰 효과는 종종 sampling noise.

→ Average effect 가 promising 하지 않으면 moderation 도 promising 안 함.

10 코드 예시 — 종합

10.1 Quadratic + Optimal

import numpy as np
import pandas as pd
import statsmodels.formula.api as smf
import matplotlib.pyplot as plt


# 가상 email 데이터
np.random.seed(42)
n = 5000
df = pd.DataFrame({
    "emails": np.random.uniform(0, 15, n),
})

# True quadratic
beta_0 = 0.5
beta_1 = 0.3
beta_2 = -0.02

df["purchases"] = (
    beta_0 + beta_1 * df["emails"] + beta_2 * df["emails"] ** 2
    + np.random.normal(0, 0.5, n)
)

# Linear vs Quadratic
m_linear = smf.ols("purchases ~ emails", data=df).fit()
m_quad = smf.ols("purchases ~ emails + I(emails ** 2)", data=df).fit()

print(f"Linear R²: {m_linear.rsquared:.4f}")
print(f"Quadratic R²: {m_quad.rsquared:.4f}")

# Optimal
b1 = m_quad.params["emails"]
b2 = m_quad.params["I(emails ** 2)"]
optimal = -b1 / (2 * b2)
print(f"\nOptimal emails: {optimal:.2f}")

10.2 직관 — R² 비교

예상:

  • Linear R²: 0.50 (부분 fit)
  • Quadratic R²: 0.85 (좋은 fit)

R² 큰 차이 → quadratic 이 데이터 더 잘 설명.

Linear 만 사용 시:

  • Optimal point 식별 못 함
  • Marginal effect = constant (잘못)

Quadratic 사용 시:

  • Optimal 명확
  • Marginal effect = decreasing
  • 의사결정 정확

10.3 Marginal Effect Plot

fig, axes = plt.subplots(1, 2, figsize=(12, 5))

# Plot 1: Predicted purchases
emails_grid = np.linspace(0, 15, 100)
linear_pred = m_linear.params["Intercept"] + m_linear.params["emails"] * emails_grid
quad_pred = (
    m_quad.params["Intercept"]
    + m_quad.params["emails"] * emails_grid
    + m_quad.params["I(emails ** 2)"] * emails_grid ** 2
)

axes[0].scatter(df["emails"], df["purchases"], alpha=0.1, label="Data")
axes[0].plot(emails_grid, linear_pred, "r--", label="Linear")
axes[0].plot(emails_grid, quad_pred, "g-", label="Quadratic")
axes[0].axvline(optimal, linestyle=":", color="blue", label=f"Optimal = {optimal:.2f}")
axes[0].set_xlabel("Emails")
axes[0].set_ylabel("Purchases")
axes[0].set_title("Linear vs Quadratic Fit")
axes[0].legend()

# Plot 2: Marginal effect
marginal = b1 + 2 * b2 * emails_grid
axes[1].plot(emails_grid, marginal, "g-")
axes[1].axhline(0, linestyle=":", color="red", label="Zero marginal")
axes[1].axvline(optimal, linestyle=":", color="blue", label=f"Optimal = {optimal:.2f}")
axes[1].set_xlabel("Emails")
axes[1].set_ylabel("Marginal Effect")
axes[1].set_title("Marginal Effect of Each Email")
axes[1].legend()

plt.tight_layout()
plt.savefig("quad_marginal.png", dpi=80)
plt.show()

10.4 직관 — 시각화의 가치

두 plot 이 비즈니스 파트너에게:

  1. Predicted purchases: Quadratic 의 dome 모양, Linear 의 straight line 비교
  2. Marginal effect: 각 추가 email 의 가치, 0 횡단점

비즈니스 결정 도구:

  • “현재 5 emails. Marginal = 0.10. 추가 가치 있음.”
  • “10 emails 면 Marginal = -0.10. 손해.”
  • “7~8 이 최적.”

→ 시각화가 의사결정의 직접 communication.

10.5 Symmetric Interaction

# PlayArea × LoungeArea
np.random.seed(42)
n = 5000
df_int = pd.DataFrame({
    "play_area": np.random.binomial(1, 0.4, n),
    "lounge_area": np.random.binomial(1, 0.4, n),
})

beta_0 = 20
beta_p = 5
beta_l = 4
beta_i = 8  # 시너지

df_int["duration"] = (
    beta_0
    + beta_p * df_int["play_area"]
    + beta_l * df_int["lounge_area"]
    + beta_i * df_int["play_area"] * df_int["lounge_area"]
    + np.random.normal(0, 5, n)
)

m_int = smf.ols("duration ~ play_area * lounge_area", data=df_int).fit()
print(m_int.summary().tables[1])

# 4 시나리오 평균
print("\n=== 4 시나리오 평균 ===")
for p in [0, 1]:
    for l in [0, 1]:
        mean = df_int[(df_int["play_area"] == p) & (df_int["lounge_area"] == l)]["duration"].mean()
        print(f"  PA={p}, LA={l}: {mean:.2f}")

10.6 직관 — 시너지의 정량화

예상 결과:

4 시나리오 평균:
   PA=0, LA=0: 20.0
   PA=0, LA=1: 24.0  (+4 from LA)
   PA=1, LA=0: 25.0  (+5 from PA)
   PA=1, LA=1: 37.0  (+17 from both, expected 4+5=9, synergy +8)

Synergy 의 비즈니스 의미:

  • 두 정책 결합: 17 분 추가 (5 + 4 + 8)
  • 단순 합 (5+4=9) 보다 8 분 더 — synergy
  • 두 정책 모두 설치 권장 (각각보다 큰 ROI)

→ Symmetric interaction 의 직접 의사결정.

11 종합 — 분석가의 결정 트리

11.1 Interaction / Nonlinearity 의 사용

1. Symmetric Interaction (X1 × X2):
   - 두 비즈니스 정책의 시너지 측정
   - 결합 정책 vs 단독 정책 결정
   - 시너지 (β_i > 0) → 결합
   - Substitution (β_i < 0) → 단독

2. Nonlinearity (X²):
   - Decreasing/Increasing returns 모델링
   - Optimal point 식별
   - Linear regression 의 영역 (오해 금지)

3. Hidden Moderator 의 진단:
   - Self-moderation 발견 시 행동 근거 점검
   - 근거 약하면 hidden 변수 가설
   - 변수 추가 후 self-moderation 사라지나 점검

4. Bootstrap CI:
   - Optimal point 의 불확실성
   - Interaction term 의 robustness

5. Average Effect 우선:
   - 1 차 실험: average
   - 2 차 실험: moderation
   - Discovery 보다 Confirmation

이 워크플로가 interaction/nonlinearity 의 표준.

12 관련 주제

12.1 Ch.11 의 형제 글

12.2 이전 챕터

12.3 후속 챕터

12.4 카테고리 진입점

Subscribe

Enjoy this blog? Get notified of new posts by email: