저번 포스팅에서는 이미지 분류(Image Classification)에 대해 다뤘었습니다. 이번에는 ARIMA 모델을 통해 주식 가격을 예측해보겠습니다.
https://woojin1354.tistory.com/3
오렌지3 - 3화 이미지 분류
이번 이미지 분류 예제는 테스트 데이터가 분리된 예제와 그렇지 않은 예제로 2가지가 존재합니다.테스트 데이터와 관련된 예제는 아래 포스트를 참조해주세요.https://woojin1354.tistory.com/2 오렌지
woojin1354.tistory.com
ARIMA 모델이란 ?
ARIMA(Autoregressive Integrated Moving Average) 모델은 시계열 데이터를 분석하고 예측하는 데 널리 사용되는 통계적 모델입니다. ARIMA 모델은 세 가지 주요 구성 요소를 갖추고 있습니다.
Auto-regression (AR), Integration (I), Moving average (MA)
각 구성 요소는 특정한 방식으로 시계열 데이터의 패턴을 설명합니다.
ARIMA 모델 구성 요소
- Auto-regression (AR) - p
- 과거 값들이 현재 값에 미치는 영향을 설명합니다.
- AR(p) 모델은 시계열의 현재 값을 p개의 과거 값의 선형 결합으로 설명합니다.
- 예를 들어, AR(1) 모델에서는 현재 값이 바로 이전 값에 의존합니다.
- Differencing degree (d)
- 시계열 데이터를 정상화(stationary)하기 위해 데이터의 차분을 몇 번 수행할지를 나타냅니다.
- 정상화는 데이터의 평균과 분산이 시간에 따라 일정하게 유지되도록 만드는 과정입니다.
- d = 1은 첫 번째 차분을 의미하며, 이는 데이터의 변화율을 사용하여 트렌드를 제거합니다.
- Moving average (MA) - q
- 과거 예측 오차들의 선형 결합으로 현재 값을 설명합니다.
- MA(q) 모델은 현재 값이 q개의 과거 예측 오차의 선형 결합에 의해 설명되는 모델입니다.
- 예를 들어, MA(1) 모델에서는 현재 값이 바로 이전 예측 오차에 의존합니다.
Orange3에서의 ARIMA 모델의 설정 값
- Auto-regression order (p)
- 과거 값의 개수를 나타냅니다.
- p가 클수록 더 많은 과거 값이 현재 값의 예측에 사용됩니다.
- Differencing degree (d)
- 차분의 횟수를 나타냅니다.
- 시계열 데이터의 비정상성을 제거하여 정상성을 확보합니다.
- Moving average order (q)
- 과거 예측 오차의 개수를 나타냅니다.
- q가 클수록 더 많은 과거 예측 오차가 현재 값의 예측에 사용됩니다.
- Forecast steps ahead
- 미래 예측을 몇 단계 앞까지 할 것인지 설정합니다.
- 예를 들어, 5일 앞을 예측하려면 forecast steps ahead를 5로 설정합니다.
- Confidence intervals
- 예측 값의 신뢰 구간을 설정합니다.
- 신뢰 구간은 예측 값이 특정 확률로 포함될 범위를 제공합니다.
- 보통 95% 신뢰 구간을 사용하여 예측 값의 변동성을 평가합니다.
주식 가격 예측 예제
이번 예제에서는 야후에서 제공하는 주식 데이터를 사용합니다.
1. TIME-SERIES 에드온 설치하기
ORANGE3 화면에서 Options 탭 내의 Add-ons 버튼을 누릅니다.
버튼을 누르게 되면, 권한이 충분하지 않아 설치가 잘 되지 않을 수 있다는 경고가 발생하는데, 이는 관리자 권한으로 오렌지3를 실행하면 해결됩니다. 하지만 작성자는 이를 무시하고 진행하여도 문제가 발생하지 않았습니다.
이후 표시되는 에드온 설치화면에서 "Timeseries"를 선택하고 확인(OK) 버튼을 누릅니다.
설치가 완료되면 오렌지3를 재시작하라는 문구가 발생하는데, 확인을 누르면 자동으로 재실행됩니다.
2. 위젯 배치하기
아래 이미지와 같이 위젯들을 배치하고 예제 파일을 업로드합니다.
3. 살펴보기
예측이 이루어지는 과정을 설명하겠습니다.
- File 위젯을 통해 과거 주식 데이터를 불러옵니다.
- Select Columns 위젯을 통해 예측의 대상(target)이 될 값을 설정합니다. (예제에서는 Close 값으로 설정)
- Form Timeseries 위젯을 통해 데이터를 Timeseries 로 변경합니다.
- ARIMA 모델에 Timeseries를 전달하여 학습합니다. ARIMA 모델 위젯을 더블 클릭하면 여러가지 옵션을 설정할 수 있으며, 이에 대한 설명은 포스트 상단에 존재합니다. 예제에서의 설정은 하단 이미지를 참고해주세요. 설정하는 값에 따라 학습하는데에 많은 시간이 소요될 수 있습니다.(환경에 따라 다름)
5. 예측 결과를 확인하기 위해 Data Table(1) 을 사용하였으며 Forecast steps ahead가 2로 설정되었으므로, 이후 2일간의 데이터를 예측합니다.
6. Line Chart에 예측 결과(Forecast)와 Timeseries 를 모두 전달하여 이를 시각적으로 확인합니다.
※ 팁
예제와는 다른 데이터를 사용하게 된다면, 데이터를 불러왔을 때 텍스트로 인식되어 feature으로 설정하지 못하는 일이 발생할 수 있습니다. 이는 preprocess 또는 edit domain 위젯을 이용하여 해결하시면 됩니다.
'인공지능 · 데이터 과학 > 오렌지3' 카테고리의 다른 글
오렌지3 - 3화 이미지 분류 (0) | 2024.08.06 |
---|---|
오렌지3 - 2화 인공지능 학습 가이드 (0) | 2024.08.05 |
오렌지3 - 1화 기본 가이드 (0) | 2024.08.05 |