티스토리 뷰
시계열 자료 분석
[예제] 1947~1979년 영국 월별 폐질환 사망자에 관한 시계열 자료
test_time_series_analysis.R
rm(list=ls())
## Seasonal Factor
ldeaths
plot(ldeaths)
출력결과
> ## Seasonal Factor
> ldeaths
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1974 3035 2552 2704 2554 2014 1655 1721 1524 1596 2074 2199 2512
1975 2933 2889 2938 2497 1870 1726 1607 1545 1396 1787 2076 2837
1976 2787 3891 3179 2011 1636 1580 1489 1300 1356 1653 2013 2823
1977 3102 2294 2385 2444 1748 1554 1498 1361 1346 1564 1640 2293
1978 2815 3137 2679 1969 1870 1633 1529 1366 1357 1570 1535 2491
1979 3084 2605 2573 2143 1693 1504 1461 1354 1333 1492 1781 1915
> plot(ldeaths)
년도 별로 계절성을 띄고 있다. 년 초 기준 증가하다가 중반에 감소하는 경향을 보인다.
분해시계열 : 시계열 구성요소 분석
test_time_series_analysis.R
...
# decompose
ldeaths.decompose <- decompose(ldeaths)
ldeaths.decompose
plot(ldeaths.decompose)
출력결과
...
> # decompose
> ldeaths.decompose <- decompose(ldeaths)
> ldeaths.decompose
$x
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1974 3035 2552 2704 2554 2014 1655 1721 1524 1596 2074 2199 2512
1975 2933 2889 2938 2497 1870 1726 1607 1545 1396 1787 2076 2837
1976 2787 3891 3179 2011 1636 1580 1489 1300 1356 1653 2013 2823
1977 3102 2294 2385 2444 1748 1554 1498 1361 1346 1564 1640 2293
1978 2815 3137 2679 1969 1870 1633 1529 1366 1357 1570 1535 2491
1979 3084 2605 2573 2143 1693 1504 1461 1354 1333 1492 1781 1915
$seasonal
Jan Feb Mar Apr May Jun Jul Aug
1974 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
1975 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
1976 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
1977 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
1978 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
1979 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
Sep Oct Nov Dec
1974 -678.2236 -354.3069 -185.2069 517.3264
1975 -678.2236 -354.3069 -185.2069 517.3264
1976 -678.2236 -354.3069 -185.2069 517.3264
1977 -678.2236 -354.3069 -185.2069 517.3264
1978 -678.2236 -354.3069 -185.2069 517.3264
1979 -678.2236 -354.3069 -185.2069 517.3264
$trend
Jan Feb Mar Apr May Jun Jul Aug Sep
1974 NA NA NA NA NA NA 2174.083 2183.875 2207.667
1975 2201.833 2197.958 2190.500 2170.208 2153.125 2161.542 2169.000 2204.667 2256.458
1976 2189.417 2174.292 2162.417 2155.167 2146.958 2143.750 2156.292 2102.875 2003.250
1977 2013.792 2016.708 2018.833 2014.708 1995.458 1957.833 1923.792 1946.958 1994.333
1978 1985.042 1986.542 1987.208 1987.917 1983.792 1987.667 2007.125 1996.167 1969.583
1979 1951.333 1948.000 1946.500 1942.250 1949.250 1935.500 NA NA NA
Oct Nov Dec
1974 2215.042 2206.667 2203.625
1975 2246.250 2216.250 2200.417
1976 1988.208 2010.917 2014.500
1977 1986.792 1972.083 1980.458
1978 1972.417 1972.292 1959.542
1979 NA NA NA
$random
Jan Feb Mar Apr May Jun
1974 NA NA NA NA NA NA
1975 -142.584722 -205.293056 59.956944 170.206944 1.356944 4.481944
1976 -276.168056 820.373611 329.040278 -300.751389 -226.476389 -123.726389
1977 214.456944 -619.043056 -321.376389 272.706944 37.023611 36.190278
1978 -43.793056 254.123611 4.248611 -175.501389 170.690278 85.356944
1979 258.915278 -239.334722 -61.043056 44.165278 28.231944 8.523611
Jul Aug Sep Oct Nov Dec
1974 66.340278 9.998611 66.556944 213.265278 177.540278 -208.951389
1975 -42.576389 10.206944 -182.234722 -104.943056 44.956944 119.256944
1976 -147.868056 -133.001389 30.973611 19.098611 187.290278 291.173611
1977 93.631944 83.915278 29.890278 -68.484722 -146.876389 -204.784722
1978 41.298611 39.706944 65.640278 -48.109722 -252.084722 14.131944
1979 NA NA NA NA NA NA
$figure
[1] 873.7514 896.3347 687.5431 156.5847 -284.4819 -440.0236 -519.4236 -669.8736
[9] -678.2236 -354.3069 -185.2069 517.3264
$type
[1] "additive"
attr(,"class")
[1] "decomposed.ts"
> plot(ldeaths.decompose)
관측데이터에대한 추세요인, 계절요인, 불규칙 요인으로 분해한 데이터와 plot을 나타낼 수 있다.
계절요인으로 4분기 증가 2분기 감소형태를 보이는 것으로 분석된다.
시계열 구송 요서 제거 : 계절요인 제거
test_time_series_analysis.R
...
# eliminate seasonal factor from ldeaths.decompose
ldeaths.decompose.adj <- ldeaths - ldeaths.decompose$seasonal
plot(ldeaths.decompose.adj)
출력결과
> # eliminate seasonal factor from ldeaths.decompose
> ldeaths.decompose.adj <- ldeaths - ldeaths.decompose$seasonal
> ldeaths.decompose.adj
Jan Feb Mar Apr May Jun Jul Aug Sep
1974 2161.249 1655.665 2016.457 2397.415 2298.482 2095.024 2240.424 2193.874 2274.224
1975 2059.249 1992.665 2250.457 2340.415 2154.482 2166.024 2126.424 2214.874 2074.224
1976 1913.249 2994.665 2491.457 1854.415 1920.482 2020.024 2008.424 1969.874 2034.224
1977 2228.249 1397.665 1697.457 2287.415 2032.482 1994.024 2017.424 2030.874 2024.224
1978 1941.249 2240.665 1991.457 1812.415 2154.482 2073.024 2048.424 2035.874 2035.224
1979 2210.249 1708.665 1885.457 1986.415 1977.482 1944.024 1980.424 2023.874 2011.224
Oct Nov Dec
1974 2428.307 2384.207 1994.674
1975 2141.307 2261.207 2319.674
1976 2007.307 2198.207 2305.674
1977 1918.307 1825.207 1775.674
1978 1924.307 1720.207 1973.674
1979 1846.307 1966.207 1397.674
> plot(ldeaths.decompose.adj)
조정된 시계열 데이터 분석 : 게절요인이 제거된 데이터 분석
test_time_series_analysis.R
...
ldeaths.decompose.adj.decompose <- decompose(ldeaths.decompose.adj)
ldeaths.decompose.adj.decompose
plot(ldeaths.decompose.adj.decompose)
출력결과
> ldeaths.decompose.adj.decompose <- decompose(ldeaths.decompose.adj)
> ldeaths.decompose.adj.decompose
$x
Jan Feb Mar Apr May Jun Jul Aug Sep
1974 2161.249 1655.665 2016.457 2397.415 2298.482 2095.024 2240.424 2193.874 2274.224
1975 2059.249 1992.665 2250.457 2340.415 2154.482 2166.024 2126.424 2214.874 2074.224
1976 1913.249 2994.665 2491.457 1854.415 1920.482 2020.024 2008.424 1969.874 2034.224
1977 2228.249 1397.665 1697.457 2287.415 2032.482 1994.024 2017.424 2030.874 2024.224
1978 1941.249 2240.665 1991.457 1812.415 2154.482 2073.024 2048.424 2035.874 2035.224
1979 2210.249 1708.665 1885.457 1986.415 1977.482 1944.024 1980.424 2023.874 2011.224
Oct Nov Dec
1974 2428.307 2384.207 1994.674
1975 2141.307 2261.207 2319.674
1976 2007.307 2198.207 2305.674
1977 1918.307 1825.207 1775.674
1978 1924.307 1720.207 1973.674
1979 1846.307 1966.207 1397.674
$seasonal
Jan Feb Mar Apr May
1974 -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14
1975 -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14
1976 -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14
1977 -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14
1978 -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14
1979 -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14
Jun Jul Aug Sep Oct
1974 3.375078e-14 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13
1975 3.375078e-14 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13
1976 3.375078e-14 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13
1977 3.375078e-14 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13
1978 3.375078e-14 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13
1979 3.375078e-14 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13
Nov Dec
1974 7.949197e-14 3.375078e-14
1975 7.949197e-14 3.375078e-14
1976 7.949197e-14 3.375078e-14
1977 7.949197e-14 3.375078e-14
1978 7.949197e-14 3.375078e-14
1979 7.949197e-14 3.375078e-14
$trend
Jan Feb Mar Apr May Jun Jul Aug Sep
1974 NA NA NA NA NA NA 2174.083 2183.875 2207.667
1975 2201.833 2197.958 2190.500 2170.208 2153.125 2161.542 2169.000 2204.667 2256.458
1976 2189.417 2174.292 2162.417 2155.167 2146.958 2143.750 2156.292 2102.875 2003.250
1977 2013.792 2016.708 2018.833 2014.708 1995.458 1957.833 1923.792 1946.958 1994.333
1978 1985.042 1986.542 1987.208 1987.917 1983.792 1987.667 2007.125 1996.167 1969.583
1979 1951.333 1948.000 1946.500 1942.250 1949.250 1935.500 NA NA NA
Oct Nov Dec
1974 2215.042 2206.667 2203.625
1975 2246.250 2216.250 2200.417
1976 1988.208 2010.917 2014.500
1977 1986.792 1972.083 1980.458
1978 1972.417 1972.292 1959.542
1979 NA NA NA
$random
Jan Feb Mar Apr May Jun
1974 NA NA NA NA NA NA
1975 -142.584722 -205.293056 59.956944 170.206944 1.356944 4.481944
1976 -276.168056 820.373611 329.040278 -300.751389 -226.476389 -123.726389
1977 214.456944 -619.043056 -321.376389 272.706944 37.023611 36.190278
1978 -43.793056 254.123611 4.248611 -175.501389 170.690278 85.356944
1979 258.915278 -239.334722 -61.043056 44.165278 28.231944 8.523611
Jul Aug Sep Oct Nov Dec
1974 66.340278 9.998611 66.556944 213.265278 177.540278 -208.951389
1975 -42.576389 10.206944 -182.234722 -104.943056 44.956944 119.256944
1976 -147.868056 -133.001389 30.973611 19.098611 187.290278 291.173611
1977 93.631944 83.915278 29.890278 -68.484722 -146.876389 -204.784722
1978 41.298611 39.706944 65.640278 -48.109722 -252.084722 14.131944
1979 NA NA NA NA NA NA
$figure
[1] -5.684342e-14 -1.025846e-13 -1.478817e-13 -5.684342e-14 3.375078e-14 3.375078e-14
[7] 2.158274e-13 -1.154632e-14 -1.478817e-13 1.247891e-13 7.949197e-14 3.375078e-14
$type
[1] "additive"
attr(,"class")
[1] "decomposed.ts"
> plot(ldeaths.decompose.adj.decompose)
추세요인이 선형은 아니지만 1976년 3분기를 기점으로 폐질환 사망자가 감소하는 경향을 확인할 수 있다.
반응형
'R' 카테고리의 다른 글
(macOS)[R] 데이터 분석 : Exercise (0) | 2022.04.21 |
---|---|
(macOS)[R] 시계열 예측 : 실습 - 2 (0) | 2022.04.19 |
(macOS)[R] 시계열 예측 : 이론 (0) | 2022.04.18 |
(macOS)[R] 다변량 분석 : 상관 분석(Correlation Analysis) - 4 (0) | 2022.04.17 |
(macOS)[R] 다변량 분석 : 상관 분석(Correlation Analysis) - 3 (0) | 2022.04.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코로나19
- 코로나
- 자가격리
- vscode
- server
- sublime text
- analysis
- r
- DAQ
- raspberrypi
- arduino
- SSH
- template
- COVID-19
- github
- Python
- MacOS
- ERP
- git
- Model
- Regression
- Raspberry Pi
- pyserial
- 확진
- CSV
- Pandas
- Templates
- Django
- DS18B20
- 라즈베리파이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함