2

I am trying to forecast tax base (time series) based on 3 variables : tax break, inflows of earnings and economic profits. I tried to use auto.arima with xreg but I got the error:

No suitable ARIMA model found.

The tax break data is basically all zero's from 2011 to 2013, 2014 is 50,000, 2015 is 75,000 and all the following years it is 100,000. Also, the tax break is like each company gets 100,000$ exemption on its first 100,000$ profit. I really want to know it my model is correct or else how should I model this data? The code is below:

tb = ts(data1$Taxbreak, start = c(2001), frequency = 1)
inflows = ts(data1$`Inflow of earnings`, start = c(2001), frequency = 1)
ep = ts(data1$`Economic Profits`, start = c(2001), frequency = 1)

xreg = cbind(tb, inflows,ep)
colnames(xreg) <- c("taxbreak","inflows", "economic profit")
xreg

B =ts(data1$`GR Tax Base`, start = c(2001), frequency = 1)
Box.test(B, lag = 15, type = "Ljung-Box")#stationary
acf(B)

revfit<-auto.arima(B, xreg=xreg)
tsdisplay(residuals(revfit))


newtb = ts(forecasted1$Taxbreak, start = c(2017), frequency = 1)
newinflows = ts(forecasted1$`Inflow of earnings`, start = c(2017), frequency = 1)
newperep = ts(forecasted1$`Economic Profits`, start = c(2017), frequency = 1)
nnewxreg = cbind(newtb, newinflows, newep)
nnewxreg

fcast <- forecast(revfit, xreg = nnewxreg)
list(fcast)
plot(fcast)
tsdisplay(residuals(fcast))
accuracy(fcast)

This is the data that I used for to get to

revfit<-auto.arima(B, xreg=xreg)
tsdisplay(residuals(revfit)) 

and I got the error at this step.

Year    Taxbreak earnings   Profits    Tax Base
2001    $0.00   $5,332,463  762        32,222,803,774
2002    $0.00   $5,431,753  808       33,610,875,248
2003    $0.00   $5,643,742  979     30,835,183,333
2004    $0.00   $6,134,432  1,179   36,383,352,174
2005    $0.00   $6,433,098  1,375   48,219,466,667
2006    $0.00   $6,871,455  1,578   59,596,984,211
2007    $0.00   $7,265,704  1,609   60,346,996,997
2008    $0.00   $7,390,580  1,435   61,060,551,948
2009    $0.00   $7,171,789  1,237   64,854,063,604
2010    $0.00   $7,258,068  1,588   60,502,826,855
2011    $0.00   $7,581,240  1,782   61,554,035,336
2012    $0.00   $7,862,034  1,952   68,020,593,640
2013    $0.00   $7,903,139  2,006   75,653,752,650
2014    $1.00   $8,211,705  2,026   77,369,017,668
2015    $1.00   $8,625,298  2,098   73,887,957,597
2016    $1.00   9095703 2288.857    76,386,659,364

for the rest of the code I was planning to use the below data to be my newxreg to forecast the tax base from 2017 to 2020

Year  Taxbreak  earnings    Profits    
2017    $1.00   9330906     2,384
2018    $1.00   9566108     2,497
2019    $1.00   9801311     2,575
2020    $1.00   10036513    2,670
2021    $1.00   10271716    2,766
2022    $1.00   10506918    2,861
user20650
  • 24,654
  • 5
  • 56
  • 91
amany adel
  • 21
  • 4
  • 1
    Where in your code does the error occur? Are you able to create a [reproducible example](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – user20650 Jun 05 '17 at 20:07
  • Year Taxbreak Inflow of earnings Economic Profits 2001 $0.00 $5,332,463 762 2002 $0.00 $5,431,753 808 2003 $0.00 $5,643,742 979 2004 $0.00 $6,134,432 1,179 2005 $0.00 $6,433,098 1,375 2006 $0.00 $6,871,455 1,578 2007 $0.00 $7,265,704 1,609 2008 $0.00 $7,390,580 1,435 2009 $0.00 $7,171,789 1,237 2010 $0.00 $7,258,068 1,588 2011 $0.00 $7,581,240 1,782 2012 $0.00 $7,862,034 1,952 2013 $0.00 $7,903,139 2,006 2014 $1.00 $8,211,705 2,026 2015 $1.00 $8,625,298 2,098 2016 $1.00 9095703 2,288 – amany adel Jun 06 '17 at 12:30
  • I used the above data for the below code tb = ts(data1$Taxbreak, start = c(2001), frequency = 1) inflows = ts(data1$`Inflow of earnings`, start = c(2001), frequency = 1) ep = ts(data1$`Economic Profits`, start = c(2001), frequency = 1) xreg = cbind(tb, inflows,ep) colnames(xreg) <- c("taxbreak","inflows", "economic profit") xreg B =ts(data1$`GR Tax Base`, start = c(2001), frequency = 1) Box.test(B, lag = 15, type = "Ljung-Box")#stationary acf(B) revfit<-auto.arima(B, xreg=xreg) tsdisplay(residuals(revfit)) – amany adel Jun 06 '17 at 12:36
  • i got the error at this step: revfit<-auto.arima(B, xreg=xreg) – amany adel Jun 06 '17 at 12:38

0 Answers0