제 책에서 사용하고 있는 패키지 중 하나인 'seastests' 패키지가 21.9.18일자로 0.14.4 버전에서 0.15.4 버전으로 업데이트되었습니다..
일반적으로 업데이트가 되어도 하위 버전 코드들은 동작할 수 있도록 호환성을 유지하지만 하필이면 제 책에서 인용하고 있는 'wo()' 함수의 명칭이 'combined_test()'로 변경되어 일부 코드가 작동하지 않는 상황입니다..
그리고 함수의 내용에도 일부 수정이 있습니다.
시계열 데이터 중에 연별 시계열 데이터에 대해서 wo() 함수가 작동되었으나 combined_test()는 작동하지 않습니다.
연도 시계열 데이터는 원래가 계절성이 없기 때문에 'The number of observations per cycle (usually years) is 1 and thus too small.'이라는 에러를 발생시키게 됩니다.
따라서 보내주신 코드인 summary(combined_test(students.ts[,2]))는 에러(연도 시계열 데이터이므로)가 발생하며 다음 코드인 summary(combined_test(employees.ts[,2]))는 정상적으로 작동(월별 시계열 데이터이므로)합니다..
하여 다음과 같이 수정이 필요하니 참고하시길 바랍니다..
P.133 4번째 줄
wo()는 qs()의 p value 가 0.01보다 작거나 kw()이 결과가 0.002보다 작다면 계절성이 있다고 판단한다
-> combined_test()는 qs()의 p value 가 0.01보다 작거나 kw()이 결과가 0.002보다 작다면 계절성이 있다고 판단한다
P.133 6번째 줄
wo()는 앞선 ur.kpss()나 box.test()와는 달리 명확하게 계절성이 있는지 없는지를 알려 준다
-> combined_test()는 앞선 ur.kpss()나 box.test()와는 달리 명확하게 계절성이 있는지 없는지를 알려 준다
P.133 첫번째 코드 블럭의 두번째 코드
summary(wo(students.ts[,2]))
-> summary(combined_test(students.ts[,2]))
P.133 첫번째 코드 블럭의 실행결과(연도 시계열 데이터라 계절성이 없어 오류를 발생)
Error in combined_test(students.ts[, 2]) :
The number of observations per cycle (usually years) is 1 and thus too small.
P.133 두번째 코드 블럭의 첫번째 코드
summary(wo(employees.ts[,2]))
-> summary(combined_test(employees.ts[,2]))
P.133 두번째 코드 블럭의 실행결과(기존 결과와 동일)
Test used: WO
Test statistic: 1
P-value: 0 1.199041e-14 2.346908e-06
The WO - test identifies seasonality
P.133 네번째 코드 블럭의 첫번째 코드
summary(wo(employees.ts[,3]))
-> summary(combined_test(employees.ts[,3]))
P.133 네번째 코드 블럭의 실행결과(기존 결과와 동일)
Test used: WO
Test statistic: 0
P-value: 0.1976637 0.1976739 0.006082959
The WO - test does not identify seasonality
'실전에서 바로 쓰는 시계열 데이터 처리와 분석 in R' 카테고리의 다른 글
실전에서 시계열 데이터 분석 하고 싶은 사람들 모여라 (0) | 2021.10.25 |
---|---|
데이터 공개, 꼭 해야 하나요? (0) | 2021.10.18 |
오탈자 2 (0) | 2021.08.16 |
오탈자와 수정의견 (0) | 2021.08.01 |
[교보문고]실전에서 바로 쓰는 시계열 데이터 처리와 분석 (5) | 2021.07.13 |
댓글