Time Series Analysis
Number of births per month in New York city, from January 1946 to December 1959
Load Necessary Libraries
library (haven)
library (here)
here() starts at C:/Users/User/Desktop/DrPH/ENV EPID & SUSTAINABILITY/time series 2.0
library (ggplot2)
library (tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.1 ✔ stringr 1.5.2
✔ lubridate 1.9.4 ✔ tibble 3.3.0
✔ purrr 1.1.0 ✔ tidyr 1.3.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library (lubridate)
library (TTR)
library (forecast)
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
Read the data from the URL
births<- scan ("http://robjhyndman.com/tsdldata/data/nybirths.dat" )
birthstimeseries<- ts (births, frequency= 12 , start= c (1946 ,1 ))
birthstimeseries
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1946 26.663 23.598 26.931 24.740 25.806 24.364 24.477 23.901 23.175 23.227
1947 21.439 21.089 23.709 21.669 21.752 20.761 23.479 23.824 23.105 23.110
1948 21.937 20.035 23.590 21.672 22.222 22.123 23.950 23.504 22.238 23.142
1949 21.548 20.000 22.424 20.615 21.761 22.874 24.104 23.748 23.262 22.907
1950 22.604 20.894 24.677 23.673 25.320 23.583 24.671 24.454 24.122 24.252
1951 23.287 23.049 25.076 24.037 24.430 24.667 26.451 25.618 25.014 25.110
1952 23.798 22.270 24.775 22.646 23.988 24.737 26.276 25.816 25.210 25.199
1953 24.364 22.644 25.565 24.062 25.431 24.635 27.009 26.606 26.268 26.462
1954 24.657 23.304 26.982 26.199 27.210 26.122 26.706 26.878 26.152 26.379
1955 24.990 24.239 26.721 23.475 24.767 26.219 28.361 28.599 27.914 27.784
1956 26.217 24.218 27.914 26.975 28.527 27.139 28.982 28.169 28.056 29.136
1957 26.589 24.848 27.543 26.896 28.878 27.390 28.065 28.141 29.048 28.484
1958 27.132 24.924 28.963 26.589 27.931 28.009 29.229 28.759 28.405 27.945
1959 26.076 25.286 27.660 25.951 26.398 25.565 28.865 30.000 29.261 29.012
Nov Dec
1946 21.672 21.870
1947 21.759 22.073
1948 21.059 21.573
1949 21.519 22.025
1950 22.084 22.991
1951 22.964 23.981
1952 23.162 24.707
1953 25.246 25.180
1954 24.712 25.688
1955 25.693 26.881
1956 26.291 26.987
1957 26.634 27.735
1958 25.912 26.619
1959 26.992 27.897
Plot the time series data
plot.ts (birthstimeseries)
Decompose the time series data for seasonality, trend, and random components
birthstimeseriescomponents<- decompose (birthstimeseries)
Get estimated seasonal component
birthstimeseriescomponents$ seasonal
Jan Feb Mar Apr May Jun
1946 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1947 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1948 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1949 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1950 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1951 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1952 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1953 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1954 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1955 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1956 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1957 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1958 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
1959 -0.6771947 -2.0829607 0.8625232 -0.8016787 0.2516514 -0.1532556
Jul Aug Sep Oct Nov Dec
1946 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1947 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1948 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1949 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1950 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1951 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1952 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1953 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1954 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1955 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1956 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1957 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1958 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
1959 1.4560457 1.1645938 0.6916162 0.7752444 -1.1097652 -0.3768197
Plot the decomposed components
plot (birthstimeseriescomponents)
Seasonal ajustment
birthstimeseriescomponents<- decompose (birthstimeseries)
birthstimeseriesseasonallyadjusted<- birthstimeseries - birthstimeseriescomponents$ seasonal
Plot seasonally adjusted data
plot (birthstimeseriesseasonallyadjusted)
Khalass.. Syukran