모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!
🕑 시계열 자료 준비
시계열 데이터는 시간의 흐름에 따라 하나 혹은 다수의 변수가 측정된 데이터입니다. cross sectional data, 즉 횡단면 데이터에 비해 적은 객체를 가지고 있으며, 하나의 객체에 대한 측정량을 다룹니다. longitudinal data는 여러 명의 데이터를 시간의 흐름에 따라 측정한 데이터로써, 시계열 + cross sectional data의 성격을 띕니다. 분석하기 위해서는 꽤나 복잡한 모델이 필요합니다.
또한 시계열 데이터는 관측 주기가 데이터에 항상 따라옵니다. 주로 일별, 월별, 년도별로 주기를 정하며, 예시로는 POS데이터 / 카드데이터 / 코스피지수판매량 / 관광객수 등이 있습니다. 당연히 자료를 수집하는 주기에 따라 데이터의 값이 바뀝니다.
분류하자면, 관측시점들의 간격이 규칙적인 경우와 불규칙적인 경우로 나눌 수 있습니다.
• 규칙적인 경우 : 일별, 월별, 분기별, 년도별 -> 반복된 패턴 모형화 가능 : 추세, 순환 계절패턴
• 불규칙적인 경우 : POS 구매자료 / 일일 코스피 지수 / 월별 코스피 지수 -> 주기가 일정한 시계열로 바꿔서 모형화
시계열 데이터는 분석에 앞서 몇가지 확인사항이 있습니다.
• frquency를 먼저 확인해야 함
• 주기가 불규칙한 시계열 데이터 -> 데이터를 조절해서 주기를 맞춰준 후 모델링 수행
• 시계열 분석 전에 반드시 모든 변수들의 주기를 맞춰줘야 함
• 시계열 데이터 처리 전에 time plot을 그려서 주기성을 먼저 파악
• plot 결과를 바탕으로 모델링 방법이 정해짐
• 년도별 데이터의 경우 계절성 역시 파악 가능
• Daily 데이터의 경우 변동이 굉장히 많기 때문에 파악이 중요
🕑 is.ts( ) 함수
R에서는 몇 가지 시계열 데이터를 제공하는데요, time series data를 줄여서 ts 데이터라고 합니다.
먼저 R 내부의 ts data인 AirPassangers를 가지고 몇 가지 정보를 알아보겠습니다.
## AirPassangers
## R 내부 ts
## ts Data에만 적용되는 함수가 존재함
## 만약 ts DData가 아니라면, 이를 바꾸는 과정이 필요함
AirPassengers
>>
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1949 112 118 132 129 121 135 148 148 136 119 104 118
## 1950 115 126 141 135 125 149 170 170 158 133 114 140
## 1951 145 150 178 163 172 178 199 199 184 162 146 166
## 1952 171 180 193 181 183 218 230 242 209 191 172 194
## 1953 196 196 236 235 229 243 264 272 237 211 180 201
## 1954 204 188 235 227 234 264 302 293 259 229 203 229
## 1955 242 233 267 269 270 315 364 347 312 274 237 278
## 1956 284 277 317 313 318 374 413 405 355 306 271 306
## 1957 315 301 356 348 355 422 465 467 404 347 305 336
## 1958 340 318 362 348 363 435 491 505 404 359 310 337
## 1959 360 342 406 396 420 472 548 559 463 407 362 405
## 1960 417 391 419 461 472 535 622 606 508 461 390 432
사용할 데이터가 ts 데이터인지 확인하기 위해 is.ts( ) 함수를 사용합니다.
## ts Data 확인
is.ts(AirPassengers)
>> [1] TRUE
또는, class( ) 함수를 사용해서 클래스를 알아볼 수도 있습니다.
class(AirPassengers)
>> [1] "ts"
시계열 데이터에서는 앞서 언급했듯이 측정 주기가 중요합니다.
또한, 데이터의 수집 시작 날짜와 마지막 날짜 역시 중요합니다.
이를 위해 frequency( ), start( ), end( ) 함수를 제공합니다.
## 주기 / 시작점 / 끝점 파악
## 12 -> 월별 데이터임을 의미함
frequency(AirPassengers)
start(AirPassengers)
end(AirPassengers)
>> [1] 12
>> [1] 1949 1
>> [1] 1960 12
'📈📉 비즈니스 어낼리틱스 > 🕑 시계열 분석' 카테고리의 다른 글
🕑시계열데이터 분석 06 - 시계열 데이터 분해 (0) | 2023.04.13 |
---|---|
🕑시계열데이터 분석 05 - aggregate( ) 함수 (0) | 2023.04.11 |
🕑 시계열 데이터 분석 04 - 시계열 데이터 plot (0) | 2023.04.05 |
🕑시계열데이터 분석 03 - quantmod 패키지 (0) | 2023.03.27 |
🕑시계열데이터 분석 02 - ts( ) 함수 (0) | 2023.03.26 |