Data Science Analysis Pipeline
- Modeling: ์์ธก์ ํ ์ ์๋ ๋๊ตฌ๋ก ์ ๋ณด๋ฅผ ๊ฐ์ธ๋ ๊ณผ์
- ํต์ฌ ๊ณผ์ : building, fitting, validating the model
Philosophies of Modeling
1. Occam's Razor
- 14์ธ๊ธฐ ์๊ตญ ์๋์น
- ๋ป: ๊ฐ์ฅ ๋จ์ํ ์ค๋ช ์ด ๊ฐ์ฅ ์ข๋ค.
- ๊ฐ์ฅ ์ ์ ๊ฐ์ ์ ๋ง๋๋ ๋ต์ ์ ํํด์ผ ํ๋ค. -> ๋ชจ๋ธ์์ parameter์ ์๋ฅผ ์ค์ฌ์ผ ํจ์ ์๋ฏธ
- LASSO/ridge regression ๋ฑ์ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ์ ํผ์ณ๋ฅผ ์ต์ํํ๊ธฐ ์ํด penalty function์ ์ฌ์ฉ -> ๋ถํ์ํ coefficient๋ฅผ ์ต์ํ
2. Bias-Variance Tradeoffs
- "๋ชจ๋ ๋ชจ๋ธ์ ํ๋ฆฌ๋ค. ๊ทธ๋ ์ง๋ง ์ด๋ค ๋ชจ๋ธ์ ์ ์ฉํ๋ค."
- Bias: ๋ชจ๋ธ์์ ์๋ฌ๊ฐ ์๋ ๊ฐ์ ์ผ๋ก๋ถํฐ ์์ฑ๋ ์ค๋ฅ -> underfitting; ๊ฐ์ ์์ฒด๊ฐ ์ ๋ต์์ ๋ฉ์ด์ ธ ์๋ ๊ฒฝ์ฐ -> linear๋ก ๋ณํ๋จ
- Variance: training set ์์ ์์ ๋ณํ์ ๋ฏผ๊ฐํจ์ผ๋ก์จ ์๊ธฐ๋ ์ค๋ฅ -> overfitting; ๊ฐ์ ์์ฒด๋ ๋ง์ผ๋ ๋ณ์์ ํผ์ง ์ ๋๊ฐ ๋๋ฌด ํฐ ๊ฒฝ์ฐ
3. Principles of Nate Silver
- ํ๋ฅ ์ ๊ธฐ๋ฐํ์ฌ ์๊ฐํ๊ธฐ
- ์๋ก์ด ์ ๋ณด์ ๋ฐ์ํ์ฌ ์์ธก์ ๋ฐ๊พธ๊ธฐ
- consensus๋ฅผ ์ถ๊ตฌํ๊ธฐ
๋์ ๋ชจ๋ธ์ ๋ํ ๊ฒฐ๊ณผ
- ๋ชจ๋ธ๋ก๋ถํฐ 1๊ฐ์ ๊ฒฐ์ ๋ก ์ ์ธ ์์ธก์ ์๊ตฌํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ ์ผ์ด๋ค.
- ์ข์ ์์ธก ๋ชจ๋ธ์ ๋ชจ๋ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ๋ํ ํ๋ฅ ๋ถํฌ๋ฅผ ์ ๊ณต
- logistic regression, k-nearest neighbor ๋ฑ์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ
Live Models
- ์๋ก์ด ์ ๋ณด์ ๋ฐ์ํ์ฌ ์์ธก์ ๊พธ์คํ ๋ณ๊ฒฝํ๋ฉด Liveํ ๋ชจ๋ธ์ด๋ผ๊ณ ํ๋ค.
- ์์ธก์ด ์ ํํ ๋ต์ผ๋ก ์๋ ดํ๋๊ฐ? / ์ด์ ์์ธก์ ๋ณด์ฌ์ค์ ๋ชจ๋ธ์ ์ผ๊ด์ฑ์ ํ๋จํ ์ ์๊ฒ ํ๋๊ฐ? / ๋ชจ๋ธ์ด ๋ ์ต๊ทผ ๋ฐ์ดํฐ๋ก ๋ค์ ํ์ต๋๋๊ฐ?
Consensus ์ถ๊ตฌ
- Google Flue Trends: illness term์ ๋ํ ๊ฒ์ ๋น๋๋ฅผ ์ด์ฉํ์ฌ flu ๋ฐ์์ ์์ธก -> ๊ตฌ๊ธ์ด ๊ฒ์ ์ ์ ๊ธฐ๋ฅ์ ๋์ ํ๊ณ ์คํจํจ
- ๋น๊ต ๊ฐ๋ฅํ ๊ฒฝ์ ์์ธก์ด ์๋๊ฐ? / baseline model์ด ํ๋ ๋ง์ด ๋ฌด์์ธ๊ฐ? / ์์ธก์ ํ๋ ์ ๊ทผ ๋ฐฉ๋ฒ์ด ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ ๊ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋๊ฐ?
- Boosting, Bagging: ๋ถ๋ฅ๊ธฐ์ ensemble์ ๋ช ์์ ์ผ๋ก ํฉํ๋ ๋จธ์ ๋ฌ๋ ๊ธฐ์
Taxonomy of Models
1. Linear vs. Non-linear Model
- Linear: ๊ฐ๊ฐ์ ํผ์ณ ๋ณ์๋ฅผ coefficient๋ก ์ค์๋๋ฅผ ๋ํ๋ด๋ ์์ผ๋ก ๋ํ๋ -> ์ด๋ฌํ ๊ฐ๋ค์ ๋ํด ์ ์๋ฅผ ๊ณ์ฐํจ
- Non-linear: ๊ณ ์ฐจ์์ polynomial, logarithm, exponential ๋ฑ์ ํฌํจํ๋ ์
2. Blackbox vs. Descriptive Model
- ๋ชจ๋ธ์ ๋๋ถ๋ถ ์ค๋ช ์ ์ = ์ ๊ทธ๋ฌํ ๊ฒฐ์ ์ ๋ด๋ ธ๋์ง ์ค๋ช ํจ
- Linear regression model์ด ๊ทธ ์์, ํธ๋ฆฌ๋ ์์์ผ ์ ์์.
- Neural Network Model์ ์ ๊ทธ๋ฌํ ๊ฒฐ์ ์ ๋ด๋ ธ๋์ง ์ ์ ์์.
-> opaque
3. First principle vs. Data-driven Model
- First principle: ์์คํ ์ด ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ด๋ก ์ ์ธ ์ค๋ช ์ ๊ธฐ๋ฐ์ผ๋ก ํจ -> ์๋ฎฌ๋ ์ด์ , ๊ณผํ ๊ณต์
- Data-driven: input parameter์ outcome variables ์ฌ์ด์ ๊ด์ธก๋ ๋ฐ์ดํฐ ์๊ด์ฑ -> ๋๋ถ๋ถ์ ๊ธฐ๊ณํ์ต ๋ชจ๋ธ
- ์ข์ ๋ชจ๋ธ์ ๋์ ์ ์ ํ ์์์ ๋ ๋์ด
4. General vs. Ad Hoc Model
- ๋ถ๋ฅ๋ ํ๊ท ๋ฑ์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ general = ๋ฌธ์ ์ ํน์ ๋๋ ์์ด๋์ด๊ฐ ์๋ ํน์ ๋ฐ์ดํฐ๋ง์ ๊ธฐ๋ฐ์ผ๋ก ํจ
- Ad Hoc Model์ ํน์ ๋๋ฉ์ธ์ ์ง์์ ์ด์ฉ - ํน๋ณํ ๋ชฉ์
5. Stochastic vs. deterministic
6. Flat vs. Hierarchical
๋ชจ๋ธํ๊ฐ : Baseline
- simplest reasonable models to compare against
- ๋ํ์ ์ธ ์์ (๋ณต์ก๋ ์ค๋ฆ์ฐจ์)
* uniform/random selection among labels
* training data์ ๊ฐ์ฅ ํํ label
* ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์ single-variable model
* ์ด์ ์๊ฐ ํฌ์ธํธ์ ๊ฐ์ label
* mean, median
* linear regression
* existing model: SOTA model...
- baseline ๋ชจ๋ธ์ ๊ณต์ ํด์ผํ๋ค.
๋ถ๋ฅ๊ธฐ ํ๊ฐ
- ์ด์ง ๋ถ๋ฅ๊ธฐ์ ์ํ ๊ฒฐ๊ณผ๋ ์ด 4๊ฐ์ง๊ฐ ๋์ฌ ์ ์์
Threshold Classifiers
- ์ ์ ํ threshold๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ค์
Accuracy
- ์ ์ฒด ์์ธก์ ๋ํ ์ณ์ ์์ธก์ ๋น์จ
- Accuracy๊ฐ ๋๋ค๊ณ ํ๋๋ผ๋ ์ค์ ์ ๊ฒฐ๊ณผ์๋ ์ฐจ์ด๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก ์ ํ๋๋ง์ผ๋ก ๋น๊ตํ๋ ๊ฒ์ ์ณ์ง ์๋ค
- |P| << |N| ์ผ ๋ ํนํ ๋ถ์ ํ
Precision
Recall
F-score
- ์กฐํํ๊ท ์ ์ฐ์ ํ๊ท ๋ณด๋ค ํญ์ ์๊ฑฐ๋ ๊ฐ์ผ๋ฏ๋ก F-score๊ฐ ๋์์ง๋ ๊ฒ์ ๋ฐฉ์ง
- ๋ ๊ฐ์ ์ ์๊ฐ ๋์์ผ ์ต์ข ์ ์ผ๋ก F ๊ฐ๋ ๋์์ง
Sensitivity vs. Specificity
- Sensitivity: True Positive Rate - ๋ฏผ๊ฐ๋
- Specificity: True Negative Rate - ํน์ด๋
- ์ํ์, ์คํธ ๋ฑ์์ true label์ด ๋ฌด์์ธ์ง๋ ๋ด์ฉ์ ๊ธ๋ถ์ ์ด ์๋๋ผ ์ฐ๋ฆฌ๊ฐ ํ๊ฒ์ผ๋ก ํ๋ ๋์์ ์ฌ๋ถ์ ๋ฌ๋ฆฐ ๊ฒ
์ข ํฉ์ ์ผ๋ก๋!
- Accuracy: class size๊ฐ ๋์ฒด๋ก ๋ค๋ฅผ ๋ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์
- Recall: ๋ถ๋ฅ๊ธฐ๊ฐ ๊ท ํ์ด ์กํ์์ ๋ ์ ํ๋์ ๊ฐ์ ๊ฐ์ด ๋จ
- High precision: ๊ท ํ ์กํ์ง ์์ class size์ ๋ํด์๋ ๋งค์ฐ ๋ฌ์ฑํ๊ธฐ ์ด๋ ค์
- F-score: ์ด๋ค ๋จ์ผ ํต๊ณ๋์ ๋ํด์๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋, but 4๊ฐ ๊ฐ์ด ๋ชจ๋ ๋ถ๋ฅ๊ธฐ์ ์ฑ๋ฅ์ ๋ํด ์ค๋ช ํ ์ ์์
Receiver-Operator Characteristic (ROC) curves
- threshold ๊ฐ์ด ๋ฐ๋๋ฉด recall/precision, TPR/FPR ๊ฐ์ด ๋ณํ๋ค.
- ROC curve ์๋์ ๋ฉด์ = AUC๋ ์ ํ๋ ํ๋จ ๊ธฐ์ค์ด ๋จ
๋ณต์ ๋ถ๋ฅ ์์คํ ํ๊ฐ
- class๊ฐ ๋ง์์ง๋ฉด ๋ถ๋ฅ๊ฐ ๋ ์ด๋ ค์์ง
- top-k success rate: first k๊ฐ์ ์์ธก์ ๋ํด ์ฑ๊ณตํ ๊ฒฝ์ฐ ๋ณด์์ ์ ๊ณต
(๊ฒ์ ๊ฒฐ๊ณผ: ์์ธกํ ๊ฐ์ฅ ๊ฐ๋ฅ์ฑ์ด ๋์ N๊ฐ์ ํด๋์ค์ ๋์ผํ ์ค์ ํด๋์ค์ ํ์ค ์ ํ๋)
Summary statistics: Numerical Error
- f: forecast, o: observation
- absolute error: (f-o)
- relative error: (f-o)/o -> ๋ ๋์ ๊ฒฐ๊ณผ
- ์ค๋ฅ๋ฅผ ๋ํ๋ด๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ
* Mean or median squared error (MSE)
* Root mean squared error
Error histograms
Evaluation Data
- out-of-sample prediction: ๋ชจ๋ธ์ ๋ง๋ค ๋ ๋ณธ ์ ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋์ถ
- training 60%, validation 20%, testing 20% ์ด๋ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถํ
- testing data๋ ๋ค๋ฅธ ๊ฒฝ์ฐ์ ์ ๋ ๋ณด๋ฉด ์ ๋๊ณ ๋ฑ ํ ์คํธ ํ ๋๋ง ๋ณผ ์ ์๋๋ก ํด์ผํจ.
Sins in evaluation
- training / test data๋ฅผ ์๋ก ์์๋๊ฐ?
- ๋์ implementation์ ์ค๋ฅ๊ฐ ์๋๊ฐ?
- ์ด๋ฌํ ์ง๋ฌธ์ ๋์ ธ์ ์ค๋ฅ๋ฅผ ์ฐพ์ ์ ์๋ค.
Cross-validation
- ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ์ง ์์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฅผ k๊ฐ๋ก ์ชผ๊ฐ์ k-1๋ฒ์งธ ๋ฐ์ดํฐ์ ๋ํด ํ์ต์ ์งํ, ๋๋จธ์ง๋ก ํ๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ฐ์ดํฐ ์กฐ๊ฐ์ผ๋ก ๊ณ์ ๋ฐ๋ณต
- limiting case: leave one out validation
- k-fold