
Weighted 1D Linear Regression [medium]
v1 1D 선형회귀 는 모든 점을 동등하게. Weighted Least Squares (WLS) 는 샘플별 신뢰도/중요도가 다를 때:
minw,b∑ici(wxi+b−yi)2
ci≥0 은 샘플 i 의 가중치. Closed-form:
xˉw=∑ci∑cixi,yˉw=∑ci∑ciyi
w=∑ci(xi−xˉw)2∑ci(xi−xˉw)(yi−yˉw),b=yˉw−wxˉw
언제 쓰이나
- 이분산(heteroscedastic) 노이즈: 측정 오차가 샘플마다 다름 → ci∝1/σi2.
- Importance sampling 보정.
- Robust regression 의 반복 재가중 (IRLS) 한 스텝.
주의
- 분모가 0 (모든 cixi 가 같은 값) — 분산 0 → 해 없음. 이 문제는 정상 입력 가정.
- ci=1 균등이면 v1 과 완전히 동일.
과제
함수 fit_weighted(x, y, c) 를 완성하세요.
x, y, c shape (N,), ci≥0.
- 반환:
(slope, intercept) — Python float 튜플.
- 루프 금지. 벡터 연산만.
테스트 케이스
| # | 이름 | 검증 |
|---|
| 1 | 반환 타입 (float, float) | |
| 2 | c=1 → v1 결과와 일치 | |
| 3 | 한 점만 가중치 ↑ → 그 점 통과 쪽으로 기울기 | |
| 4 | 가중치 0인 점은 무시 | 이상치에 c=0 → 깨끗한 fit |
| 5 | 손계산 3점 | |
| 6 | 루프 금지 | |