TIL

TIL - 코드카타, 통계학 기초 (3,4주차)

pys6341 2025. 1. 17. 19:50

코드카타

 

25.

def solution(arr, divisor):
    answer = []
    
    for i in arr:
        if i % divisor == 0:
            answer.append(i)
    answer.sort()
    
    if answer:
        return answer
    else:
        return [-1]

 

* sort () >> 오름차순 정렬


 

 

[3주차]

 

1. A/B 검정

  • A/B 검정은 두 버전(A와 B) 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정 방법
  • 마케팅, 웹사이트 디자인 등에서 많이 사용됨
  • 사용자들을 두 그룹으로 나누고, 각 그룹에 다른 버전을 제공한 후 반응을 비교
  • 일반적으로 전환율, 클릭률, 구매수, 방문 기간, 방문한 페이지 수, 특정 페이지 방문 여부, 매출 등의 지표를 비교

 

목적: 두 그룹 간의 변화가 우연이 아니라 통계적으로 유의미한지를 확인

 

import numpy as np
import scipy.stats as stats

# 가정된 전환율 데이터
group_a = np.random.binomial(1, 0.30, 100)  # 30% 전환율
group_b = np.random.binomial(1, 0.45, 100)  # 45% 전환율

# t-test를 이용한 비교
t_stat, p_val = stats.ttest_ind(group_a, group_b)
print(f"T-Statistic: {t_stat}, P-value: {p_val}")

 

stats.ttest_ind란?

scipy.stats.ttest_ind 함수는 독립표본 t-검정을 수행하여 두 개의 독립된 집단 간 평균의 차이가 유의미한지 평가함

 

t-통계량

두집단 간 평균 차이의 크기와 방향

 

p-값

귀무 가설이 참일 때, 현재 데이터보다 극단적인 결과가 나올 확률

유의수준(α) 보다 작으면 귀무 가설을 기각하고 이 값이 유의수준(α) 보다 크면 귀무 가설을 기각하지 않음

 

 

2. 가설 검정

  • 표본 데이터를 통해 모집단의 가설을 검증하는 과정
  • 즉, 데이터가 특정 가설을 지지하는지 평가하는 과정
  • 귀무가설(H0)과 대립가설(H1)을 설정하고, 귀무가설을 기각할지를 결정
  • 데이터 분석시 두가지 전략을 취할 수 있음 ( 확증적 자료분석, 탐색적 자료분석)

 

단계

  1. 귀무가설(H0)과 대립가설(H1) 설정
  2. 유의수준(α) 결정
  3. 검정통계량 계산
  4. p-값과 유의수준 비교
  5. 결론 도출

 

통계적 유의성

  • 결과가 우연히 발생한 것이 아니라 어떤 효과가 실제로 존재함을 나타내는 지표
  • p값은 귀무 가설이 참일 경우 관찰된 통계치가 나올 확률을 의미
  • 일반적으로 p값이 0.05 미만이면 결과를 통계적으로 유의하다고 판단

p-값

  • 귀무가설이 참일 때, 관찰된 결과 이상으로 극단적인 결과가 나올 확률
  • 일반적으로 p-값이 유의수준(α)보다 작으면 귀무가설을 기각
  • 유의수준으로 많이 사용하는 값이 0.05

 

신뢰구간과 가설검정

  • 신뢰구간과 가설검정은 밀접하게 관련된 개념
  • 둘 다 데이터의 모수(ex. 평균)에 대한 정보를 구하고자 하는 것이지만 접근 방식이 다름
  • 신뢰구간 : 특정 모수가 포함될 범위 제공
  • 가설검정 : 모수가 특정 값과 같은지 테스트

 

3. t검정

  • t검정은 두 집단 간의 평균 차이가 통계적으로 유의미한지 확인하는 검정 방법
  • 독립표본 t검정과 대응표본 t검정으로 나뉨

 

독립표본t검정

  • 두 독립된 그룹의 평균을 비교

대응표본t검정

  • 동일한 그룹의 사전/사후 평균을 비교

 

4. 다중검정

  • 여러 가설을 동시에 검정할 때 발생하는 문제
  • 각 검정마다 유의수준을 조정하지 않으면 1종 오류 발생 확률이 증가

 

보정 방법

본페로니 보정(대표적), 튜키 보정, 던넷 보정, 윌리엄스 보정 등이 있음

 

 

5. 카이제곱검정

  • 범주형 데이터의 표본 분포가 모집단 분포와 일치하는지 검정(적합도 검정)
  • 두 범주형 변수 간의 독립성을 검정(독립성 검정)

 

적합도 검정

  • 관찰된 분포와 기대된 분포가 일치하는지 검정
  • p값이 높으면 데이터가 귀무 가설에 잘 맞음. 즉, 관찰된 데이터와 귀무 가설이 적합
  • p값이 낮으면 데이터가 귀무 가설에 잘 맞지 않음. 즉, 관찰된 데이터와 귀무 가설이 부적합

 

독립성 검정

  • 두 범주형 변수 간의 독립성을 검정
  • p값이 높으면 두 변수 간의 관계가 연관성이 없음 → 독립성이 있음
  • p값이 낮으면 두 변수 간의 관계가 연관성이 있음 → 독립성이 없음

 

6. 제 1종 오류와 제 2종 오류

 

제 1종 오류

  • 귀무가설이 참인데 기각하는 오류
  • 잘못된 긍정을 의미 (아무런 영향이 없는데 영향이 있다고 하는 것)
  • α를 경계로 귀무가설을 기각하기 때문에 제1종 오류가 α만큼 발생
  • 따라서 유의수준(α)을 정함으로써 제 1종 오류 제어 가능
  • 유의수준이 0.05라면 100번 중 5번 정도 일어날 수 있는 제 1종 오류는 감수하겠다는 것

 

제 2종 오류

  • 귀무가설이 거짓인데 기각하지 않는 오류.
  • 잘못된 부정을 의미 (영향이 있는데 영향이 없다고 하는 것)
  • 제 2종 오류가 일어날 확률은 β로 정의.
  • 제 2종 오류가 일어나지 않을 확률은 검정력(1-β)으로 정의
  • 직접 통제할 수는 없음
  • 통제를 해볼 수 있는 방법은?
    • 표본크기 n이 커질 수록 β가 작아짐
    • α와 β는 상충관계에 있어서 너무 낮은 α를 가지게 되면 β는 더욱 높아짐

 

 

 


 

 

[4주차]

 

1. 단순선형회귀

하나의 독립 변수와 하나의 종속 변수 간의 관계를 직선으로 모델링

 

 

회귀식 :  Y = β0 + β1X, 여기서 β0는 절편, β1는 기울기

 

특징

  • 독립 변수의 변화에 따라 종속 변수가 어떻게 변화하는지 설명하고 예측
  • 데이터가 직선적 경향을 따를 때 사용
  • 간단하고 해석이 쉬움
  • 데이터가 선형적이지 않을 경우 적합하지 않음

 

2. 다중선형회귀

두 개 이상의 독립 변수와 하나의 종속 변수간의 관계를 모델링

 

회귀식: Y = β0 + β1X1 + β2X2 + ... + βnXn

 

특징

  • 여러 독립 변수의 변화를 고려하여 종속 변수를 설명하고 예측
  • 종속변수에 영향을 미치는 여러 독립변수가 있을 때 사용
  • 여러 변수의 영향을 동시에 분석할 수 있음
  • 변수들 간의 다중공선성 문제가 발생할 수 있음

 

다중공선성?

  • 회귀분석에서 독립 변수들 간에 높은 상관관계가 있는 경우를 말함
  • 독립 변수들이 서로 강하게 상관되어 있으면, 각 변수의 개별적인 효과를 분리해내기 어려워져 회귀의 해석을 어렵게 만듦

 

해결 방법? 

높은 계수를 가진 변수 중 하나 제거

 

 

3. 범주형 변수

수치형 데이터가 아닌 주로 문자형 데이터로 이루어져 있는 변수가 범주형 변수

 

 

종류

  • 순서가 있는 범주형 변수 (옷의 사이즈, 수능등급 등)
  • 순서가 없는 범주형 변수 (성별, 지역 등)

 

4. 다항회귀, 스플라인 회귀

 

다항회귀

  • 독립 변수와 종속 변수 간의 관계가 선형이 아닐 때 사용. 독립 변수의 다항식을 사용하여 종속 변수를 예측
  • 데이터가 곡선적 경향을 따를 때 사용
  • 비선형 관계를 모델링할 수 있음
  • 고차 다항식의 경우 과적합 위험이 있음

>> 독립변수와 종속변수의 관계가 비선형 관계일 때 사용

 

 

스플라인 회귀

  • 독립 변수의 구간별로 다른 회귀식을 적용하여 복잡한 관계를 모델링
  • 구간마다 다른 다항식을 사용하여 전체적으로 매끄러운 곡선을 생성
  • 데이터가 국부적으로 다른 패턴을 보일 때 사용
  • 복잡한 비선형 관계를 유연하게 모델링할 수 있음
  • 적절한 매듭점의 선택이 중요