Skip to Content

ํ†ต๊ณ„๋ถ„์„

๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์˜์‚ฌ๊ฒฐ์ •์„ ์œ„ํ•œ ํ†ต๊ณ„๋ถ„์„ ๋ ˆ์‹œํ”ผ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ํ†ต๊ณ„๋ถ€ํ„ฐ A/B ํ…Œ์ŠคํŠธ๊นŒ์ง€ ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ†ต๊ณ„ ๊ธฐ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์™œ ํ†ต๊ณ„๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?

โ„น๏ธ
๋ฐ์ดํ„ฐ ๋ถ„์„ vs ํ†ต๊ณ„๋ถ„์„
  • ๋ฐ์ดํ„ฐ ๋ถ„์„: โ€œ์ง€๋‚œ ๋‹ฌ ๋งค์ถœ์ด 10% ์ฆ๊ฐ€ํ–ˆ๋‹คโ€
  • ํ†ต๊ณ„๋ถ„์„: โ€œ์ด ์ฆ๊ฐ€๊ฐ€ ์šฐ์—ฐ์ธ์ง€, ์‹ค์ œ ์˜๋ฏธ์žˆ๋Š” ๋ณ€ํ™”์ธ์ง€ ๊ฒ€์ฆโ€

ํ†ต๊ณ„๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ์ •๋Ÿ‰ํ™”ํ•˜๊ณ , ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฐ๋ก ์„ ๋„์ถœํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

0. ์‚ฌ์ „ ์ค€๋น„ (Setup)

import pandas as pd import numpy as np import scipy.stats as stats import statsmodels.api as sm from statsmodels.formula.api import ols # Dummy Data for Examples group_a = np.random.normal(100, 10, 100) group_b = np.random.normal(105, 12, 100) df = pd.DataFrame({'x1': np.random.rand(100), 'x2': np.random.rand(100), 'y': np.random.rand(100)})

์ปค๋ฆฌํ˜๋Ÿผ

1. ๊ธฐ์ˆ ํ†ต๊ณ„

์ดˆ๊ธ‰

๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์„ ์š”์•ฝํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํ†ต๊ณ„๋Ÿ‰์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ์ค‘์‹ฌ ๊ฒฝํ–ฅ: ํ‰๊ท , ์ค‘์•™๊ฐ’, ์ตœ๋นˆ๊ฐ’
  • ์‚ฐํฌ๋„: ํ‘œ์ค€ํŽธ์ฐจ, ๋ถ„์‚ฐ, ๋ฒ”์œ„, IQR
  • ๋ถ„ํฌ ํ˜•ํƒœ: ์™œ๋„(Skewness), ์ฒจ๋„(Kurtosis)
  • ๋ฐฑ๋ถ„์œ„์ˆ˜์™€ ์‚ฌ๋ถ„์œ„์ˆ˜

๊ธฐ์ˆ ํ†ต๊ณ„ ์‹œ์ž‘ํ•˜๊ธฐ โ†’


2. ์ƒ๊ด€๊ด€๊ณ„ ๋ถ„์„

์ดˆ๊ธ‰์ค‘๊ธ‰

๋‘ ๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ํ”ผ์–ด์Šจ ์ƒ๊ด€๊ณ„์ˆ˜ (์—ฐ์†ํ˜• ๋ณ€์ˆ˜)
  • ์Šคํ”ผ์–ด๋งŒ ์ƒ๊ด€๊ณ„์ˆ˜ (์ˆœ์„œํ˜•/๋น„์„ ํ˜•)
  • ์ƒ๊ด€๊ด€๊ณ„ vs ์ธ๊ณผ๊ด€๊ณ„
  • ์ƒ๊ด€๊ด€๊ณ„ ํ–‰๋ ฌ๊ณผ ํžˆํŠธ๋งต

์ƒ๊ด€๊ด€๊ณ„ ๋ถ„์„ ์‹œ์ž‘ํ•˜๊ธฐ โ†’


3. ๊ฐ€์„ค๊ฒ€์ •

์ค‘๊ธ‰

๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•œ ๊ฐ€์„ค ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ๊ท€๋ฌด๊ฐ€์„ค๊ณผ ๋Œ€๋ฆฝ๊ฐ€์„ค
  • p-value์˜ ์˜๋ฏธ์™€ ํ•ด์„
  • t-๊ฒ€์ • (๋‹จ์ผํ‘œ๋ณธ, ๋…๋ฆฝํ‘œ๋ณธ, ๋Œ€์‘ํ‘œ๋ณธ)
  • ์นด์ด์ œ๊ณฑ ๊ฒ€์ • (๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜)
  • ์ œ1์ข…/์ œ2์ข… ์˜ค๋ฅ˜

๊ฐ€์„ค๊ฒ€์ • ์‹œ์ž‘ํ•˜๊ธฐ โ†’


4. ํšŒ๊ท€๋ถ„์„

์ค‘๊ธ‰๊ณ ๊ธ‰

๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ณ  ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹จ์ˆœ ์„ ํ˜• ํšŒ๊ท€
  • ๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€
  • ํšŒ๊ท€ ๊ณ„์ˆ˜ ํ•ด์„
  • ๊ฒฐ์ •๊ณ„์ˆ˜(Rยฒ)์™€ ๋ชจ๋ธ ํ‰๊ฐ€
  • ๋‹ค์ค‘๊ณต์„ ์„ฑ ์ง„๋‹จ

ํšŒ๊ท€๋ถ„์„ ์‹œ์ž‘ํ•˜๊ธฐ โ†’


5. A/B ํ…Œ์ŠคํŠธ

์ค‘๊ธ‰๊ณ ๊ธ‰

์‹คํ—˜์„ ํ†ตํ•œ ์ธ๊ณผ๊ด€๊ณ„ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • A/B ํ…Œ์ŠคํŠธ ์„ค๊ณ„
  • ํ‘œ๋ณธ ํฌ๊ธฐ ์‚ฐ์ • (๊ฒ€์ •๋ ฅ ๋ถ„์„)
  • ์ „ํ™˜์œจ ๋น„๊ต (๋น„์œจ ๊ฒ€์ •)
  • ์—ฐ์†ํ˜• ์ง€ํ‘œ ๋น„๊ต (t-๊ฒ€์ •)
  • ์กฐ๊ธฐ ์ข…๋ฃŒ์™€ ๋‹ค์ค‘ ๋น„๊ต ๋ฌธ์ œ

A/B ํ…Œ์ŠคํŠธ ์‹œ์ž‘ํ•˜๊ธฐ โ†’


6. ์‹œ๊ณ„์—ด ๋ถ„์„

๊ณ ๊ธ‰

์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ ํŒจํ„ด์„ ๋ถ„์„ํ•˜๊ณ  ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ์‹œ๊ณ„์—ด ๋ถ„ํ•ด (์ถ”์„ธ, ๊ณ„์ ˆ์„ฑ, ์ž”์ฐจ)
  • ์ด๋™ํ‰๊ท ๊ณผ ์ง€์ˆ˜ํ‰ํ™œ
  • ์ž๊ธฐ์ƒ๊ด€(ACF)๊ณผ ํŽธ์ž๊ธฐ์ƒ๊ด€(PACF)
  • ARIMA ๋ชจ๋ธ ๊ธฐ์ดˆ
  • Prophet ํ™œ์šฉ

์‹œ๊ณ„์—ด ๋ถ„์„ ์‹œ์ž‘ํ•˜๊ธฐ โ†’

์ฃผ์š” ๊ฐœ๋… ์ •๋ฆฌ

ํ™•๋ฅ ๊ณผ ๋ถ„ํฌ

๋ถ„ํฌ์‚ฌ์šฉ ์‹œ์ ์˜ˆ์‹œ
์ •๊ทœ๋ถ„ํฌ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ, ํ‘œ๋ณธ ํ‰๊ท ํ‚ค, ๋ชธ๋ฌด๊ฒŒ, ํ…Œ์ŠคํŠธ ์ ์ˆ˜
์ดํ•ญ๋ถ„ํฌ์„ฑ๊ณต/์‹คํŒจ ํšŸ์ˆ˜์ „ํ™˜ ์ˆ˜, ํด๋ฆญ ์ˆ˜
ํฌ์•„์†ก๋ถ„ํฌ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ๋ฐœ์ƒ ํšŸ์ˆ˜์ผ๋ณ„ ์ฃผ๋ฌธ ๊ฑด์ˆ˜
t-๋ถ„ํฌ์†Œํ‘œ๋ณธ ํ‰๊ท  ๋น„๊ต๊ทธ๋ฃน ๊ฐ„ ํ‰๊ท  ์ฐจ์ด ๊ฒ€์ •

๊ฐ€์„ค๊ฒ€์ • ์˜์‚ฌ๊ฒฐ์ • ํ๋ฆ„

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ โ†“ ๊ฐ€์„ค ์„ค์ • (Hโ‚€, Hโ‚) โ†“ ์œ ์˜์ˆ˜์ค€ ๊ฒฐ์ • (๋ณดํ†ต ฮฑ = 0.05) โ†“ ๊ฒ€์ • ํ†ต๊ณ„๋Ÿ‰ ๊ณ„์‚ฐ โ†“ p-value ์‚ฐ์ถœ โ†“ p < ฮฑ โ†’ Hโ‚€ ๊ธฐ๊ฐ (์œ ์˜๋ฏธํ•œ ์ฐจ์ด) p โ‰ฅ ฮฑ โ†’ Hโ‚€ ๊ธฐ๊ฐ ์‹คํŒจ (์œ ์˜๋ฏธํ•œ ์ฐจ์ด ์—†์Œ)

Python ํ†ต๊ณ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

# ๊ธฐ๋ณธ ํ†ต๊ณ„ import scipy.stats as stats import statsmodels.api as sm from statsmodels.formula.api import ols # ์˜ˆ์‹œ: t-๊ฒ€์ • t_stat, p_value = stats.ttest_ind(group_a, group_b) # ์˜ˆ์‹œ: ํšŒ๊ท€๋ถ„์„ model = ols('y ~ x1 + x2', data=df).fit() print(model.summary())
์‹คํ–‰ ๊ฒฐ๊ณผ
OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.005
Model:                            OLS   Adj. R-squared:                 -0.015
Method:                 Least Squares   F-statistic:                    0.2639
Date:                Sat, 20 Dec 2025   Prob (F-statistic):              0.769
Time:                        00:25:05   Log-Likelihood:                -13.739
No. Observations:                 100   AIC:                             33.48
Df Residuals:                      97   BIC:                             41.29
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
==============================================================================
               coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
Intercept      0.5603      0.078      7.139      0.000       0.404       0.716
x1            -0.0050      0.097     -0.052      0.959      -0.197       0.187
x2            -0.0750      0.103     -0.726      0.469      -0.280       0.130
==============================================================================
Omnibus:                       19.776   Durbin-Watson:                   2.230
Prob(Omnibus):                  0.000   Jarque-Bera (JB):                5.138
Skew:                          -0.135   Prob(JB):                       0.0766
Kurtosis:                       1.923   Cond. No.                         5.63
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

์‹ค๋ฌด ํŒ

๐Ÿ’ก
ํ†ต๊ณ„์  ์œ ์˜์„ฑ vs ์‹ค๋ฌด์  ์ค‘์š”์„ฑ
  • p < 0.05๋ผ๊ณ  ํ•ด์„œ ๋ฌด์กฐ๊ฑด ์˜๋ฏธ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค
  • **ํšจ๊ณผ ํฌ๊ธฐ(Effect Size)**๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜์„ธ์š”
  • ์˜ˆ: ์ „ํ™˜์œจ์ด 0.01% ์ฆ๊ฐ€ํ•˜๊ณ  p = 0.001์ด๋ผ๋ฉด?
    • ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜ํ•˜์ง€๋งŒ, ์‹ค๋ฌด์  ๊ฐ€์น˜๋Š” ์ž‘์„ ์ˆ˜ ์žˆ์Œ
  • ๋น„์ฆˆ๋‹ˆ์Šค ์ž„ํŒฉํŠธ(๋งค์ถœ ์˜ํ–ฅ ๋“ฑ)๋ฅผ ํ•ญ์ƒ ํ•จ๊ป˜ ๊ณ„์‚ฐํ•˜์„ธ์š”
Last updated on

๐Ÿค–AI Mock InterviewPractice with real questions