Demographic forecasting using functional data analysis Rob J Hyndman Joint work with: Heather Booth, Han Lin Shang, Shahid Ullah, Farah Yasmeen. Demographic forecasting using functional data analysis 1 Mortality rates −4 −8 −6 Log death rate −2 0 France: male mortality (1816) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis 2 Fertility rates 150 100 0 50 Fertility rate 200 250 Australia: fertility rates (1921) 15 20 25 30 35 40 45 50 Age Demographic forecasting using functional data analysis 3 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis 4 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis A functional linear model 5 Some notation Let yt,x be the observed (smoothed) data in period t at age x, t = 1, . . . , n. yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 Estimate ft (x) using penalized regression splines. Estimate µ(x) as me(di)an ft (x) across years. Estimate βt,k and φk (x) using (robust) functional principal components. iid iid εt,x ∼ N(0, 1) and et (x) ∼ N(0, v(x)). Demographic forecasting using functional data analysis A functional linear model 6 Some notation Let yt,x be the observed (smoothed) data in period t at age x, t = 1, . . . , n. yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 Estimate ft (x) using penalized regression splines. Estimate µ(x) as me(di)an ft (x) across years. Estimate βt,k and φk (x) using (robust) functional principal components. iid iid εt,x ∼ N(0, 1) and et (x) ∼ N(0, v(x)). Demographic forecasting using functional data analysis A functional linear model 6 Some notation Let yt,x be the observed (smoothed) data in period t at age x, t = 1, . . . , n. yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 Estimate ft (x) using penalized regression splines. Estimate µ(x) as me(di)an ft (x) across years. Estimate βt,k and φk (x) using (robust) functional principal components. iid iid εt,x ∼ N(0, 1) and et (x) ∼ N(0, v(x)). Demographic forecasting using functional data analysis A functional linear model 6 Some notation Let yt,x be the observed (smoothed) data in period t at age x, t = 1, . . . , n. yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 Estimate ft (x) using penalized regression splines. Estimate µ(x) as me(di)an ft (x) across years. Estimate βt,k and φk (x) using (robust) functional principal components. iid iid εt,x ∼ N(0, 1) and et (x) ∼ N(0, v(x)). Demographic forecasting using functional data analysis A functional linear model 6 Some notation Let yt,x be the observed (smoothed) data in period t at age x, t = 1, . . . , n. yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 Estimate ft (x) using penalized regression splines. Estimate µ(x) as me(di)an ft (x) across years. Estimate βt,k and φk (x) using (robust) functional principal components. iid iid εt,x ∼ N(0, 1) and et (x) ∼ N(0, v(x)). Demographic forecasting using functional data analysis A functional linear model 6 0.2 40 60 80 100 −0.1 −0.2 0.05 20 0.00 0 0.0 φ2(x) 0.15 0.10 φ1(x) 0.1 0.20 −1 −2 −3 −4 −5 −6 0 20 40 60 80 100 0 20 Age 40 60 80 100 Age βt2 2 −5 βt1 4 0 5 6 10 8 Age −2 0 −15 −10 µ(x) French mortality components 1850 1900 1950 2000 1850 t Demographic forecasting using functional data analysis 1900 1950 2000 t A functional linear model 7 French mortality components 0 20 40 Age 60 80 100 Residuals 1850 1900 1950 2000 Year Demographic forecasting using functional data analysis A functional linear model 7 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 8 French male mortality rates −4 −6 −8 Log death rate −2 0 France: male death rates (1900−2009) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 9 French male mortality rates 0 France: male death rates (1900−2009) −4 −6 −8 Log death rate −2 War years 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 9 French male mortality rates 0 France: male death rates (1900−2009) −4 −6 −8 Log death rate −2 War years 0 20 Aims 1 “Boxplots” for functional data 60 detecting 80 100 240 Tools for outliers in Age functional data Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 9 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Let {ft (x)}, t = 1, . . . , n, be a set of curves. 1 Apply a robust principal component algorithm n−1 X βt,k φk (x) ft (x) = µ(x) + k =1 µ(x) is median curve {φk (x)} are principal components {βt,k } are PC scores 2 Plot βi ,2 vs βi ,1 å Each point in scatterplot represents one curve. å Outliers show up in bivariate score space. Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 10 Robust principal components Scatterplot of first two PC scores 6 ● ● ● ● 4 ● ● ● 2 ● ●●● ●●● ● ● ● ● ● ●●●● ●● ● ● ● ● ●● ● ● ● ● ● ●● ●● ● ● ●●● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ●● ●● ● ● ● ●● ●●● ●● ● ● ● ● ●● ●●● ● ● ● ● ● ● −2 0 PC score 2 ● −10 −5 0 5 10 15 PC score 1 Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 11 Robust principal components Scatterplot of first two PC scores 6 ● ● 1915 1914 1916● 1918● 1943● 2 1919● ●●● ●●● ● ● ● ● ● ●●●● ●● ● ● ● ● ●● ● ● ● ● ● ●● ●● ● ● ●●● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● 1945● 1942● 1941●●●●●●●●●●● ● ● ● ●● ● ● ●●● ● ● ● ●● ● ● ●● ● ● ● −2 0 PC score 2 4 ● 1944 1917● ● 1940 −10 −5 0 5 10 15 PC score 1 Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 11 Functional bagplot Bivariate bagplot due to Rousseeuw et al. (1999). Rank points by halfspace location depth. Display median, 50% convex hull and outer convex hull (with 99% coverage if bivariate normal). 6 ● ● 1915 1914 ● ● 1916● 1918● ● ● ● 1944 1917● 1940● ● 4 ● ● 1919● 2 PC score 2 ● 1943● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● 1945● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ●● ● ●● ● 0 ● ● ●● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● −2 ●● ● ● ● ● −10 −5 0 5 10 15 PC score 1 Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 12 Functional bagplot 0 Bivariate bagplot due to Rousseeuw et al. (1999). Rank points by halfspace location depth. Display median, 50% convex hull and outer convex hull (with 99% coverage if bivariate normal). Boundaries contain all curves inside bags. 95% CI for median curve also shown. 6 ● ● 1915 1914 ● ● 1916● 1918● ● −2 ● ● 1944 1917● 1940● ● 4 ● 2 ● ● ●●● ● ● ● ●● ● ● ● ● ● ● 1945● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ●● ● ●● ● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●●● ● ● ● ● ● ● ● 1914 1915 1916 1917 −8 0 ● ● ●● ● ● −4 Log death rate ● 1919● −6 1943● ● ● −2 PC score 2 ● −10 −5 0 5 10 15 PC score 1 Demographic forecasting using functional data analysis 0 20 40 60 1918 1940 1943 1944 80 100 Age Bagplots, boxplots and outliers 12 −4 −6 1914 1915 1916 1917 −8 Log death rate −2 0 Functional bagplot 0 20 40 60 80 1918 1940 1943 1944 100 Age Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 13 Functional HDR boxplot 6 Bivariate HDR boxplot due to Hyndman (1996). Rank points by value of kernel density estimate. Display mode, 50% and (usually) 99% highest density regions (HDRs) and mode. 99% outer region ● ● ● ● ● 4 ● ● 1919● 2 PC score 2 ● 1943● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ●● ● ●● ● o 0 ● ● ●● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● −2 ●● ● ● ● ● ● ● −10 −5 0 PC score 1 Demographic forecasting using functional data analysis 5 10 15 Bagplots, boxplots and outliers 14 Functional HDR boxplot 6 Bivariate HDR boxplot due to Hyndman (1996). Rank points by value of kernel density estimate. Display mode, 50% and (usually) 99% highest density regions (HDRs) and mode. ● ● 1915 1914 90% outer region ● ● 1916● 1918● ● ● ● 1944 1917● 1940● ● 4 ● ● 1919● 2 PC score 2 ● 1943● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● 1945● 1942● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ●● ● ●● ● o 0 ● ● ●● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● −2 ●● ● ● ● ● ● ● −10 −5 0 PC score 1 Demographic forecasting using functional data analysis 5 10 15 Bagplots, boxplots and outliers 14 Functional HDR boxplot 6 0 Bivariate HDR boxplot due to Hyndman (1996). Rank points by value of kernel density estimate. Display mode, 50% and (usually) 99% highest density regions (HDRs) and mode. Boundaries contain all curves inside HDRs. ● ● 1915 1914 90% outer region ● ● 1916● 1918● ● −2 ● ● 1944 1917● ● 4 ● 1940● 2 ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● 1945● 1942● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ●● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●●● ● ● ● o ● ● ● ● ●● ● ● ●●● ● ● ● ● ● ● 1914 1915 1916 1917 1918 1919 ● ● −8 0 ● ● ●● ● ● −4 Log death rate ● 1919● −6 1943● ● −2 PC score 2 ● −10 −5 0 5 10 15 PC score 1 Demographic forecasting using functional data analysis 0 20 40 60 1940 1943 1944 1945 1948 80 100 Age Bagplots, boxplots and outliers 14 −4 −6 1914 1915 1916 1917 1918 1919 −8 Log death rate −2 0 Functional HDR boxplot 0 20 40 60 80 1940 1943 1944 1945 1948 100 Age Demographic forecasting using functional data analysis Bagplots, boxplots and outliers 15 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis Functional forecasting 16 Functional time series model yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 The eigenfunctions φk (x) show the main regions of variation. The scores {βt,k } are uncorrelated by construction. So we can forecast each βt,k using a univariate time series model. Outliers are treated as missing values. Univariate ARIMA models are used for forecasting. Demographic forecasting using functional data analysis Functional forecasting 17 Functional time series model yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 The eigenfunctions φk (x) show the main regions of variation. The scores {βt,k } are uncorrelated by construction. So we can forecast each βt,k using a univariate time series model. Outliers are treated as missing values. Univariate ARIMA models are used for forecasting. Demographic forecasting using functional data analysis Functional forecasting 17 Functional time series model yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 The eigenfunctions φk (x) show the main regions of variation. The scores {βt,k } are uncorrelated by construction. So we can forecast each βt,k using a univariate time series model. Outliers are treated as missing values. Univariate ARIMA models are used for forecasting. Demographic forecasting using functional data analysis Functional forecasting 17 Functional time series model yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 The eigenfunctions φk (x) show the main regions of variation. The scores {βt,k } are uncorrelated by construction. So we can forecast each βt,k using a univariate time series model. Outliers are treated as missing values. Univariate ARIMA models are used for forecasting. Demographic forecasting using functional data analysis Functional forecasting 17 Functional time series model yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 The eigenfunctions φk (x) show the main regions of variation. The scores {βt,k } are uncorrelated by construction. So we can forecast each βt,k using a univariate time series model. Outliers are treated as missing values. Univariate ARIMA models are used for forecasting. Demographic forecasting using functional data analysis Functional forecasting 17 Forecasts yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 Demographic forecasting using functional data analysis Functional forecasting 18 Forecasts yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 E[yn+h ,x | y] = µ̂(x) + K X β̂n+h ,k φ̂k (x) k =1 K X Var[yn+h ,x | y] = σ̂µ2 (x) + vn+h ,k φ̂k2 (x) + σt2 (x) + v(x) k =1 where vn+h ,k = Var(βn+h ,k | β1,k , . . . , βn,k ) and y = [y1,x , . . . , yn,x ]. Demographic forecasting using functional data analysis Functional forecasting 18 Forecasting the PC scores Interaction 0.1 0.0 Basis function 2 −0.2 −0.1 0.15 0.10 Basis function 1 0.05 −4 −6 0 20 40 60 80 100 0 20 40 60 80 100 0 20 40 Age ● ●● 60 80 100 Age ● 2 10 15 Age ● ● ● −2 Coefficient 2 ● ● ● −4 0 −10 Coefficient 1 5 0 ● ● −6 ● −20 Mean −2 0.20 0.2 0 Main effects ● ● ● 1900 1940 1980 2020 1900 Year Demographic forecasting using functional data analysis 1940 1980 2020 Year Functional forecasting 19 Forecasts of ft (x) −4 −6 −10 −8 Log death rate −2 0 France: male death rates (1900−2009) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Functional forecasting 20 Forecasts of ft (x) −4 −6 −10 −8 Log death rate −2 0 France: male death rates (1900−2009) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Functional forecasting 20 Forecasts of ft (x) −4 −6 −10 −8 Log death rate −2 0 France: male death forecasts (2010−2029) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Functional forecasting 20 Forecasts of ft (x) −4 −6 −10 −8 Log death rate −2 0 France: male death forecasts (2010 & 2029) 80% prediction intervals 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Functional forecasting 20 Fertility application 150 100 0 50 Fertility rate 200 250 Australia fertility rates (1921−2009) 15 20 25 30 35 40 45 50 Age Demographic forecasting using functional data analysis Functional forecasting 21 0.25 0.05 −0.3 15 20 25 30 35 40 45 50 0.15 Φ2(x) 0.0 Φ1(x) Μ 5 0 −0.1 10 0.1 15 0.2 Fertility model 15 20 25 30 35 40 45 50 15 20 25 Age 30 35 40 45 50 Age Βt2 −10 −4 −2 0 2 0 −5 Βt1 4 5 6 8 10 Age 1970 1980 1990 2000 2010 1970 1980 t Demographic forecasting using functional data analysis 1990 2000 t Functional forecasting 22 2010 Fertility model 30 15 20 25 Age 35 40 45 Residuals 1970 1980 1990 2000 Year Demographic forecasting using functional data analysis Functional forecasting 23 Fertility model Interaction 30 35 40 45 0.25 0.05 0.15 Basis function 2 0.0 50 15 20 25 30 35 40 45 50 15 20 25 30 35 40 45 50 Age −4 −2 0 5 Coefficient 2 6 8 10 15 20 25 Age Coefficient 1 Age 4 25 2 20 0 15 −10 Mean −0.1 −0.3 0 5 10 Basis function 1 0.1 15 0.2 Main effects 1970 1990 2010 2030 1970 Year Demographic forecasting using functional data analysis 1990 2010 2030 Year Functional forecasting 24 Forecasts of ft (x) 150 100 0 50 Fertility rate 200 250 Australia fertility rates (1921−2009) 15 20 25 30 35 40 45 50 Age Demographic forecasting using functional data analysis Functional forecasting 25 Forecasts of ft (x) 150 100 0 50 Fertility rate 200 250 Australia fertility rates (1921−2009) 15 20 25 30 35 40 45 50 Age Demographic forecasting using functional data analysis Functional forecasting 25 Forecasts of ft (x) 150 100 0 50 Fertility rate 200 250 Australia fertility rates: 2010−2029 15 20 25 30 35 40 45 50 Age Demographic forecasting using functional data analysis Functional forecasting 25 Forecasts of ft (x) Australia fertility rates: 2010 and 2029 150 100 0 50 Fertility rate 200 250 80% prediction intervals 15 20 25 30 35 40 45 50 Age Demographic forecasting using functional data analysis Functional forecasting 25 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis Forecasting groups 26 The problem Let ft,j (x) be the smoothed mortality rate for age x in group j in year t. Groups may be males and females. Groups may be states within a country. Expected that groups will behave similarly. Coherent forecasts do not diverge over time. Existing functional models do not impose coherence. Demographic forecasting using functional data analysis Forecasting groups 27 The problem Let ft,j (x) be the smoothed mortality rate for age x in group j in year t. Groups may be males and females. Groups may be states within a country. Expected that groups will behave similarly. Coherent forecasts do not diverge over time. Existing functional models do not impose coherence. Demographic forecasting using functional data analysis Forecasting groups 27 The problem Let ft,j (x) be the smoothed mortality rate for age x in group j in year t. Groups may be males and females. Groups may be states within a country. Expected that groups will behave similarly. Coherent forecasts do not diverge over time. Existing functional models do not impose coherence. Demographic forecasting using functional data analysis Forecasting groups 27 The problem Let ft,j (x) be the smoothed mortality rate for age x in group j in year t. Groups may be males and females. Groups may be states within a country. Expected that groups will behave similarly. Coherent forecasts do not diverge over time. Existing functional models do not impose coherence. Demographic forecasting using functional data analysis Forecasting groups 27 The problem Let ft,j (x) be the smoothed mortality rate for age x in group j in year t. Groups may be males and females. Groups may be states within a country. Expected that groups will behave similarly. Coherent forecasts do not diverge over time. Existing functional models do not impose coherence. Demographic forecasting using functional data analysis Forecasting groups 27 The problem Let ft,j (x) be the smoothed mortality rate for age x in group j in year t. Groups may be males and females. Groups may be states within a country. Expected that groups will behave similarly. Coherent forecasts do not diverge over time. Existing functional models do not impose coherence. Demographic forecasting using functional data analysis Forecasting groups 27 Forecasting the coefficients yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 We use ARIMA models for each coefficient {β1,j ,k , . . . , βn,j ,k }. The ARIMA models are non-stationary for the first few coefficients (k = 1, 2) Non-stationary ARIMA forecasts will diverge. Hence the mortality forecasts are not coherent. Demographic forecasting using functional data analysis Forecasting groups 28 Forecasting the coefficients yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 We use ARIMA models for each coefficient {β1,j ,k , . . . , βn,j ,k }. The ARIMA models are non-stationary for the first few coefficients (k = 1, 2) Non-stationary ARIMA forecasts will diverge. Hence the mortality forecasts are not coherent. Demographic forecasting using functional data analysis Forecasting groups 28 Forecasting the coefficients yt,x = ft (x) + σt (x)εt,x K X ft (x) = µ(x) + βt,k φk (x) + et (x) k =1 We use ARIMA models for each coefficient {β1,j ,k , . . . , βn,j ,k }. The ARIMA models are non-stationary for the first few coefficients (k = 1, 2) Non-stationary ARIMA forecasts will diverge. Hence the mortality forecasts are not coherent. Demographic forecasting using functional data analysis Forecasting groups 28 20 40 60 80 0.2 φ3(x) −0.1 0.0 0.1 0.1 0 −0.3 0 −0.1 0.0 φ2(x) 0.10 0.05 −6 φ1(x) −4 −2 0.15 0.2 Australian male death rates −8 20 40 60 80 0 20 40 60 80 Age 0 20 40 60 80 Age Age −2.5 1960 2000 Year Demographic forecasting using functional data analysis 0.0 −1.0 −0.5 −1.5 βt3 βt2 −5 βt1 −0.5 0 0.5 0.5 5 Age −10 µM(x) Male fts model 1960 2000 Year Forecasting groups 1960 2000 Year 29 20 40 60 80 20 40 60 80 0.1 20 40 60 80 0 0.4 0.5 Age βt3 −0.8 −1.0 −0.4 βt2 0.0 0.0 5 Demographic forecasting using functional data analysis 20 40 60 80 Age 0 βt1 −5 −10 2000 Year 0.0 φ3(x) −0.2 0 Age 1960 −0.1 0.2 −0.1 0 Age −0.5 0 0.0 φ2(x) 0.10 0.05 −6 φ1(x) −4 0.1 0.15 −2 Australian female death rates −8 µF(x) Female fts model 1960 2000 Year Forecasting groups 1960 2000 Year 30 Australian mortality forecasts −4 −10 −8 −6 Log death rate −4 −6 −10 −8 Log death rate −2 (b) Females −2 (a) Males 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis 0 20 40 60 80 100 Age Forecasting groups 31 Mortality product and ratios Key idea Model the geometric mean and the mortality ratio instead of the individual rates for each sex separately. q q . pt (x) = ft,M (x)ft,F (x) and rt (x) = ft,M (x) ft,F (x). Product and ratio are approximately independent Ratio should be stationary (for coherence) but product can be non-stationary. Demographic forecasting using functional data analysis Forecasting groups 32 Mortality product and ratios Key idea Model the geometric mean and the mortality ratio instead of the individual rates for each sex separately. q q . pt (x) = ft,M (x)ft,F (x) and rt (x) = ft,M (x) ft,F (x). Product and ratio are approximately independent Ratio should be stationary (for coherence) but product can be non-stationary. Demographic forecasting using functional data analysis Forecasting groups 32 Mortality product and ratios Key idea Model the geometric mean and the mortality ratio instead of the individual rates for each sex separately. q q . pt (x) = ft,M (x)ft,F (x) and rt (x) = ft,M (x) ft,F (x). Product and ratio are approximately independent Ratio should be stationary (for coherence) but product can be non-stationary. Demographic forecasting using functional data analysis Forecasting groups 32 Mortality product and ratios Key idea Model the geometric mean and the mortality ratio instead of the individual rates for each sex separately. q q . pt (x) = ft,M (x)ft,F (x) and rt (x) = ft,M (x) ft,F (x). Product and ratio are approximately independent Ratio should be stationary (for coherence) but product can be non-stationary. Demographic forecasting using functional data analysis Forecasting groups 32 Mortality rates −4 −6 −8 Log death rate −2 Australia gmean mortality: 1950 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Forecasting groups 33 Mortality rates 3.0 2.5 2.0 1.0 1.5 sex ratio: M/F 3.5 4.0 Australia mortality sex ratio 1950 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Forecasting groups 34 Model product and ratios q pt (x) = ft,M (x)ft,F (x) and log[pt (x)] = µp (x) + log[rt (x)] = µr (x) + K X k =1 L X q rt (x) = . ft,M (x) ft,F (x). βt,k φk (x) + et (x) γt,` ψ` (x) + wt (x). `=1 {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Forecasts: fn+h |n,M (x) = pn+h |n (x)r.n+h |n (x) fn+h |n,F (x) = pn+h |n (x) rn+h |n (x). Demographic forecasting using functional data analysis Forecasting groups 35 Model product and ratios q pt (x) = ft,M (x)ft,F (x) and log[pt (x)] = µp (x) + log[rt (x)] = µr (x) + K X k =1 L X q rt (x) = . ft,M (x) ft,F (x). βt,k φk (x) + et (x) γt,` ψ` (x) + wt (x). `=1 {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Forecasts: fn+h |n,M (x) = pn+h |n (x)r.n+h |n (x) fn+h |n,F (x) = pn+h |n (x) rn+h |n (x). Demographic forecasting using functional data analysis Forecasting groups 35 Model product and ratios q pt (x) = ft,M (x)ft,F (x) and log[pt (x)] = µp (x) + log[rt (x)] = µr (x) + K X k =1 L X q rt (x) = . ft,M (x) ft,F (x). βt,k φk (x) + et (x) γt,` ψ` (x) + wt (x). `=1 {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Forecasts: fn+h |n,M (x) = pn+h |n (x)r.n+h |n (x) fn+h |n,F (x) = pn+h |n (x) rn+h |n (x). Demographic forecasting using functional data analysis Forecasting groups 35 Model product and ratios q pt (x) = ft,M (x)ft,F (x) and log[pt (x)] = µp (x) + log[rt (x)] = µr (x) + K X k =1 L X q rt (x) = . ft,M (x) ft,F (x). βt,k φk (x) + et (x) γt,` ψ` (x) + wt (x). `=1 {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Forecasts: fn+h |n,M (x) = pn+h |n (x)r.n+h |n (x) fn+h |n,F (x) = pn+h |n (x) rn+h |n (x). Demographic forecasting using functional data analysis Forecasting groups 35 20 40 60 80 0.1 0.2 0 20 40 60 80 20 40 60 80 0 Age βt3 βt2 0.2 −0.5 0.6 5 0 βt1 −1.5 −5 Demographic forecasting using functional data analysis −0.6 −2.5 2000 Year 20 40 60 80 Age −10 1960 0.0 φ3(x) −0.1 −0.2 0 Age 0.5 Age −0.2 0 0.0 −0.2 0.05 −0.1 φ2(x) 0.10 φ1(x) 0.1 0.15 −2 −4 −6 −8 µP(x) Product model 1960 2000 Year Forecasting groups 1960 2000 Year 36 20 40 60 80 0 0.4 0.2 0.1 φ3(x) 20 40 60 80 0 20 40 60 80 Age 0 20 40 60 80 Age Age 1960 2000 Year Demographic forecasting using functional data analysis 0.1 1960 2000 Year Forecasting groups −0.3 −0.6 −0.1 βt3 −0.2 0.0 βt2 −0.5 βt1 0.0 0.2 0.3 0.4 0.5 Age −0.2 −0.05 0.0 0.05 φ2(x) 0.00 −0.10 0 0.3 0.25 0.15 0.20 φ1(x) 0.10 0.5 0.4 0.3 0.2 0.1 µR(x) Ratio model 1960 2000 Year 37 −4 −6 −8 −10 Log of geometric mean death rate −2 Product forecasts 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Forecasting groups 38 3.0 2.5 2.0 1.0 1.5 Sex ratio: M/F 3.5 4.0 Ratio forecasts 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Forecasting groups 39 Coherent forecasts −4 −10 −8 −6 Log death rate −4 −6 −10 −8 Log death rate −2 (b) Females −2 (a) Males 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis 0 20 40 60 80 100 Age Forecasting groups 40 Ratio forecasts 3.5 3.0 2.5 1.0 1.5 2.0 Sex ratio of rates: M/F 3.0 2.5 2.0 1.0 1.5 Sex ratio of rates: M/F 3.5 4.0 Coherent forecasts 4.0 Independent forecasts 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis 0 20 40 60 80 100 Age Forecasting groups 41 Life expectancy forecasts Life expectancy difference: F−M 4 70 2 75 Age Number of years 80 6 85 8 Life expectancy forecasts 1960 1980 2000 2020 Year Demographic forecasting using functional data analysis 1960 1980 2000 2020 Year Forecasting groups 42 Coherent forecasts for J groups and pt (x) = [ft,1 (x)ft,2 (x) · · · ft,J (x)]1/J . rt,j (x) = ft,j (x) pt (x), log[pt (x)] = µp (x) + K X βt,k φk (x) + et (x) k =1 L X log[rt,j (x)] = µr,j (x) + γt,l ,j ψl ,j (x) + wt,j (x). l =1 pt (x) and all rt,j (x) are approximately independent. Demographic forecasting using functional data analysis Ratios satisfy constraint rt,1 (x)rt,2 (x) · · · rt,J (x) = 1. log[ft,j (x)] = log[pt (x)rt,j (x)] Forecasting groups 43 Coherent forecasts for J groups and pt (x) = [ft,1 (x)ft,2 (x) · · · ft,J (x)]1/J . rt,j (x) = ft,j (x) pt (x), log[pt (x)] = µp (x) + K X βt,k φk (x) + et (x) k =1 L X log[rt,j (x)] = µr,j (x) + γt,l ,j ψl ,j (x) + wt,j (x). l =1 pt (x) and all rt,j (x) are approximately independent. Demographic forecasting using functional data analysis Ratios satisfy constraint rt,1 (x)rt,2 (x) · · · rt,J (x) = 1. log[ft,j (x)] = log[pt (x)rt,j (x)] Forecasting groups 43 Coherent forecasts for J groups and pt (x) = [ft,1 (x)ft,2 (x) · · · ft,J (x)]1/J . rt,j (x) = ft,j (x) pt (x), log[pt (x)] = µp (x) + K X βt,k φk (x) + et (x) k =1 L X log[rt,j (x)] = µr,j (x) + γt,l ,j ψl ,j (x) + wt,j (x). l =1 pt (x) and all rt,j (x) are approximately independent. Demographic forecasting using functional data analysis Ratios satisfy constraint rt,1 (x)rt,2 (x) · · · rt,J (x) = 1. log[ft,j (x)] = log[pt (x)rt,j (x)] Forecasting groups 43 Coherent forecasts for J groups and pt (x) = [ft,1 (x)ft,2 (x) · · · ft,J (x)]1/J . rt,j (x) = ft,j (x) pt (x), log[pt (x)] = µp (x) + K X βt,k φk (x) + et (x) k =1 L X log[rt,j (x)] = µr,j (x) + γt,l ,j ψl ,j (x) + wt,j (x). l =1 pt (x) and all rt,j (x) are approximately independent. Demographic forecasting using functional data analysis Ratios satisfy constraint rt,1 (x)rt,2 (x) · · · rt,J (x) = 1. log[ft,j (x)] = log[pt (x)rt,j (x)] Forecasting groups 43 Coherent forecasts for J groups and pt (x) = [ft,1 (x)ft,2 (x) · · · ft,J (x)]1/J . rt,j (x) = ft,j (x) pt (x), log[pt (x)] = µp (x) + K X βt,k φk (x) + et (x) k =1 L X log[rt,j (x)] = µr,j (x) + γt,l ,j ψl ,j (x) + wt,j (x). l =1 pt (x) and all rt,j (x) are approximately independent. Demographic forecasting using functional data analysis Ratios satisfy constraint rt,1 (x)rt,2 (x) · · · rt,J (x) = 1. log[ft,j (x)] = log[pt (x)rt,j (x)] Forecasting groups 43 Coherent forecasts for J groups log[ft,j (x)] = log[pt (x)rt,j (x)] = log[pt (x)] + log[rt,j ] K L X X = µj (x) + βt,k φk (x) + γt,`,j ψ`,j (x) + zt,j (x) k =1 `=1 µj (x) = µp (x) + µr,j (x) is group mean zt,j (x) = et (x) + wt,j (x) is error term. {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Demographic forecasting using functional data analysis Forecasting groups 44 Coherent forecasts for J groups log[ft,j (x)] = log[pt (x)rt,j (x)] = log[pt (x)] + log[rt,j ] K L X X = µj (x) + βt,k φk (x) + γt,`,j ψ`,j (x) + zt,j (x) k =1 `=1 µj (x) = µp (x) + µr,j (x) is group mean zt,j (x) = et (x) + wt,j (x) is error term. {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Demographic forecasting using functional data analysis Forecasting groups 44 Coherent forecasts for J groups log[ft,j (x)] = log[pt (x)rt,j (x)] = log[pt (x)] + log[rt,j ] K L X X = µj (x) + βt,k φk (x) + γt,`,j ψ`,j (x) + zt,j (x) k =1 `=1 µj (x) = µp (x) + µr,j (x) is group mean zt,j (x) = et (x) + wt,j (x) is error term. {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Demographic forecasting using functional data analysis Forecasting groups 44 Coherent forecasts for J groups log[ft,j (x)] = log[pt (x)rt,j (x)] = log[pt (x)] + log[rt,j ] K L X X = µj (x) + βt,k φk (x) + γt,`,j ψ`,j (x) + zt,j (x) k =1 `=1 µj (x) = µp (x) + µr,j (x) is group mean zt,j (x) = et (x) + wt,j (x) is error term. {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Demographic forecasting using functional data analysis Forecasting groups 44 Coherent forecasts for J groups log[ft,j (x)] = log[pt (x)rt,j (x)] = log[pt (x)] + log[rt,j ] K L X X = µj (x) + βt,k φk (x) + γt,`,j ψ`,j (x) + zt,j (x) k =1 `=1 µj (x) = µp (x) + µr,j (x) is group mean zt,j (x) = et (x) + wt,j (x) is error term. {γt,` } restricted to be stationary processes: either ARMA(p, q) or ARFIMA(p, d , q). No restrictions for βt,1 , . . . , βt,K . Demographic forecasting using functional data analysis Forecasting groups 44 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis Population forecasting 45 Demographic growth-balance equation Demographic growth-balance equation Pt+1 (x + 1) = Pt (x) − Dt (x, x + 1) + Gt (x, x + 1) Pt+1 (0) = Bt − Dt (B , 0) + Gt (B , 0) x = 0, 1, 2, . . . . Pt (x) = population of age x at 1 January, year t Bt = births in calendar year t Dt (x, x + 1) = deaths in calendar year t of persons aged x at the beginning of year t Dt (B , 0) = infant deaths in calendar year t Gt (x, x + 1) = net migrants in calendar year t of persons aged x at the beginning of year t Gt (B , 0) = net migrants of infants born in calendar year t Demographic forecasting using functional data analysis Population forecasting 46 Demographic growth-balance equation Demographic growth-balance equation Pt+1 (x + 1) = Pt (x) − Dt (x, x + 1) + Gt (x, x + 1) Pt+1 (0) = Bt − Dt (B , 0) + Gt (B , 0) x = 0, 1, 2, . . . . Pt (x) = population of age x at 1 January, year t Bt = births in calendar year t Dt (x, x + 1) = deaths in calendar year t of persons aged x at the beginning of year t Dt (B , 0) = infant deaths in calendar year t Gt (x, x + 1) = net migrants in calendar year t of persons aged x at the beginning of year t Gt (B , 0) = net migrants of infants born in calendar year t Demographic forecasting using functional data analysis Population forecasting 46 Key ideas Build a stochastic functional model for each of mortality, fertility and net migration. Treat all observed data as functional (i.e., smooth curves of age) rather than discrete values. Use the models to simulate future sample paths of all components giving the entire age distribution at every year into the future. Compute future births, deaths, net migrants. and populations from simulated rates. Combine the results to get age-specific stochastic population forecasts. Demographic forecasting using functional data analysis Population forecasting 47 Key ideas Build a stochastic functional model for each of mortality, fertility and net migration. Treat all observed data as functional (i.e., smooth curves of age) rather than discrete values. Use the models to simulate future sample paths of all components giving the entire age distribution at every year into the future. Compute future births, deaths, net migrants. and populations from simulated rates. Combine the results to get age-specific stochastic population forecasts. Demographic forecasting using functional data analysis Population forecasting 47 Key ideas Build a stochastic functional model for each of mortality, fertility and net migration. Treat all observed data as functional (i.e., smooth curves of age) rather than discrete values. Use the models to simulate future sample paths of all components giving the entire age distribution at every year into the future. Compute future births, deaths, net migrants. and populations from simulated rates. Combine the results to get age-specific stochastic population forecasts. Demographic forecasting using functional data analysis Population forecasting 47 Key ideas Build a stochastic functional model for each of mortality, fertility and net migration. Treat all observed data as functional (i.e., smooth curves of age) rather than discrete values. Use the models to simulate future sample paths of all components giving the entire age distribution at every year into the future. Compute future births, deaths, net migrants. and populations from simulated rates. Combine the results to get age-specific stochastic population forecasts. Demographic forecasting using functional data analysis Population forecasting 47 Key ideas Build a stochastic functional model for each of mortality, fertility and net migration. Treat all observed data as functional (i.e., smooth curves of age) rather than discrete values. Use the models to simulate future sample paths of all components giving the entire age distribution at every year into the future. Compute future births, deaths, net migrants. and populations from simulated rates. Combine the results to get age-specific stochastic population forecasts. Demographic forecasting using functional data analysis Population forecasting 47 The available data In most countries, the following data are available: Pt (x) = Et (x) = Bt (x) = Dt (x) = population of age x at 1 January, year t population of age x at 30 June, year t births in calendar year t to females of age x deaths in calendar year t of persons of age x From these, we can estimate: mt (x) = Dt (x)/Et (x) = central death rate in calendar year t; ft (x) = Bt (x)/EtF (x) = fertility rate for females of age x in calendar year t. Demographic forecasting using functional data analysis Population forecasting 48 The available data In most countries, the following data are available: Pt (x) = Et (x) = Bt (x) = Dt (x) = population of age x at 1 January, year t population of age x at 30 June, year t births in calendar year t to females of age x deaths in calendar year t of persons of age x From these, we can estimate: mt (x) = Dt (x)/Et (x) = central death rate in calendar year t; ft (x) = Bt (x)/EtF (x) = fertility rate for females of age x in calendar year t. Demographic forecasting using functional data analysis Population forecasting 48 The available data In most countries, the following data are available: Pt (x) = Et (x) = Bt (x) = Dt (x) = population of age x at 1 January, year t population of age x at 30 June, year t births in calendar year t to females of age x deaths in calendar year t of persons of age x From these, we can estimate: mt (x) = Dt (x)/Et (x) = central death rate in calendar year t; ft (x) = Bt (x)/EtF (x) = fertility rate for females of age x in calendar year t. Demographic forecasting using functional data analysis Population forecasting 48 Net migration We need to estimate migration data based on difference in population numbers after adjusting for births and deaths. Demographic growth-balance equation Gt (x, x + 1) = Pt+1 (x + 1) − Pt (x) + Dt (x, x + 1) Gt (B , 0) = Pt+1 (0) − Bt + Dt (B , 0) x = 0, 1, 2, . . . . Note: “net migration” numbers also include errors associated with all estimates. i.e., a “residual”. Demographic forecasting using functional data analysis Population forecasting 49 Net migration We need to estimate migration data based on difference in population numbers after adjusting for births and deaths. Demographic growth-balance equation Gt (x, x + 1) = Pt+1 (x + 1) − Pt (x) + Dt (x, x + 1) Gt (B , 0) = Pt+1 (0) − Bt + Dt (B , 0) x = 0, 1, 2, . . . . Note: “net migration” numbers also include errors associated with all estimates. i.e., a “residual”. Demographic forecasting using functional data analysis Population forecasting 49 Net migration We need to estimate migration data based on difference in population numbers after adjusting for births and deaths. Demographic growth-balance equation Gt (x, x + 1) = Pt+1 (x + 1) − Pt (x) + Dt (x, x + 1) Gt (B , 0) = Pt+1 (0) − Bt + Dt (B , 0) x = 0, 1, 2, . . . . Note: “net migration” numbers also include errors associated with all estimates. i.e., a “residual”. Demographic forecasting using functional data analysis Population forecasting 49 Net migration We need to estimate migration data based on difference in population numbers after adjusting for births and deaths. Demographic growth-balance equation Gt (x, x + 1) = Pt+1 (x + 1) − Pt (x) + Dt (x, x + 1) Gt (B , 0) = Pt+1 (0) − Bt + Dt (B , 0) x = 0, 1, 2, . . . . Note: “net migration” numbers also include errors associated with all estimates. i.e., a “residual”. Demographic forecasting using functional data analysis Population forecasting 49 Net migration 4000 2000 −2000 0 Net migration 6000 8000 Australia: male net migration (1973−2008) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Population forecasting 50 Net migration 4000 2000 −2000 0 Net migration 6000 8000 Australia: female net migration (1973−2008) 0 20 40 60 80 100 Age Demographic forecasting using functional data analysis Population forecasting 50 Stochastic population forecasts Component models Data: age/sex-specific mortality rates, fertility rates and net migration. Models: Functional time series models for mortality (M/F), fertility and net migration (M/F) assuming independence between components and coherence between sexes. Generate random sample paths of each component conditional on observed data. Use simulated rates to generate Bt (x), DtF (x, x + 1), DtM (x, x + 1) for t = n + 1, . . . , n + h , assuming deaths and births are Poisson. Demographic forecasting using functional data analysis Population forecasting 51 Stochastic population forecasts Component models Data: age/sex-specific mortality rates, fertility rates and net migration. Models: Functional time series models for mortality (M/F), fertility and net migration (M/F) assuming independence between components and coherence between sexes. Generate random sample paths of each component conditional on observed data. Use simulated rates to generate Bt (x), DtF (x, x + 1), DtM (x, x + 1) for t = n + 1, . . . , n + h , assuming deaths and births are Poisson. Demographic forecasting using functional data analysis Population forecasting 51 Stochastic population forecasts Component models Data: age/sex-specific mortality rates, fertility rates and net migration. Models: Functional time series models for mortality (M/F), fertility and net migration (M/F) assuming independence between components and coherence between sexes. Generate random sample paths of each component conditional on observed data. Use simulated rates to generate Bt (x), DtF (x, x + 1), DtM (x, x + 1) for t = n + 1, . . . , n + h , assuming deaths and births are Poisson. Demographic forecasting using functional data analysis Population forecasting 51 Stochastic population forecasts Component models Data: age/sex-specific mortality rates, fertility rates and net migration. Models: Functional time series models for mortality (M/F), fertility and net migration (M/F) assuming independence between components and coherence between sexes. Generate random sample paths of each component conditional on observed data. Use simulated rates to generate Bt (x), DtF (x, x + 1), DtM (x, x + 1) for t = n + 1, . . . , n + h , assuming deaths and births are Poisson. Demographic forecasting using functional data analysis Population forecasting 51 Simulation Demographic growth-balance equation used to get population sample paths. Demographic growth-balance equation Pt+1 (x + 1) = Pt (x) − Dt (x, x + 1) + Gt (x, x + 1) Pt+1 (0) = Bt − Dt (B , 0) + Gt (B , 0) x = 0, 1, 2, . . . . 10000 sample paths of population Pt (x), deaths Dt (x) and births Bt (x) generated for t = 2004, . . . , 2023 and x = 0, 1, 2, . . . ,. This allows the computation of the empirical forecast distribution of any demographic quantity that is based on births, deaths and population numbers. Demographic forecasting using functional data analysis Population forecasting 52 Simulation Demographic growth-balance equation used to get population sample paths. Demographic growth-balance equation Pt+1 (x + 1) = Pt (x) − Dt (x, x + 1) + Gt (x, x + 1) Pt+1 (0) = Bt − Dt (B , 0) + Gt (B , 0) x = 0, 1, 2, . . . . 10000 sample paths of population Pt (x), deaths Dt (x) and births Bt (x) generated for t = 2004, . . . , 2023 and x = 0, 1, 2, . . . ,. This allows the computation of the empirical forecast distribution of any demographic quantity that is based on births, deaths and population numbers. Demographic forecasting using functional data analysis Population forecasting 52 Simulation Demographic growth-balance equation used to get population sample paths. Demographic growth-balance equation Pt+1 (x + 1) = Pt (x) − Dt (x, x + 1) + Gt (x, x + 1) Pt+1 (0) = Bt − Dt (B , 0) + Gt (B , 0) x = 0, 1, 2, . . . . 10000 sample paths of population Pt (x), deaths Dt (x) and births Bt (x) generated for t = 2004, . . . , 2023 and x = 0, 1, 2, . . . ,. This allows the computation of the empirical forecast distribution of any demographic quantity that is based on births, deaths and population numbers. Demographic forecasting using functional data analysis Population forecasting 52 Forecasts of TFR 2500 2000 TFR 3000 3500 Forecast Total Fertility Rate 1920 1940 1960 1980 2000 2020 Year Demographic forecasting using functional data analysis Population forecasting 53 Population forecasts 2009 150 100 2009 50 0 50 100 Age Female 0 10 20 30 40 50 60 70 80 90 100 Male 0 10 20 30 40 50 60 70 80 90 100 Age Forecast population: 2028 150 Population ('000) Forecast population pyramid for 2028, along with 80% prediction intervals. Dashed: actual population pyramid for 2009. Demographic forecasting using functional data analysis Population forecasting 54 Population forecasts 10 12 Population (millions) 14 16 Total females ● ● ● ● ● 8 ● ●● ●● ●● ● ●● ●● ●● ●● ●● ●● ●● ● ● ●● ●● ●● ● ●● ● ●● ● ● 1980 1990 2000 2010 2020 2030 Year Demographic forecasting using functional data analysis Population forecasting 55 Population forecasts 10 12 Population (millions) 14 16 Total males ● ● ● ● 8 ●● ●● ●● ● ● ●● ●● ●● ● ● ●● ●● ●● ● ●● ●● ●● ●● ●● ● ● ●● ● ● 1980 1990 2000 2010 2020 2030 Year Demographic forecasting using functional data analysis Population forecasting 55 Old-age dependency ratio 0.20 0.10 0.15 ratio 0.25 0.30 Old−age dependency ratio forecasts 1920 1940 1960 1980 2000 2020 Year Demographic forecasting using functional data analysis Population forecasting 56 Advantages of stochastic simulation approach Functional data analysis provides a way of forecasting age-specific mortality, fertility and net migration. Stochastic age-specific cohort-component simulation provides a way of forecasting many demographic quantities with prediction intervals. No need to select combinations of assumed rates. True prediction intervals with specified coverage for population and all derived variables (TFR, life expectancy, old-age dependencies, etc.) Demographic forecasting using functional data analysis Population forecasting 57 Advantages of stochastic simulation approach Functional data analysis provides a way of forecasting age-specific mortality, fertility and net migration. Stochastic age-specific cohort-component simulation provides a way of forecasting many demographic quantities with prediction intervals. No need to select combinations of assumed rates. True prediction intervals with specified coverage for population and all derived variables (TFR, life expectancy, old-age dependencies, etc.) Demographic forecasting using functional data analysis Population forecasting 57 Advantages of stochastic simulation approach Functional data analysis provides a way of forecasting age-specific mortality, fertility and net migration. Stochastic age-specific cohort-component simulation provides a way of forecasting many demographic quantities with prediction intervals. No need to select combinations of assumed rates. True prediction intervals with specified coverage for population and all derived variables (TFR, life expectancy, old-age dependencies, etc.) Demographic forecasting using functional data analysis Population forecasting 57 Advantages of stochastic simulation approach Functional data analysis provides a way of forecasting age-specific mortality, fertility and net migration. Stochastic age-specific cohort-component simulation provides a way of forecasting many demographic quantities with prediction intervals. No need to select combinations of assumed rates. True prediction intervals with specified coverage for population and all derived variables (TFR, life expectancy, old-age dependencies, etc.) Demographic forecasting using functional data analysis Population forecasting 57 Outline 1 A functional linear model 2 Bagplots, boxplots and outliers 3 Functional forecasting 4 Forecasting groups 5 Population forecasting 6 References Demographic forecasting using functional data analysis References 58 Selected references Hyndman, Shang (2010). “Rainbow plots, bagplots and boxplots for functional data”. Journal of Computational and Graphical Statistics 19(1), 29–45 Hyndman, Ullah (2007). “Robust forecasting of mortality and fertility rates: A functional data approach”. Computational Statistics and Data Analysis 51(10), 4942–4956 Hyndman, Shang (2009). “Forecasting functional time series (with discussion)”. Journal of the Korean Statistical Society 38(3), 199–221 Shang, Booth, Hyndman (2011). “Point and interval forecasts of mortality rates and life expectancy : a comparison of ten principal component methods”. Demographic Research 25(5), 173–214 Hyndman, Booth (2008). “Stochastic population forecasts using functional data models for mortality, fertility and migration”. International Journal of Forecasting 24(3), 323–342 Hyndman, Booth, Yasmeen (2012). “Coherent mortality forecasting: the product-ratio method with functional time series models”. Demography, to appear Hyndman (2012). demography: Forecasting mortality, fertility, migration and population data. cran.r-project.org/package=demography Demographic forecasting using functional data analysis References 59 Selected references Hyndman, Shang (2010). “Rainbow plots, bagplots and boxplots for functional data”. Journal of Computational and Graphical Statistics 19(1), 29–45 Hyndman, Ullah (2007). “Robust forecasting of mortality and fertility rates: A functional data approach”. Computational Statistics and Data Analysis 51(10), 4942–4956 Hyndman, Shang (2009). “Forecasting functional time series (with discussion)”. Journal of the Korean Statistical Society 38(3), 199–221 Shang, Booth, Hyndman (2011). “Point and interval forecasts of mortality rates and life expectancy : a comparison of ten principal component methods”. Demographic Research 25(5), 173–214 Hyndman, Booth (2008). “Stochastic population forecasts using functional data models for mortality, fertility and migration”. International Journal of Forecasting 24(3), 323–342 Hyndman, Booth, Yasmeen (2012). “Coherent mortality forecasting: the product-ratio method with functional time series models”. Demography, to appear Hyndman (2012). demography: Forecasting mortality, fertility, migration and population data. cran.r-project.org/package=demography å Papers and R code: robjhyndman.com å Email: Rob.Hyndman@monash.edu Demographic forecasting using functional data analysis References 59