## AR(1) inflation model
## estimate breakpoints
bp.inf <- breakpoints ( dp ~ dp1 , data = uk , h = 8 )
plot ( bp.inf )
Optimal (m+1)-segment partition:
Call:
breakpoints.formula(formula = dp ~ dp1, h = 8, data = uk)
Breakpoints at observation number:
m = 1 20
m = 2 20 28
m = 3 9 20 28
Corresponding to breakdates:
m = 1 1967
m = 2 1967 1975
m = 3 1956 1967 1975
Fit:
m 0 1 2 3
RSS 0.03068 0.02672 0.01838 0.01786
BIC -162.34174 -156.80265 -160.70385 -150.78479
## fit segmented model with three breaks
fac.inf <- breakfactor ( bp.inf , breaks = 2 , label = "seg" )
fm.inf <- lm ( dp ~ 0 + fac.inf / dp1 , data = uk )
summary ( fm.inf )
Call:
lm(formula = dp ~ 0 + fac.inf/dp1, data = uk)
Residuals:
Min 1Q Median 3Q Max
-0.046987 -0.014861 -0.003593 0.006286 0.058081
Coefficients:
Estimate Std. Error t value Pr(>|t|)
fac.infseg1 0.024501 0.011176 2.192 0.0353 *
fac.infseg2 -0.000775 0.017853 -0.043 0.9656
fac.infseg3 0.017603 0.015007 1.173 0.2489
fac.infseg1:dp1 0.274012 0.269892 1.015 0.3171
fac.infseg2:dp1 1.343369 0.224521 5.983 9.05e-07 ***
fac.infseg3:dp1 0.683410 0.130106 5.253 8.07e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.02325 on 34 degrees of freedom
Multiple R-squared: 0.9237, Adjusted R-squared: 0.9103
F-statistic: 68.64 on 6 and 34 DF, p-value: < 2.2e-16
## Results from Table 2 in Bai & Perron (2003):
## coefficient estimates
coef ( bp.inf , breaks = 2 )
(Intercept) dp1
1948 - 1967 0.0245010729 0.2740125
1968 - 1975 -0.0007750299 1.3433686
1976 - 1987 0.0176032179 0.6834098
## corresponding standard errors
sqrt ( sapply ( vcov ( bp.inf , breaks = 2 ) , diag ) )
1948 - 1967 1968 - 1975 1976 - 1987
(Intercept) 0.008268814 0.01985539 0.01571339
dp1 0.199691273 0.24969992 0.13622996
## breakpoints and confidence intervals
confint ( bp.inf , breaks = 2 )
Confidence intervals for breakpoints
of optimal 3-segment partition:
Call:
confint.breakpointsfull(object = bp.inf, breaks = 2)
Breakpoints at observation number:
2.5 % breakpoints 97.5 %
1 18 20 25
2 26 28 34
Corresponding to breakdates:
2.5 % breakpoints 97.5 %
1 1965 1967 1972
2 1973 1975 1981
## Phillips curve equation
## estimate breakpoints
bp.pc <- breakpoints ( dw ~ dp1 + du + u1 , data = uk , h = 5 , breaks = 5 )
## look at RSS and BIC
plot ( bp.pc )
Optimal (m+1)-segment partition:
Call:
breakpoints.formula(formula = dw ~ dp1 + du + u1, h = 5, breaks = 5,
data = uk)
Breakpoints at observation number:
m = 1 26
m = 2 20 28
m = 3 9 25 30
m = 4 11 16 25 30
m = 5 11 16 22 27 32
Corresponding to breakdates:
m = 1 1973
m = 2 1967 1975
m = 3 1956 1972 1977
m = 4 1958 1963 1972 1977
m = 5 1958 1963 1969 1974 1979
Fit:
m 0 1 2 3 4 5
RSS 3.409e-02 1.690e-02 1.062e-02 7.835e-03 5.183e-03 3.388e-03
BIC -1.508e+02 -1.604e+02 -1.605e+02 -1.542e+02 -1.523e+02 -1.509e+02
## fit segmented model with three breaks
fac.pc <- breakfactor ( bp.pc , breaks = 2 , label = "seg" )
fm.pc <- lm ( dw ~ 0 + fac.pc / dp1 + du + u1 , data = uk )
summary ( fm.pc )
Call:
lm(formula = dw ~ 0 + fac.pc/dp1 + du + u1, data = uk)
Residuals:
Min 1Q Median 3Q Max
-0.041392 -0.011516 0.000089 0.010036 0.044539
Coefficients:
Estimate Std. Error t value Pr(>|t|)
fac.pcseg1 0.06574 0.01169 5.623 3.24e-06 ***
fac.pcseg2 0.06231 0.01883 3.310 0.00232 **
fac.pcseg3 0.18093 0.05388 3.358 0.00204 **
du -0.14408 0.58218 -0.247 0.80611
u1 -0.87516 0.37274 -2.348 0.02523 *
fac.pcseg1:dp1 0.09373 0.24053 0.390 0.69936
fac.pcseg2:dp1 1.23143 0.20498 6.008 1.06e-06 ***
fac.pcseg3:dp1 0.01618 0.25667 0.063 0.95013
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.02021 on 32 degrees of freedom
Multiple R-squared: 0.9655, Adjusted R-squared: 0.9569
F-statistic: 112 on 8 and 32 DF, p-value: < 2.2e-16
## Results from Table 3 in Bai & Perron (2003):
## coefficient estimates
coef ( fm.pc )
fac.pcseg1 fac.pcseg2 fac.pcseg3 du u1
0.06574278 0.06231337 0.18092502 -0.14408073 -0.87515585
fac.pcseg1:dp1 fac.pcseg2:dp1 fac.pcseg3:dp1
0.09372759 1.23143008 0.01617826
fac.pcseg1 fac.pcseg2 fac.pcseg3 du u1
0.01169149 0.01882668 0.05388166 0.58217571 0.37273955
fac.pcseg1:dp1 fac.pcseg2:dp1 fac.pcseg3:dp1
0.24052539 0.20497973 0.25666903
## breakpoints and confidence intervals
confint ( bp.pc , breaks = 2 , het.err = FALSE )
Confidence intervals for breakpoints
of optimal 3-segment partition:
Call:
confint.breakpointsfull(object = bp.pc, breaks = 2, het.err = FALSE)
Breakpoints at observation number:
2.5 % breakpoints 97.5 %
1 19 20 21
2 27 28 29
Corresponding to breakdates:
2.5 % breakpoints 97.5 %
1 1966 1967 1968
2 1974 1975 1976