인과추론-1

이상억·2024년 7월 27일

인과추론

목록 보기
1/3

인과추론 소개

  • 연관관계

    • 두 개의 수치나 확률변수가 같이 움직이는 것
  • 인과관계

    • 한 변수의 변화가 다른 변수의 변화를 일으키는 것

즉, 인과추론은 연관관계로부터 인과관계를 추론하고 언제, 그리고 왜 서로 다른지 이해하는 것


인과추론의 목적

  • 현실을 이해하는 것
  • 일반적으로 원인과 결과의 관계를 알아야만 원인에 개입하여 원하는 결과를 가져 올 수 있음
    • ex : 회사에서 인과추론 소개서 마케팅 비용이 매출 증가로 이어지는지 알고 싶어 하는 이유는, 만약 그렇다면 이를 지렛대 삼아 수익을 늘릴 수 있기 때문

연관관계와 인과관계

해당 기간에 가격을 할인하면 판매량이 어떻게 증가하는지를 살펴보고, 여러 어린이 장난감 기업의 데이터를 활용해서 할인이 좋은 생각인지 판단해보겠다.

storeweeks_to_xmasavg_week_salesis_on_saleweekly_amount_sold
01312.98121960
11212.98118470
21112.98114575
31012.98010245
42319.92010322
52219.9205373
  • store: 상점의 고유 식별자(ID)
  • weeks_to_xmas: 크리스마스까지 남은 기간(주)
  • avg_week_sales: 12월 각 상점의 주간 판매량
  • is_on_sale: 해당 주간, 기업의 가격할인 진행 여부(진행 = 1, 미진행 = 0)
  • weekly_amount_sold: 해당 연도의 상점 주간 평균 판매

분석단위

  • 인과추론 연구에서 분석단위는 일반적으로 개인(처치하려는 대상)
  • 새로운 제품이 유저 잔존에 미치는 영향을 분석할 때 처럼, 분석단위는 대부분 사람
  • 다른 유형의 분석단위를 사용하기도 함

처치와 결과

장난감 할인 데이터와 함께 첫 번째 기술적인 내용을 살펴보겠다.

TiT_i는 실험 대상 i의 처치 여부를 나타냄

Ti={1,  실험대상i 가 처치받은 경우0,  실험대상i 가 처치받지 않은 경우T_i= \begin{cases} 1,\;실험대상 i \ 가 \ 처치받은\ 경우\\ 0,\;실험대상 i \ 가 \ 처치받지\ 않은 \ 경우\\ \end{cases}

  • 여기서의 처치는 구하려는 효과에 대한 개입을 나타낼때 사용하는 용어
  • 해당 예시에서 처치는 is_on_sale 을 말함

영향을 주려는 변수인 주간 판매량(weekly_amount_sold)를 결과라 칭하겠음
또한, 실험 대상 i의 결과는 YiY_i로 표기
'처치'와 '결과'라는 두 개념을 사용하여 인과추론의 목표를 재정의 하자면

  • T가 Y에 미치는 영향을 학습하는 과정

인과추론의 근본적인 문제

  • 문제
    • 동일한 실험 대상이 '처치'를 받은 상태와 받지 않은 상태를 동시에 관측할 수 없다는 점

좀 더 문제를 직관적으로 알아보자
처치 (is on sale) 에 따른 결과 ( weekly_amount_sold) 그래프를 그려본다.

그래프를 보면 상품 가격을 낮춘 상품들의 판매량이 더 많음을 알 수 있다.

할인과 판매량의 관계

  • 가격이 낮아지면 구매량이 증가하는 경향이 있으며, 이는 우리의 직관과도 일치합니다.

인과추론과 도메인 지식

  • 상품 할인과 광고 노출은 판매량 증가로 이어질 수 있지만, 이를 단순한 인과관계로 간주하기엔 위험합니다.

데이터 분석

  • 그래프를 통해 할인 시 판매량이 평균 약 150 단위 더 높아지는 것을 관찰할 수 있습니다. 하지만 이는 의심스러울 정도로 높은 수치입니다.

연관관계와 인과관계 구분

  • 판매량 증가가 단순히 할인의 결과가 아닐 수 있으며, 대기업의 공격적 가격 정책이나 크리스마스 시즌 등의 다른 요인이 영향을 미쳤을 가능성이 있습니다.

반사실 비교의 필요성

  • 동일한 실험 대상이 할인된 상황과 그렇지 않은 상황을 동시에 관측해야만 할인의 실제 효과를 확신할 수 있습니다. 이는 인과추론의 근본적인 문제로, 반사실 상황을 통해 해결할 수 있습니다. 앞서 설명했듯이 인과추론의 근본적인 문제는 동일 대상의 두 상황을 동시에 관측할 수 없다는 점 대신 다른 방법을 찾아야 함.

인과모델

모든 문제를 직관적으로 추론할 수 있지만 단순한 직관을 넘어서려면 공식적인 표기법이 필요

  • 화살표 (\larr) 로 표시하는 일련의 할당 메커니즘

다음 인과모델을 예로 들어보겠다
u를 사용해 모델 외부의 변수를 나타내며, 변수 u가 어떻게 생성되었는지 따로 설명하지 않을 것
Tft(ut)T \larr f_t(u_t)
Yfy(T,uy)Y \larr f_y(T,u_y)

  • 첫 번째 식에서, 모델링하지 않는 변수 집합 ut(외부변수)2u_t(외부변수)^2가 함수ftf_t롤 통해 처치변수 T를 유발하는 원인
  • 두 번째 식에서 처치변수 T는 다른 변수 집합 uyu_y(또한, 모델링하지 않을 변수) 와 함께 함수fyf_y를 통해 결과 Y를 유발
  • 해당 수식에서 uyu_y는 결과가 단순히 처치변수만으로 결정되지 않음을 나타냄
  • 즉 모델링하지 않기로 선택한 변수라 하더라도 결과에 영향을 미침

EX ) 가격할인 예시에 적용

  • weekly_amount_sold( 결과변수 Y ) 는 처치에 해당하는 할인 is_on_sale ( 처치변수 T ) 및 특정되지 않은 요인들인 u (외부 변수 ) 때문에 발생
  • 변수 u의 목적은 모델에 포함된 변수로는 설명되지 않은 변수의 모든 변동을 설명하는 것 -> 이를 내생변수
  • 해당 예시에서는 가격할인이 모델 내에 없는 요인들( 기업 규모 등 ) 때문에 유발

IsOnSales ft(ut)\larr f_t(u_t)
AmountSold fy(IsOnSales,uy)\larr f_y(IsOnSales, u_y)

인과관계 비가역성

  • \larr 대신 (=) 를 사용하면 Y = T + X 와 T = Y - X 가 같아진다. T가 Y의 원인인 것과 그 반대인 Y가 T의 원인이지 않다. 이를 구분하기 위해 화살표 사용

외부 변수 (u)

  • 모델에서 설명되지 않는 변동을 설명. 예를 들면 기업들이 더 공격적으로 할인을 진행할 수 있는 요인은 모델에 포함되지 않는 변수 u로 설명 가능

내생변수

  • 관측되지 않은 요인 (u)에 의해 영향을 받는 변수 예시에서는 is_on_sale이 모델 내에 없는 BusinessSize 때문에 유발

모델을 더 정밀하게 만들기 위해 외부 변수(u)를 모델에 포함시킬 수 있다. 예를 들어, 대기업들의 할인 전략이 판매량에 미치는 영향을 더 잘 이해하기 위해 BusinessSize를 모델에 포함시킬 수 있다.


인과추론 모델링 쉽게 설명하기

인과추론 모델링은 변수들 간의 인과관계를 명확히 하기 위해 사용하는 방법. 이번에는 "BusinessSize"라는 변수를 추가해서 좀 더 정교하게 모델링하는 방법을 알아보겠다.

기존 모델

  • IsOnSales (처치변수 T) ft(ut)\larr f_t(u_t)
  • AmountSold (결과변수 Y) fy(IsOnSales,uy)\larr f_y(IsOnSales, u_y)
  • 외부변수 (u) : 모델에 포함되지 않은 기타 요인들

새로운 변수 추가 : BusinessSize

BusinessSize fs(us)\larr f_s(u_s)
IsOnSales ft(BusinessSize,ut)\larr f_t(BusinessSize, u_t)
AmountSold fy(IsOnSales,BusinessSize,uy)\larr f_y(IsOnSales, BusinessSize, u_y)

  • "BusinessSize"라는 추가 내생변수를 모델에 추가하려고 함.
  • 해당 변수가 어떻게 생성되었는지 수식을 추가 BusinessSize를 모델 외부변수에서 다루지 않도록 utu_t에서 제외ㅗ
  • 두 번째 수식은 isonsale의 원인이 businesssSize와 u ( 모델링하지 않기로 선택한 다른 외부 변수들) 임을 의미. 즉, 대기업이 가격을 할인할 가능성이 높다는 믿음을 수식 표현
  • BusinessSize는 isonSale(처치)와 amountsold(결과)의 모두의 공통 원인 즉, 대기업들이 더 많이 판매한다는 생각을 표현한 식

선형 모델 표현
AmountSoldi=a+β1IsOnSalesi+β2BusinessSizei+eiAmountSold_i = a + β_1IsOnSales_i + β_2BusinessSize_i +e_i

  • a는 상수항으로 모델이 기본적으로 갖는 기준점. 독립 변수들이 모두 0인 상태에서 종속 변수( 판매량 )가 어떤 값을 가지는지를 나타냄
  • β₁과 β₂는 변수들의 영향력을 나타내는 계수.
  • eie_i는 모델에 포함되지 않은 외부 요인.

개입

인과모델을 통해 어떤 일이 왜 일어나는지 이해하고, 이를 개선할 수 있는 방법을 찾을 수 있다. 특히, 우리가 특정 변수를 조작했을 때 어떤 결과가 나올지를 예측할 수 있다. 이를 개입(intervention)이라고 함.

  • 수학적으로 개입을 do(.)연산자를 활용해 나타낼 수 있음
  • T에 개입해 어떤 일이 일어날지를 추론하고 싶다면 do(T=$t_0)로 표현 가능

기댓값

  • 평균이 추정하려는 모집단값
  • 기댓값은 평균이 추정하려는 모집단의 값
  • E[X]는 확률 변수 X의 기댓값
  • E[YX=xY\vert X = x]는 X=x가 주어졌을 때 Y에 대한 기댓값을 나타냄, 이는 X=x일 때 Y의 평균으로 근사될 수 있음

연관관계와 인과관계의 차이
do 연산자를 통해 다른 이유를 한눈에 알 수 있음

앞서 가격을 할인한 회사의 판매량 기댓값 E[AmountSold|IsOnSales = 1] 이 높으면, 가격을 할인하도록 개입한 경우의 판매량 기댓값 E[AmountSold|do(IsOnSales = 1)] 이 과대 추정될 수 있다고 주장한 바 있다.
이때 첫번째 경우처럼 가격을 할인하기로 결정한 회사는 대기업일 확률이 높다.
반면 E[AmountSold|do(IsOnSales = 1)] 은 모든 회사가 가격을 할인 통재 했을 때 어떤 일이 발생했을지를 나타낸다.
일반적으로 가격을 할인한 회사의 판매량에 대한 조건부 기댓값과 할인하도록 통제한 회사의 판매량에 대한 조건부 기댓값은 다르다는 점

선택(selection)과 개입(intervention)의 차이

  • 선택(selection): 할인 여부에 따라 실제로 할인한 회사들의 판매량을 측정.
  • 개입(intervention): 모든 회사가 할인하도록 한 후 전체 회사들의 판매량을 측정.

do(.) 연산자는 관측된 데이터에서 직접 얻을 수 없는 인과 추정량(causal quantity)을 정의하는 데 사용. 예를 들어, 실제로 모든 회사가 할인하지 않았기 때문에 do(IsOnSales = 1) 상황을 관측할 수 없다. 따라서, do(.) 연산자는 이론적 개념으로 사용되어 우리가 구하려는 인과 추정량을 명확히 표현다.

식별(Identification)
인과추론은 직접 관측할 수 없는 인과 추정량을 이론적으로 표현하고, 이를 식별하는 과정. 이는 우리가 실제로 개입하지 않고도 인과관계를 이해할 수 있도록 도와줌


개별 처치효과 individual treatment effect(ITE)

  • do 연산자를 사용하면 개별 시험 대상 i에 처치가 결과에 미치는 영향인 ITE를 표현 할 수 있다.
  • 다음 식과 같이 두 개입의 차이로 나타낼 수 있음
    τi=Yido(T=ti)Yido(T=t0)\tau_i = Y_i\vert do(T=t_i)-Y_i \vert do(T=t_0)

즉, 각 실험 대상 i에 대한 처치가 t0t_0에서 tit_i로 바뀔 떄의 효과 τ\taut0t_0와 비교하여 t1t_1의 결과 차이를 나타냄

이를 사용하여 AmountSold에서 IsOnSales를 0에서 1로 바꿀 때의 효과도 추론할 수 있다.
τi=AmountSoldido(IsOnSales=1)AmountSoldido(IsOnSales=0)\tau_i = AmountSold_i\vert do(IsOnSales=1)-AmountSold_i \vert do(IsOnSales=0)

인과추론의 근본적인 문제 때문에 앞의 식 중 한가지 항에 대해서만 관측
따라서, 이론적으로 해당 식을 표현할 수 있다해도 반드시 데이터에서 이를 찾을 수 있다는 뜻은 아님


잠재적 결과

잠재적 결과는 인과추론에서 중요한 개념으로, 특정 처치(treatment)가 주어졌을 때 결과가 어떻게 될지를 나타낸다. 이를 통해 우리가 실제로 관측할 수 있는 결과와 관측할 수 없는 결과를 구분할 수 있다.

Yti=Yido(Ti=t)Y_{ti} =Y_i \vert do(T_i=t)

  • 이는 '처치가 t인 상태일 때, 실험 대상의 i 결과는 Y가 될 것이다'를 의미

범주가 두 개인 이진 처치(처치 또는 미처치)에 관해 이야기 할 때,

  • 처치 받지 않은 실험 대상 i의 잠재적 결과 Y0iY_{0i}
  • 처치 받는 동일 대상의 i의 잠재적 결과를 Y1iY_{1i}로 표기
  • 관측할 수 있는 한가지 잠재적 결과를 사실적 결과
  • 관츨 할 수 없는 다른 한가지 결과를 반사실적 결과

실험대상 i 가 처치 받은 후 어떤 일이 일어나는지 사실적 결과 확인 가능, 반대로 처치 받지 않으면 어떤 일어나는지 알 수 없음 Y0iY_{0i}는 반사실적 결과이므로 관측 할 수 없음

Yi={Y1i,  실험대상i 가 처치받은 잠재적 결과Y0i,  실험대상i 가 처치받지 않은 잠재적 결과Y_i= \begin{cases} Y_{1i},\;실험대상 i \ 가 \ 처치받은\ 잠재적\ 결과\\ Y_{0i},\;실험대상 i \ 가 \ 처치받지\ 않은 \ 잠재적\ 결과\\ \end{cases}

잠재적 결과를 다음과 같이도 표현 가능
Yi=TiY1i+(1Ti)Y0i=Y0i+(Y1iY0i)TiY_i = T_iY_{1i} +(1-T_i)Y_{0i}=Y_0i+(Y_{1i}-Y_{0i})T_i

ex)

  • AmountSoid0iAmountSoid_0i 는 회사 i가 가격을 할인하지 않았을 경우 판매량
  • AmountSoid1iAmountSoid_1i 는 회사 i가 가격을 할인했을 경우 판매량
  • 또한 잠재적 결과에 따라 회사 i의 인과 효과를 정의 할 수 있음
    τ=Y1iY0i\tau = Y_{1i}-Y_{0i}

일치성 및 SUTVA (Stable Unit Treatment Value Assumption)

인과추론에서는 두 가지 중요한 가정을 사용합니다. 이 가정들이 지켜지지 않으면 인과관계를 정확하게 추론하기 어렵습니다.

1. 일치성 가정 (Consistency Assumption)

일치성 가정은 특정 처치가 주어졌을 때 그 처치에 대한 잠재적 결과가 실제 결과와 일치해야 한다는 것을 의미.

  • 일치성의 의미: Ti=tT_i=t 일 때, 잠재적 결과 Yi(t)Y_i(t)는 실제 결과 Y와 같아야 함
  • 예시
    • 할인 쿠폰을 받았을 때 매출이 증가하는지 알고 싶다고 합시다. 여기서 처치는 쿠폰을 받았는지 여부입니다. 하지만 여러 번 할인을 시도했다면, 단순히 쿠폰을 받았는지 여부만으로는 정확한 결과를 알 수 없습니다.
    • 또 다른 예로, 재무 설계사의 조언이 개인 자산에 미치는 영향을 알고 싶다면, 일회성 상담과 정기적인 조언을 하나로 묶으면 안 됩니다. 각각의 처치를 명확히 정의해야 일치성 가정이 지켜집니다.

2. 상호 간섭 없음 (No Interference) 또는 SUTVA

SUTVA는 한 실험 대상의 처치가 다른 실험 대상의 결과에 영향을 미치지 않아야 한다는 가정

  • 상호 간섭의 의미: 한 대상에 대한 처치가 다른 대상의 결과에 영향을 미치지 않도록 해야 합니다.

  • 예시

    • 백신의 효과를 연구할 때, 한 사람에게 백신을 접종하면 그 주변 사람들도 질병에 걸릴 확률이 낮아질 수 있습니다. 이 경우, 한 사람의 처치가 다른 사람에게 영향을 미치는 것이므로 SUTVA가 위배됩니다.
    • 만약 백신의 파급 효과가 있다면, 백신을 맞은 사람과 맞지 않은 사람 사이의 차이는 작아지므로 실제 처치효과를 과소평가하게 됩니다.

가정 위배 해결 방법

가정이 위배되는 상황에서도 이를 해결할 수 있는 방법들이 있습니다.

  1. 일치성 가정 위배 해결:
  • 분석 시 처치에 대한 모든 버전을 포함하면 됩니다. 예를 들어, 여러 종류의 재무 상담을 각각 다르게 고려하는 것입니다.
  1. SUTVA 위배 해결:
  • 파급 효과를 고려한 모델을 사용하면 됩니다. 처치효과의 정의를 확장하여 다른 대상에서 발생하는 효과를 포함시킵니다.

인과 추정량

  • 인과추론의 근본적 문제, 잠재적 결과 중 하나만 관측할 수 있으므로 개별 처치효과를 알 수 없음
  • 개별 효과tauttau_t를 알 수는 없지만 데이터에서 학습 할 수 있는 세 가지 인과 추정량을 알아보겠다.

평균 처치효과 average treatment effect(ATE)

세 가지 방식으로 정의
1. ATE=E[taui]ATE = E[tau_i]
2. ATE=E[Y1iY0i]ATE = E[Y_{1i}-Y_{0i}]
3. ATE=E[Ydo(T=1)]E[Ydo(T=0)]ATE = E[Y \vert do(T=1)]-E[Y \vert do(T=0)]

  • 평균 처치효과는 T가 평균적으로 미치는 영향을 나타냄 실험 대상에 따라 더 많거나 더 적은 영향을 받을 수 있지만 개별 대상에 미치는 영향을 알 수 없음
  • 데이터에서 ATE를 추정하고 싶다면 기댓값을 표본평균으로 대체 할 수 있음
    다음과 같이 나타낼 수 있음
    1Ni=0Nτi\frac1N\displaystyle\sum_{i=0}^{N}{\tau_i}
    1Ni=0N(Y1iY0i)\frac1N\displaystyle\sum_{i=0}^{N}{(Y_{1i}-Y_{0i})}

물론 인과추론의 근본적인 문제 때문에 각 실험 대상마다 잠재적 결과 중 하나만 관측되므로 실제로 이와 같이 계산 할 수 는 없음

실험군에 대한 평균 처치효과 average treatment effect on the treated(ATT)

ATT=E[Y1iY0iT=1]ATT = E[Y_{1i}-Y_{0i} \vert T=1]

  • Y1iY_{1i} 처치 받은 대상의 결과
  • Y0iY_{0i} 처치 받지 않았을 경우의 결과
  • T = 1 처치 받은 대상들

조건부 평균 처치효과conditional average treatment effect(CATE)

CATE=E[Y1iY0iX=x]CATE = E[Y_{1i}-Y_{0i} \vert X =x]

예를 들어, 이메일 마케팅이 45세 이상의 고객과 45세 미만의 고객에게 미치는 영향을 알고 싶다면, CATE를 사용. 이렇게 하면 특정 연령대의 고객이 마케팅 캠페인에 어떻게 반응하는지 알 수 있다.
CATE45+=E[Y1iY0iAGE45]CATE_{45}+ = E[Y_{1i}-Y_{0i} \vert AGE \ge 45]
CATE<45=E[Y1iY0iAGE<45]CATE_{<45} = E[Y_{1i}-Y_{0i} \vert AGE < 45]

연속형 처치변수의 인과 추정량
처치변수가 연속형일 때는 차이를 편도함수(partial derivative)로 대체하여 인과 추정량을 정의할 수 있다
tE[Yi]\frac \partial {\partial t}E[Y_i]

  • 이는 처치가 조금 증가 할 때 E[Yi]E[Y_i]가 얼마나 변화할 것으로 기대하는지를 나타내는 방법

인과 추정량 예시

가격할인 개별 회사에 미치는 영향을 알려면 두 가지 잠재적 결과, AmountSold0i,AmountSold1i{AmountSold_0i},{AmountSold_1i}를 동시에 확인해야 함
개별 효과 대신, 가격할인이 판매량에 미치는 평균 영향과 같이 추정할 수 있는 항목에 초점을 맞출 수 있다.

y0y1txyte01
02002200020020
11201400012020
230040001300100
34505001050050
4600600106000
560080011800200
  • i는 실험 대상
  • y는 관측된 결과
  • y0,y1y_0,y_1은 각각 실험군 및 대조군에 따른 잠재적 결과
  • t는 처치 여부
  • x는 크리스마스까지의 시간을 표시하는 공변량
  • 할인여부는 처치, 판매량은 결과
  • 크리스마스 일주일 전에 데이터를 수집 했으며 이는 x = 1로 표시
  1. ATE (Average Treatment Effect)
  • ATE=E[AmountSold1iAmountSold0i]ATE = E[AmountSold_{1i}-AmountSold_{0i}]
  • 계산: 모든 회사의 처치 효과 평균
    ATE=(20+20+100+50+0+200)6=65ATE = \frac{(20+20+100+50+0+200)}6=65
  • 이는 가격 할인이 평균적으로 판매량을 65개 증가시킨다는
  1. ATT (Average Treatment Effect on the Treated)
  • ATE=E[AmountSold1iAmountSold0iT=1]ATE = E[AmountSold_{1i}-AmountSold_{0i}\vert T=1]
  • 계산: 처치를 받은 회사들의 처치 효과 평균
    ATT=(50+0+200)3=83.33ATT = \frac{(50+0+200)}3=83.33
    이는 가격 할인이 평균적으로 판매량을 83.3개 증가시킨다는 의미
  1. CATE (Conditional Average Treatment Effect)
  • 정의: 특정 조건(x = 1 또는 x = 0)에서의 처치 효과
  • 계산
    • x = 1 ( 크리스마스 1 주일 전 )
      CATEx=1=(100+200)2=150CATE_{x=1} = \frac{(100+200)}2=150
    • x = 1 ( 크리스마스 주간 )
      CATEx=0=(20+20+50+0)4=22.5CATE_{x=0} = \frac{(20+20+50+0)}4=22.5

즉, 회사가 크리스마스 주간에 가격을 할인했을 때(22.5개 증가)보다 크리스마스 1주일 전에 할인했을 때(150개 증가)가 훨씬 더 많은 혜택을 누린 것으로 나타났다. 따라서 가격을 일찍 할인한 매장이 나중에 할인한 매장보다 더 많은 이득을 보았다.

현실 세계의 데이터 분석

  • 현실에서는 잠재적 결과 중 하나만 볼 수 있다. 따라서 개별 처치효과를 정확히 파악하기 어렵다.

결측값 문제

  • 인과추론에서는 결측값이 있는 데이터를 처리하는 것이 중요. 누락된 잠재적 결과를 대체(impute)해야 함.

예시 데이터

  • 다음 표는 실제로 보유한 데이터의 예시. 여기서는 잠재적 결과 중 하나만 관측할 수 있다.
iy0y1txyte01
01200NaN00200NaN
12120NaN00120NaN
23300NaN01300NaN
34NaN50010500NaN
45NaN60010600NaN
56NaN80011800NaN

이 수치를 보고 ‘확실히 이상적이지는 않지만, 실험군의 평균을 대조군의 평균과 비교하면 안 될까? 즉, ATE = (500 + 600 + 800) / 3 - (200 + 120 + 300) / 3 = 426.67로 하면 안 될까?’라고 생각할 수 있다. 절대로 안 된다.

이렇게 계산하면 인과효과가 과대평. 실제로 할인한 회사는 가격할인과 관계없이 더 많이 판매했을 수 있다.

profile
이상억

1개의 댓글

comment-user-thumbnail
2024년 7월 29일

좋은 정보 얻어갑니다 ^^

답글 달기