Today I Learned

[내일배움캠프 QA/QC 6기] TIL #028

JiJi0406 2026. 6. 19. 21:06

001

오늘의 코드카타

37. 행렬의 덧셈

 

문제 설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

 

제한조건

  • n과 m은 각각 1000 이하인 자연수입니다.

예시

입력

5 3

 

출력

*****
*****
*****

 

더보기
a, b = map(int, input().strip().split(' '))
print(('*' * a + '\n') * b)

 

📖 파이썬 줄바꿈

 

1. print()는 호출될 때마다 줄바꿈

2. \n (문자열 안에서 사용 가능)

3.end 파라미터 (end=''(기본값 : \n))

4. ''' '''

 

 


 


002

오늘 학습한 내용

데이터 분석 심화 주차 D+3

 

1. t-test(t-검정)

두 집단의 평균 차이가 진짜 의미가 있는 차이인가, 아니면 그냥 우연인가?

 

를 수학적으로 검증하는 통계 방법

 

→ 데이터의 퍼진 정도(분산)와 샘플 수를 모두 고려해서 진짜 차이가 나는지 알려주는 것!

 

1) t-test의 종류

  • 일표본 t-test (One-sample): 한 집단의 평균을 특정 기준값과 비교
  • 독립표본 t-test (Independent-sample): 서로 다른 두 집단의 평균을 비교 (가장 많이 씀!) 
  • 대응표본 t-test (Paired-sample): 동일한 집단의 전/후를 비교
import numpy as np
from scipy import stats # t-test 할 때 쉽게 할 수 있게 해주는 라이브러리

# 데이터 준비 (ex. A그룹과 B그룹의 구매 금액)
group_A = np.array([23, 25, 28, 30, 26, 27, 29])
group_B = np.array([31, 35, 32, 29, 30, 34, 33])

# 독립표본 t-test 실행
t_stat, p_value = stats.ttest_ind(group_A, group_B)

print(f"t-통계량: {t_stat}")
print(f"p-value: {p_value}")

 

2) 결과 해석

  • 결과로 나오는 p-value가 0.05보다 작으면(p < 0.05): 두 그룹의 평균은 진짜 차이가 있다! 우연 X 라고 결론 냄
  • p-value가 0.05보다 크면: 우연히 차이가 나 보이는 것, 통계적으로는 차이가 없다 라고 해석

 

2. 표본 추출방법

  • 단순 랜덤 추출 - 그냥 무작위
  • 계통 추출 - 5개당 1개씩 일정 간격으로
  • 집락 추출 - 특정 구역만 통째로 (집단 내 이질적, 집단 간 동질적)
  • 층화 추출 — 특정 상품군 내에서 추출 (집단 내 동질적, 집단 간 이질적)

프로젝트에서는 이미 데이터가 다 추출돼있는 상태로 받기 때문에 크게 안 중요하지만, 현장에서는 필요한 개념

(ADsP 준비하면 층화추출은 기억해두기)

 

3. 중심극한정리(CLT) & 큰 수의 법칙

1) 중심극한정리

모집단의 분포 모양이 어떻든 상관없이, 표본 크기가 충분히 크면(n≥30, 이론상!) 표본평균들의 분포가 정규분포에 가까워진다는 정리

# 지수분포(전혀 정규분포 아님)인 모집단에서 표본 크기별로 평균을 뽑아보는 시뮬레이션
population = np.random.exponential(scale=2, size=100000)

def simulate_sampling_means(n_samples, iterations=1000):
    return [np.mean(np.random.choice(population, n_samples)) for _ in range(iterations)]

means_2 = simulate_sampling_means(2)
means_30 = simulate_sampling_means(30)

 

 

 

4. 가설검정

  • 귀무가설(H₀): 차이 없음, 효과 없음 (기본으로 믿는 가설)
  • 대립가설(H₁): 차이 있음, 효과 있음 (증명하고 싶은 가설)
  • 유의수준(α): 귀무가설이 참인데 잘못 기각할 확률의 상한선 (보통 0.05)
  • p-value: 귀무가설이 참이라고 가정했을 때, 지금 같은(또는 더 극단적인) 데이터가 나올 확률
    p < 0.05면 귀무가설 기각, p ≥ 0.05면 채택(보류)

1) 검정 절차

① 귀무/대립가설 수립 → ② 유의수준 설정 → ③ 검정통계량 계산(Z, T, 카이제곱, F 등) → ④ p-value나 신뢰수준 기준으로 결론

 

2) 단측검정 vs 양측검정

  • 단측검정 - 방향성 있음 (ex. 신약 효과가 "더 크다")
  • 양측검정 - 차이 여부만 봄 (ex. 남녀 성적이 "다르다")

3) 1종 오류 vs 2종 오류 (가볍게 알아두)

  • 1종 오류: 귀무가설이 맞는데 기각함 (잘못된 긍정) 
  • 2종 오류: 귀무가설이 틀렸는데 채택함 (놓친 기회) 

 

5. 모수 검정

정규분포 등 모집단 분포에 전제를 두는 검정 방법. 평균 차이를 비교할 때 주로 씀.

 

1) z-test

모집단 표준편차를 알고, 표본 수가 충분히 클 때(n≥30) 사용.
ex) 부품 이론 평균 길이 50mm인데 표본 40개 평균이 50.3mm로 나왔다면, 이게 우연인지 검정

 

2) t-test

모집단 표준편차를 모르고, 표본이 작을 때(n<30) 사용. 위에서 정리함

 

3) ANOVA

3개 이상 집단 평균 비교할 때. t-test를 여러 번 반복하면 오류 위험이 커지니까 한 번에 통합 비교

  • 일원 ANOVA — 기준 1개 (ex. 지역)
  • 이원 ANOVA — 기준 2개 (ex. 지역+성별)
z-test/t-test/ANOVA 구분 기준
: "표본 크기 + 표준편차를 아는지 모르는지 + 비교 그룹 수" → 이 세 가지 질문으로 정리하니 헷갈리지 않았음!