데이터 분석가 -> 의사결정권자가 이해할 수 있는 수준까지의 통계 역량이 있으면 됨
대상의 특성을 수치로 표현하기
부분을 통해 전체를 추측하기
비교하기
예측하기
영향력을 미치는 변수 찾기
지수(index) 만들기
비슷한 것끼리 모으기
등등..
범주형 변수
연속형 변수
기술통계 : 데이터를 묘사, 설명
히스토그램 : 데이터를 구간별로 나눠 각 구간의 사례 수를 막대그래프로 그린 것
커널 밀도 추정(kde) : 데이터의 밀도를 추정하여 그린 곡선
모집단(population) : 연구의 관심이 되는 집단 전체
표본(sample) : 특정 연구에서 선택된 모집단의 부분 집합
파라미터 : 어떤 시스템의 특성을 나타내는 값
모수 : 모집단의 파라미터 -> 모집단의 특성을 나타내는 값
통계량(sample statistic) : 표본에서 얻어진 수로 계산한 값(=통계치)
표집(표본추출. sampling) : 모집단에서 표본을 추출하는 절차
무작위 표집(random sampling) : 일정한 확률에 따라 표본을 선택
단순 무작위 표집(simple random sampling) : 모든 사례를 동일 확률로 추출
계통표집(systematic sampling) : 첫 번째 요소는 무작위로 선정한 후 목록의 매번 k 번째 요소를 표본으로 선정
층화표집(stratified random sampling) : 모집단을 이루는 각 계층별로 무작위 추출
집락표집(cluster random sampling) : 모집단을 클러스터로 나눈 후 집락 중 일부를 무작위로 선택
추정 : 통계량으로부터 모수를 추측하는 절차
신뢰구간(confidence interval) : 통계량 +- 오차범위
신뢰 수준(confidence level) : 신뢰구간에 모수가 존재하는 표본의 비율
평균의 신뢰구간
부스트스트래핑(booststrapping)
신뢰구간에 영향을 주는 요소
귀무가설(H0) : 기각하고자 하는 가설
대립가설(H1) : 주장하고자 하는 가설
귀무가설을 기각하는 논리 : A -> B 라는 명제는 not B -> not A 라는 대우명제와 동치
귀무가설을 채택하지 않는 논리 : A -> B 라는 명제가 성립해도 B -> A 가 반드시 성립하는 것은 아님
유의수준과 p값
p-value : 귀무가설을 바탕으로 데이터에서 관찰된 결과와 그 이상의 극단적 결과가 나올 확률을 계산한 것
유의수준(significance level) : p값을 바탕으로 높고 낮음을 판정하는 기준
p > 유의수준
p < 유의수준
가설 검정의 결과
가설검정과 신뢰구간의 관계
통계적 가설검정과 신뢰구간은 동일한 이론의 양면
데이터가 많을 수록
p-value 에 영향을 주는 요소들
상관계수(correlation coefficient) : 두 변수의 연관성을 1 ~ +1 범위의 수치로 나타낸 것
양의 상관관계 : 두 변수가 같은 방향으로 변화(하나가 증가하면 다른 하나도 증가)
음의 상관관계 : 두 변수가 다른 방향으로 변화(하나가 증가하면 다른 하나는 감소)
상관계수가 0 : 두 변수가 독립 , 한 변수의 변화로 다른 변수의 변화를 예측하지 못함
상관계수가 1 : 한 변수의 변화와 다른 변수의 변화가 정확히 일치
공분산 : X의 편차와 Y의 편차를 곱한 것의 평균 (X=Y 이면 분산과 같음)
피어슨 상관계수 : 가장 대표적인 상관계수
지도학습(supervised learning) : 독립변수 x 를 이용하여 종속변수 y 를 예측하는 것
독립변수(independent variable) : 예측의 바탕이 되는 정보, 인과관계에서 원인, 입력값
종속변수(dependent variable) : 예측의 대상, 인과관계에서 결과, 출력값
회귀분석(regression)
분류(classification)
선형 모형
ŷ = wx + b
잔차 : 실제값과 예측값의 차이
SELECT customer_id
, last_order_date
, cnt_orders
, sum_sales
, if(last_order_date >= "2020-12-01", 1, 0) recency
, if(cnt_orders >= 3, 1, 0) frequency
, if(sum_sales >= 500, 1, 0) monetary
FROM customer_stats
SELECT if(last_order_date >= "2020-12-01", 1, 0) recency
, if(cnt_orders >= 3, 1, 0) frequency
, if(sum_sales >= 500, 1, 0) monetary
, count(customer_id) customers
FROM customer_stats
GROUP BY recency, frequency, monetary
ORDER BY recency DESC
SELECT order_date
, COUNT(DISTINCT CASE WHEN category = 'Furniture' THEN order_id END) furniture
, ROUND(COUNT(DISTINCT CASE WHEN category = 'Furniture' THEN order_id END) / COUNT(DISTINCT order_id) * 100,2) furniture_pct
FROM records
GROUP BY order_date
HAVING COUNT(distinct order_id) >= 10 AND furniture_pct >= 40
ORDER BY furniture_pct DESC, order_date
SELECT COUNT(*) total
, COUNT(sex) sex_notnull
, COUNT(*) - COUNT(sex) sex_null
FROM penguins
SELECT CASE
WHEN A + B <= C OR B + C <= A OR A + C <= B THEN "Not A Triangle"
WHEN A = B AND B = C THEN "Equilateral"
WHEN A = B OR B = C OR A = C THEN "Isosceles"
ELSE "Scalene"
END
FROM triangles
SELECT id,
SUM(CASE WHEN month = 'Jan' THEN revenue ELSE NULL END) as JAN_Revenue,
SUM(CASE WHEN month = 'Feb' THEN revenue ELSE NULL END) as Feb_Revenue,
SUM(CASE WHEN month = 'Mar' THEN revenue ELSE NULL END) as Mar_Revenue,
SUM(CASE WHEN month = 'Apr' THEN revenue ELSE NULL END) as Apr_Revenue,
SUM(CASE WHEN month = 'May' THEN revenue ELSE NULL END) as May_Revenue,
SUM(CASE WHEN month = 'Jun' THEN revenue ELSE NULL END) as Jun_Revenue,
SUM(CASE WHEN month = 'Jul' THEN revenue ELSE NULL END) as Jul_Revenue,
SUM(CASE WHEN month = 'Aug' THEN revenue ELSE NULL END) as Aug_Revenue,
SUM(CASE WHEN month = 'Sep' THEN revenue ELSE NULL END) as Sep_Revenue,
SUM(CASE WHEN month = 'Oct' THEN revenue ELSE NULL END) as Oct_Revenue,
SUM(CASE WHEN month = 'Nov' THEN revenue ELSE NULL END) as Nov_Revenue,
SUM(CASE WHEN month = 'Dec' THEN revenue ELSE NULL END) as Dec_Revenue
FROM department
GROUP BY id
SELECT a.name Employee
FROM employee a
JOIN employee b
ON a.managerid = b.id
WHERE a.salary > b.salary