SQL 코드카타
문제 101
Product Sales Analysis Ⅲ
처음 답안
SELECT product_id,
MIN(year) AS first_year,
quantity,
price
FROM Sales
GROUP BY product_id
최종 답안
SELECT a.product_id,
a.year AS first_year,
a.quantity,
a.price
FROM
(
SELECT product_id,
year,
RANK() OVER(PARTITION BY product_id ORDER BY year) AS ranking,
quantity,
price
FROM Sales
) a
WHERE a.ranking = 1
틀린 이유
문제 해석 실패
- 문제의 의도: 각 물건 당, 물건이 팔린 첫 해의 구매 내역 리턴
✔️ 한 물건이 첫 해에 여러 번 팔렸을 수 있음 - 내가 해석한 것: 각 물건 당, 물건이 팔린 첫 해의 구매 내역 하나만 리턴
✔️ 한 물건이 첫 해에 여러 번 팔린 경우 간과
개선점
최댓값, 최솟값만 남기기
- 최댓값, 최솟값이 하나인 것이 보장될 때
→ MAX(), MIN() - 최댓값, 최솟값이 둘 이상일 수 있고, 그것 모두를 리턴해야 할 때
→ 서브쿼리: RANK() OVER(ORDER BY 기준컬럼) AS ranking
→ 메인쿼리: WHERE ranking = 1
통계 특강 2강 (1)
더보기


통계 특강 2강 (1) : 곽승예 튜터님
1. 복습
1) 베이즈정리

핵심 개념
- 사전확률 (Prior) : 어떤 사건이 추가적인 정보를 얻기 전에 얼마나 가능성이 있는지를 나타내는 확률
- ex. 일반적으로 고객의 구매 확률이 10%라면, 구매에 대한 사전확률은 0.1
- 우도 (Likelihood) : 특정 가정 하에 우리가 실제로 관측한 데이터가 나올 가능성
- ex. 구매자라면 이메일을 열 확률은 80%
- 사후확률 (Posterior) : 관측한 정보를 반영한 후, 우리가 알고 싶은 사건의 확률
- ex. 고객이 이메일을 열었을 때, 그가 실제 구매자일 확률은 얼마나 될까?
- 사후확률 ∝ 사전확률 × 우도

2) 추론 통계
일부 데이터(표본)를 바탕으로 전체 모집단을 추정(예측)하거나,
어떤 주장이 맞는지 검정하는 통계
추정을 바라보는 두 관점
- 추정 : 모집단의 수치를 알 수 없기 때문에 표본을 통해 대신 계산하는 것
- 추정을 바라보는 2가지 관점
- 빈도주의 (Frequentist) : 반복했을 때 평균적으로 어떤 결과가 나올지를 생각
- 비교적 표본이 많은 경우
- 정규분포 가정이 잘 성립하는 경우
- 가설검정이 필요한 경우
- 해석이 명확한 검정 결과가 필요한 경우
- 베이지안 (Bayesian) : 주어진 정보에서 우리가 얼마나 확신할 수 있는지를 표현
- 표본이 매우 작거나 불확실할 때
- 사전 지식을 활용하고 싶을 때
- 실시간 업데이트가 필요한 경우
- 확률로 직관적인 해석이 필요한 경우
- 빈도주의 (Frequentist) : 반복했을 때 평균적으로 어떤 결과가 나올지를 생각
구분 | 빈도주의 | 베이지안 |
확률의 의미 | 장기적 반복을 통한 비율 | 믿음, 불확실성 |
예시 | “신뢰구간 95%는 100번 중 95번 참값 포함” | “참값이 이 구간 안에 있을 확률이 95%” |
모집단 모수 | 고정된 값 → 확률 없음 | 확률변수처럼 다룸 → 확률 있음 |
초점 | 표본의 반복 분포 | 데이터와 사전 정보의 결합 |
적용 | 신뢰구간, 가설검정 | 베이지안 추론, 머신러닝 등 |
계산 방식 | 사전 정보 없이 오로지 데이터만 사용 | 사전 정보와 데이터 결합 |
결과 | 주로 신뢰구간, p-value, 평균 추정값 | 사후분포, 신뢰도 있는 구간, 업데이트된 믿음 |
✔️ 오늘 내용은 빈도주의 관점에서 진행
자료 출처
스파르타 코딩클럽 데이터 Docs
더보기
6/30 /
7/1
7/6
7/30