코드카타
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)을 설정하고, 귀무가설을 기각할지를 결정
- 데이터 분석시 두가지 전략을 취할 수 있음 ( 확증적 자료분석, 탐색적 자료분석)
단계
- 귀무가설(H0)과 대립가설(H1) 설정
- 유의수준(α) 결정
- 검정통계량 계산
- p-값과 유의수준 비교
- 결론 도출
통계적 유의성
- 결과가 우연히 발생한 것이 아니라 어떤 효과가 실제로 존재함을 나타내는 지표
- 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. 다항회귀, 스플라인 회귀
다항회귀
- 독립 변수와 종속 변수 간의 관계가 선형이 아닐 때 사용. 독립 변수의 다항식을 사용하여 종속 변수를 예측
- 데이터가 곡선적 경향을 따를 때 사용
- 비선형 관계를 모델링할 수 있음
- 고차 다항식의 경우 과적합 위험이 있음
>> 독립변수와 종속변수의 관계가 비선형 관계일 때 사용
스플라인 회귀
- 독립 변수의 구간별로 다른 회귀식을 적용하여 복잡한 관계를 모델링
- 구간마다 다른 다항식을 사용하여 전체적으로 매끄러운 곡선을 생성
- 데이터가 국부적으로 다른 패턴을 보일 때 사용
- 복잡한 비선형 관계를 유연하게 모델링할 수 있음
- 적절한 매듭점의 선택이 중요
'TIL' 카테고리의 다른 글
| TIL - 코드카타, 머신러닝 기초 (~1-7) (0) | 2025.01.21 |
|---|---|
| TIL - 통계학 기초 (5,6주차) (0) | 2025.01.20 |
| TIL - 코드카타, 통계학 기초 (1,2주차) (1) | 2025.01.16 |
| TIL - SQL (4주차) (0) | 2025.01.15 |
| [1/14] TIL - 코드카타, 기초 프로젝트, SQL (2,3주차) (1) | 2025.01.14 |