일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Today
- Total
- activation function
- AdaGrad
- adaptive learning rate
- arithmetic reasoning
- Attention is all you need
- attention mechanism
- auto encoder
- Back Propagation Trough Time
- Backpropagation
- Bayes Theorem
- BCE
- Bert
- Bidirectional Encoder Representation from Transformer
- Binary classification
- BPTT
- Chain-of-Thought
- CNN
- commonsense reasoning
- Computer Vision
- Confusion Matrix
- convolutional neural network
- Cot
- cot reasoning
- counting
- Cross Entropy Loss
- deep learning
- degradation
- Dimension Reduction
- Few-shot
- fine-tuning
데이터 분석 일지
[Forecasting: Principles and Practice] Getting Started 본문
[Forecasting: Principles and Practice] Getting Started
-ˋˏ ♡ ˎˊ- 2024. 2. 23. 14:121. What can be forecast?
우리의 삶 속 다양한 경우에서 예측이 필요하다. 어떤 것을 예측할 때에 내일 해가 뜨는 시간처럼 예측하기 쉬운 것도 있지만 로또 번호처럼 아예 예측이 불가능한 경우도 있다. 이러한 어떤 사건이나 수량의 예측가능성은 아래의 세 가지 요인에 의존한다.
- 영향을 주는 요인을 얼마나 잘 이해할 수 있는지
- 사용할 수 있는 데이터가 얼마나 많은지
- 미래가 과거가 얼마나 비슷한지
- 예측이 우리가 예측하려는 것에 영향을 줄 수 있는지
예측에서 핵심적인 과정은 정확한 예측이 가능한 때와 불가능한 때가 언제인지를 아는 것이다. 좋은 예측은 과거 데이터의 핵심적인 패턴을 추출하고 다시 반복되지 않을 패턴을 모사해선 안 된다. 따라서 앞으로는 과거 데이터에서 무시해야 하는 무작위적인 패턴을 drop하고 외삽해야 할 의미 있는 패턴의 차이를 어떻게 구분할지 공부할 것이다.
모든 환경은 변하고, 좋은 예측 모델은 변하는 방식을 알아낸다. 예측할 때 환경이 변하지 않는다는 가정은 잘 사용하지 않는다. 보통 환경이 변하는 방식이 미래에도 계속될 것이라고 가정한다. 즉, 불안정한 환경은 계속하여 불안정할 것이고, 판매량이 변하는 사업은 계속 판매량이 변할 것이고, 호황과 불황 패턴을 보이는 경제에는 계속하여 호황과 불황이 나타날 것이라는 것이다. 예측 모델은 존재하는 상황뿐만 아니라 변하는 방식을 찾아내는 것을 목적으로 한다.
2. Forecasting, Goals, and Planning
예측은 보통 경영분야에 있어서 생산 계획, 수송, 인사에 관한 결정을 알리거나 장기 전략 계획을 세우는데 도움을 주는 통계적 업무이다. forecasting은 주어진 모든 정보를 바탕으로 가능한 정확하게 미래를 예측하는 것을 의미한다. goal은 우리가 실현하고자 하는 것이다. 이는 예측이나 계획과 연관되어 있는 것이 좋지만, 이는 항상 일어나는 일은 아니다. 목표를 어떻게 달성할지에 대한 아무 계획이나 목표가 실현가능한 것인지에 대한 예측 없이 목표를 세우는 경우가 너무 많다. 계획은 이러한 예측과 목표에 대한 대응이다.
3. Determining what to forecast
예측의 초기 단계에서 어떤 것을 예측할 것인지 결정해야 한다. 그 어떤 것은 매우 정교하고 정확한 목표를 가지고 있어야 한다. 예를 들어 생산 환경에서 물품에 대한 예측이 필요하다면, 모든 생산 라인에 대한 것인지 생산 그룹에 대한 것인지, 모든 판매점에 대한 것인지, 지역별 판매점 그룹에 대한 것인지, 데이터의 주기는 어떻게 구성되어 있는지 등을 정확히 해야 한다. 추가로 예측 범위를 고려하는 것도 필요하다. 어떤 예측 범위가 가장 중요한지에 따라 다른 종류의 모델이 필요할 것이다.
어떤 예측이 필요할지를 결정했다면 이를 예측하기 위한 데이터를 수집해야 한다. 예측 프로젝트에서 가장 시간이 많이 들여지는 중요한 작업이다.
4. Forecasting Data and Methods
적절한 예측 방법은 수집된 데이터에 의존한다. 만약 수집된 데이터가 없거나 수집된 데이터가 예측하려는 것과 무관하다면 이는 qualitative forecasting 방법을 사용해야 될 것이다.
4. 1. Time Series Forecasting
시계열 데이터는 시간에 따라 순차적으로 관측된 데이터를 의미한다. 이 책에서는 시간별, 일별, 주별, 월별 등 일정한 시간 간격에 따라 관측된 시계열만 다룬다. (시간 간격이 불규칙한 시계열 데이터도 존재)
시계열 데이터를 예측할 때, 목표는 관측값의 수열이 미래에도 지속될 것인지를 예측한다. 아래의 그림은 1992년부터 2010년 2분기까지 호주 맥주의 분기별 생산량을 보여준다.
파란 선은 다음 2년 동안의 예측을 보여준다. 어두운 파란색으로 표시한 영역은 80%의 예측 구간을 의미한다. 즉, 각 예측값이 80% 확률로 어두운 파란색으로 표시한 영역에 들어갈 것이라고 예측한다. 밝은 파란색으로 표시한 부분은 마찬가지로 95%의 예측 구간을 의미한다. 이러한 예측 구간은 예측의 불확실성을 나타낼 때 쓸 수 있다.
4. 2. Predictor Variables and Time Series Forecasting
예측 변수는 시계열을 예측할 때 사용된다. 예를 들어 여름에 더운 지역의 시간당 전기 수요 ED(electricity demand)를 예측하려는 상황을 생각해 보자. 예측 변수를 고려한 모델은 다음과 같은 형태일 것이다.
$$ED = f(현재 기온, 경제 상황, 인구, 시간, 요일, 오차)$$
예측 변수로 완벽히 설명할 수 없는 전기 수요량은 항상 변화할 것이기 때문에 오차 변수 또한 필요하다. 이러한 오차 항은 무작위 변동과 더불어 모델에 포함하지 않는 관련 변수의 영향까지 고려한다. 어떤 변수가 전기 수요량을 설명하는지 나타내기 때문에 이를 explanatory model이라고 한다.
전기 수요 데이터가 시계열이기 때문에 예측할 때 time series model을 아래와 같이 사용할 수 있다.
$$ED_{t+1} = f(ED_t, ED_{t-1}, ED_{t-2}, ED_{t-3}, \dots, 오차)$$
위의 식에서 t는 현재 시간을 의미하고 1의 단위는 예측하려는 주기의 단위를 나타낸다. 위의 두 모델의 특징을 결합한 모델이 아래의 모델이다.
$$ED_{t+1} = f(ED_t, 현재 기온, 시간, 요일, 오차)$$
이러한 종류의 mixed model은 다양한 이름으로 불린다. (dynamic regression model, panel data model longitudinal model, transfer function, etc.)
5. The Basic Steps in a Forecasting Task
예측 작업은 보통 다섯 가지의 단계로 나눌 수 있다.
5. 1. Step 1: Problem Definition
이 단계에서는 예측하려는 것이 무엇인지, 어떤 주기로 예측할 것인지, 그 예측을 하기 위하여 어떤 데이터를 수집해야 하는지 등을 결정한다. 제일 첫 번째 단계로써 앞으로의 단계에서 어떤 식으로 진행할지도 결정한다.
5. 2. Step 2: Gathering Information
데이터 수집 단계에서는 통계적인 데이터 및 전문가의 전문지식 등을 수집할 수 있다. 이 경우에는 대부분이 정제되지 않은 데이터이기 때문에 데이터를 사용할 수 있는 형식으로 변환하는 전처리 및 정제 작업이 필요하다.
5. 3. Step 3: Preliminary (exploratory) Analysis
이 단계는 탐험적 분석 단계로써 수집된 데이터가 어떤 특성을 가지는지 분석하는 단계이다. 각 데이터 사이의 관계나 데이터의 trend, seasonality, cycle 등을 확인할 수 있다. 이 단계는 정해진 결론을 도출하는 단계가 아닌 여러 탐험을 통한 분석을 하는 것이 목표인 단계이다.
5. 4. Step 4: Choosing and Fitting Models
이 단계에서는 수집된 데이터에 맞는 모델을 선택하고 개발하는 단계이다. 과거 데이터를 반영하는 정도, 예측 변수와 설명 변수 사이 관계의 강도, 그리고 예측값이 사용될 방식에 따라 사용해야 될 적절한 모델이 달라진다.
5. 5. Step 5: Using and Evaluating a Forecasting model
이 단계에서는 선택한 모델을 사용하여 데이터를 예측하고 평가한다. 모델의 성능은 예측한 기간에 대한 데이터를 사용할 수 있게 될 때만 제대로 평가할 수 있다. 이에 따른 모델의 성능을 평가한 후 다시 모델을 수정하고 실행 및 평가하는 식으로 반복한다.
6. The Statistical Forecasting Perspective
예측하는 값은 확률 변수로써 정확하게 예측하기 어렵다. 이를 신뢰 구간으로 나누어 예측할 수 있는데 이를 아래와 그림으로 표현한다. 아래의 그림에서 검은색 선은 1980년부터 2015년까지 호주를 방문하는 외국인의 수이다. 2016년부터 2025년까지 10개의 가능한 예측값도 함께 나타낸다.
예측값을 얻으면 확률 변수가 가질 수 있는 가능한 값들 범위에서 가운데를 추정한다. 종종 예측값은 확률 변수가 비교적 높은 확률로 취할 수 있는 값들의 범위를 제시하는 예측 구간을 수반한다. 예를 들어 95% 예측 구간은 95% 확률로 실제 미래 값을 포함할 값의 범위를 제시한다.
위의 그림처럼 각각의 가능한 예측값을 나타내기보다 아래의 그림과 같이 예측 구간을 사용하여 예측값을 나타낸다. 아래의 그림에서 밝은 파란색 부분은 95%의 예측 구간이고 어두운 파란색은 80%의 예측 구간이다.
관측한 모든 정보를 I, 시간 t에 대한 예측값을 y_t라고 표현해 보자. 그렇다면 I가 주어졌을 때 확률 변수 y_t를 의미하는 것은 y_t | I로 나타낼 수 있다. 이를 확률분포라고 하고, 이를 예측할 때 예측분포라고 한다. 예측분포는 (y_t)_hat으로 나타낸다. 이는 I가 주어졌을 때 가능한 y_t의 중간값을 의미한다.
'Lecture or Textbook Review > Forecasting: Principles and Practice' 카테고리의 다른 글
[Forecasting: Principles and Practice] Time Series Graphics (0) | 2024.02.24 |
---|