c# pdf to image without ghostscript : Add attachment to pdf form software application project winforms azure html UWP wbook25-part66

CHAPTER 6. VAR AND ERROR CORRECTION MODELS
240
where:
0< 
c
< 1
(6.15)
 > 1
(6.16)
0<  < 1
(6.17)
For variables j = 1;:::;m in equation i that are important in explaining
variation in variable i, (j 2 C), the prior mean for lag length k = 1 is
set to the average of the number of important variables in equation i and
to zero for unimportant variables (j: 2 C). The prior standard deviation
is set to 
c
for the rst lag, and obeys the restriction set forth in (6.15),
reflecting a tight imposition of the prior mean that forces averaging over
important variables. To see this, consider that the prior means 1=c
i
range
between zero and unity so typical 
c
values might be in the range of 0.1
to 0.25. We use 
c
=k for lags greater than one which imposes a decrease
in this variance as the lag length k increases. Equation (6.16) states the
restriction necessary to ensure that the prior mean of zero is imposed on the
parameters associated with lags greater than one for important variables
loosely, relative to a tight imposition of the prior mean of 1=c
i
on rst own-
lags of important variables. We use 
c
=k for lags on unimportant variables
whose prior means are zero, imposing a decrease in the variance as the lag
length increases. The restriction in (6.17) would impose the zero means for
unimportant variables with more condence than the zero prior means for
important variables.
This mathematical formulation adequately captures all aspects of the
intuitive motivation for the prior variance specication enumerated above.
Aquick way to see this is to examine a graphical depictionof the prior mean
and standard deviation for an important versus unimportant variable. An
articial example was constructed for an important variable in Figure6.1
and an unimportant variable in Figure 4.3. Figure 6.1 shows the prior
mean along with ve upper and lower limits derived from the prior standard
deviations in (6.14). The ve standard deviation limits shown in the gure
reflect  2 standard deviation limits resulting from alternative settings for
the prior hyperparameter  ranging from 5 to 9 and a value of 
c
=0:25.
Larger values of  generated the wider upper and lower limits.
The solid line in Figure6.1reflects a prior mean of 0.2 for lag 1 indicating
ve importantvariables,anda prior meanof zero for allother lags. The prior
standard deviation at lag 1 is relatively tight producing a small band around
the averaging prior mean for this lag. This imposes the `averaging' prior
belief with a fair amount of certainty. Beginning at lag 2, the prior standard
Add attachment to pdf form - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
create a fillable pdf form from a word document; create a pdf form to fill out
Add attachment to pdf form - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
convert word form to fillable pdf form; adding a signature to a pdf form
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
241
0
2
4
6
8
10
12
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
lag length
prior standard deviation
mean 
upper
lower
Figure 6.1: Prior means and precision for important variables
deviation is increased to reflect relative uncertainty about the new prior
mean of zero for lags greater than unity. Recall, we believe that important
variables at lags greater than unity will exert some influence, making the
prior mean of zero not quite appropriate. Hence, we implement this prior
mean with greater uncertainty.
Figure6.2 shows an example of the prior means and standard deviations
for an unimportant variable based on 
c
=0:25 and ve values of  ranging
from .35 to .75. Again, the larger  values produce wider upper and lower
limits. The prior for unimportant variables is motivated by the Minnesota
prior that also uses zero prior means and rapid decay with increasing lag
length.
Afunction rvar implements the random-walk averaging prior and a re-
lated function recm carries out estimation for an EC model based on this
prior. The documentation for the rvar function is shown below, where we
have eliminatedinformationregarding the results structure variable returned
by the function to save space.
PURPOSE: Estimates a Bayesian vector autoregressive model
C# PDF File Compress Library: Compress reduce PDF size in C#.net
File attachment. External cross references. Flatten visible layers. C#.NET DLLs: Compress PDF Document. Add necessary references: RasterEdge.Imaging.Basic.dll.
pdf form fill; add fillable fields to pdf
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Reduce image resources: Since images are usually or large size, images size reducing can help to reduce PDF file size Flatten form fields. File attachment.
create a pdf form that can be filled out; convert pdf to fillable form
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
242
0
2
4
6
8
10
12
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
lag length
prior standard deviation
mean 
upper
lower
Figure 6.2: Prior means and precision for unimportant variables
using the random-walk averaging prior
---------------------------------------------------
USAGE: result = rvar(y,nlag,w,freq,sig,tau,theta,x)
where:
y
= an (nobs x neqs) matrix of y-vectors (in levels)
nlag = the lag length
w
= an (neqs x neqs) matrix containing prior means
(rows should sum to unity, see below)
freq = 1 for annual, 4 for quarterly, 12 for monthly
sig = prior variance hyperparameter (see below)
tau = prior variance hyperparameter (see below)
theta = prior variance hyperparameter (see below)
x
= an (nobs x nx) matrix of deterministic variables
(in any form, they are not altered during estimation)
(constant term automatically included)
priors important variables:
N(w(i,j),sig) for 1st own lag
N( 0 ,tau*sig/k) for lag k=2,...,nlag
priors unimportant variables: N(w(i,j),theta*sig/k) for lag 1
N( 0 ,theta*sig/k)
for lag k=2,...,nlag
e.g., if y1, y3, y4 are important variables in eq#1, y2 unimportant
w(1,1) = 1/3, w(1,3) = 1/3, w(1,4) = 1/3, w(1,2) = 0
typical values would be: sig = .1-.3, tau = 4-8, theta = .5-1
C# Word: How to Compress, Decompress Word in C#.NET Projects
or sending the docx file through email attachment. Add those two RasterEdge assemblies to C# project & profession imaging controls, PDF document, image to pdf
add attachment to pdf form; convert pdf to fillable form online
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
243
---------------------------------------------------
NOTES: - estimation is carried out in annualized growth terms because
the prior means rely on common (growth-rate) scaling of variables
hence the need for a freq argument input.
- constant term included automatically
---------------------------------------------------
Because this model is estimated in growth-rates form, an input argument
for the data frequency is required. As an illustration of using both the rvar
and recm functions, consider the following example based on the eight-state
mining industry data. We specify a weight matrix for the prior means using
rst-order contiguity of the states.
% ----- Example 6.10 Estimating RECM models
y = load('test.dat'); % a test data set
vnames = strvcat('il','in','ky','mi','oh','pa','tn','wv');
nlag = 6; % number of lags in var-model
sig = 0.1;
tau = 6;
theta = 0.5;
freq = 12;
% monthly data
% this is an example of using 1st-order contiguity
% of the states as weights to produce prior means
W=[0
0.5
0.5
0
0
0
0
0
0.25
0
0.25
0.25 0.25 0
0
0
0.20
0.20
0
0
0.20 0
0.20 0.20
0
0.50
0
0
0.50 0
0
0
0
0.20
0.20
0.20 0
0.20 0.20 0.20
0
0
0
0
0.50 0
0
0.50
0
0
1
0
0
0
0
0
0
0
0.33
0
0.33 0.33 0
0];
% estimate the rvar model
results = rvar(y,nlag,W,freq,sig,tau,theta);
% print results to a file
fid = fopen('rvar.out','wr');
prt(results,vnames,fid);
% estimate the recm model letting the function
% determine the # of co-integrating relationships
results = recm(y,nlag,W,freq,sig,tau,theta);
% print results to a file
fid = fopen('recm.out','wr');
prt(results,vnames,fid);
6.4 Forecasting the models
Aset of forecasting functions are available that follow the format of the
var, bvar, rvar, ecm, becm, recm functions named varf, bvarf, rvarf,
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
244
ecmf, becmf, recmf. These functions all produce forecasts of the time-
series levels to simplify accuracy analysis and forecast comparison from the
alternative models. They all take time-series levels arguments as inputs and
carry out the necessary transformations. As an example, the varf documen-
tation is:
PURPOSE: estimates a vector autoregression of order n
and produces f-step-ahead forecasts
-------------------------------------------------------------
USAGE:yfor = varf(y,nlag,nfor,begf,x,transf)
where:
y
= an (nobs * neqs) matrix of y-vectors in levels
nlag = the lag length
nfor = the forecast horizon
begf = the beginning date of the forecast
(defaults to length(x) + 1)
x
= an optional vector or matrix of deterministic
variables (not affected by data transformation)
transf = 0, no data transformation
= 1, 1st differences used to estimate the model
= freq, seasonal differences used to estimate
= cal-structure, growth rates used to estimate
e.g., cal(1982,1,12) [see cal() function]
-------------------------------------------------------------
NOTE: constant term included automatically
-------------------------------------------------------------
RETURNS:
yfor = an nfor x neqs matrix of level forecasts for each equation
-------------------------------------------------------------
Note that you input the variables y in levels form, indicate any of four
data transformations that will be used when estimating the VAR model,
and the function varf will carry out this transformation, produce estimates
and forecasts that are converted back to levels form. This greatly simplies
the task of producing and comparing forecasts based on alternative data
transformations.
For the case of a growthrates transformation a `calendar' structure vari-
able is required. These are produced with the cal function that is part of the
Econometrics Toolbox discussed in Chapter 3 of the manual. In brief, using
`cstruct = cal(1982,1,12)' would set up the necessary calendar structure if
the data being used were monthly time series that began in 1982.
Of course, if you desire a transformation other than the four provided,
such as logs, you can transform the variables y prior to calling the function
and specify `transf=0'. In this case, the function does not provide levels
forecasts, but rather forecasts of the logged-levels will be returned. Setting
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
245
`transf=0',produces estimates based on the data input and returns forecasts
based on this data.
As an example of comparing alternative VAR model forecasts based on
two of the four alternative transformations,consider the programin example
6.11.
% ----- Example 6.11 Forecasting VAR models
y = load('test.dat'); % a test data set containing
% monthly mining employment for
% il,in,ky,mi,oh,pa,tn,wv
dates = cal(1982,1,12); % data covers 1982,1 to 1996,5
nfor = 12; % number of forecast periods
nlag = 6; % number of lags in var-model
begf = ical(1995,1,dates); % beginning forecast period
endf = ical(1995,12,dates); % ending forecast period
% no data transformation example
fcast1 = varf(y,nlag,nfor,begf);
% seasonal differences data transformation example
freq = 12; % set frequency of the data to monthly
fcast2 = varf(y,nlag,nfor,begf,[],freq);
% compute percentage forecast errors
actual = y(begf:endf,:);
error1 = (actual-fcast1)./actual;
error2 = (actual-fcast2)./actual;
vnames = strvcat('il','in','ky','mi','oh','pa','tn','wv');
fdates = cal(1995,1,12);
fprintf(1,'VAR model in levels percentage errors \n');
tsprint(error1*100,fdates,vnames,'%7.2f');
fprintf(1,'VAR - seasonally differenced data percentage errors \n');
tsprint(error2*100,fdates,vnames,'%7.2f');
In example 6.11 we rely on the calendar structure variables which are
inputs to the tsprint utility functionthat prints time series with date labels
as shown in the program output below. This utility function is part of the
Econometrics Toolbox discussed in Chapter 3 of the manual.
VAR model in levels percentage errors
Date
il
in
ky
mi
oh
pa
tn
wv
Jan95
-3.95
-2.86
-1.15
-6.37
-5.33
-7.83
-0.19
-0.65
Feb95
-5.63
-2.63
-3.57
-7.77
-7.56
-8.28
-0.99
0.38
Mar95
-3.62
-1.75
-4.66
-5.49
-5.67
-6.69
2.26
2.30
Apr95
-3.81
-4.23
-7.11
-4.27
-5.18
-5.41
2.14
0.17
May95
-4.05
-5.60
-8.14
-0.92
-5.88
-3.93
2.77
-1.11
Jun95
-4.10
-3.64
-8.87
0.10
-4.65
-4.15
2.90
-2.44
Jul95
-4.76
-3.76 -10.06
1.99
-1.23
-5.06
3.44
-3.67
Aug95
-8.69
-3.89
-9.86
4.85
-2.49
-5.41
3.63
-3.59
Sep95
-8.73
-3.63 -12.24
0.70
-4.33
-6.28
3.38
-4.04
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
246
Oct95 -11.11
-3.23 -12.10
-7.38
-4.74
-8.34
3.21
-5.57
Nov95 -11.79
-4.30 -11.53
-8.93
-4.90
-7.27
3.60
-5.69
Dec95 -12.10
-5.56 -11.12 -13.11
-5.57
-8.78
2.13
-9.38
VAR - seasonally differenced data percentage errors
Date
il
in
ky
mi
oh
pa
tn
wv
Jan95
-6.53
-0.52
-3.75
3.41
-1.49
-0.06
3.86
0.05
Feb95
-4.35
1.75
-6.29
0.35
-3.53
-2.76
4.46
2.56
Mar95
-1.12
2.61
-6.83
1.53
-2.72
2.24
2.96
3.97
Apr95
-0.38
-2.36
-7.03
-4.30
-1.28
0.70
5.55
2.73
May95
0.98
-5.05
-3.90
-4.65
-1.18
2.02
6.49
-0.43
Jun95
-0.73
-2.55
-2.04
-0.30
2.30
0.81
3.96
-1.44
Jul95
-1.41
-0.36
-1.69
0.79
4.83
-0.06
7.68
-4.24
Aug95
-3.36
2.36
-1.78
7.99
4.86
-1.07
8.75
-3.38
Sep95
-3.19
3.47
-3.26
6.91
2.31
-1.44
8.30
-3.02
Oct95
-2.74
3.27
-2.88
-2.14
2.92
-0.73
9.00
0.08
Nov95
-2.47
1.54
-2.63
-5.23
4.33
0.36
9.02
0.64
Dec95
-1.35
0.48
-3.53
-7.89
4.38
1.33
7.03
-3.92
It is alsopossible to build models that produce forecasts that \feed-in" to
another model as deterministic variables. For example, suppose we wished
to use national employment in the primary metal industry (SIC 33) as a
deterministic variable in our model for primary metal employment in the
eight states. The following program shows how to accomplish this.
% ----- Example 6.12 Forecasting multiple related models
dates = cal(1982,1,12); % data starts in 1982,1
y=load('sic33.states'); % industry sic33 employment for 8 states
[nobs neqs] = size(y);
load sic33.national;
% industry sic33 national employment
ndates = cal(1947,1,12);% national data starts in 1947,1
begs = ical(1982,1,ndates); % find 1982,1 for national data
ends = ical(1996,5,ndates); % find 1996,5 for national data
x = sic33(begs:ends,1); % pull out national employment in sic33
% for the time-period corresponding to
% our 8-state sample
begf = ical(1990,1,dates); % begin forecasting date
endf = ical(1994,12,dates); % end forecasting date
nfor = 12;
% forecast 12-months-ahead
nlag = 6;
xerror = zeros(nfor,1);
yerror = zeros(nfor,neqs);
cnt = 0; % counter for the # of forecasts we produce
for i=begf:endf % loop over dates producing forecasts
xactual = x(i:i+nfor-1,1); % actual national employment
yactual = y(i:i+nfor-1,:); % actual state employment
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
247
% first forecast national employment in sic33
xfor = varf(x,nlag,nfor,i); % an ar(6) model
xdet = [x(1:i-1,1)
% actual national data up to forecast period
xfor
];
% forecasted national data
% do state forecast using national data and forecast as input
yfor = varf(y,nlag,nfor,i,xdet);
% compute forecast percentage errors
xerror = xerror + abs((xactual-xfor)./xactual);
yerror = yerror + abs((yactual-yfor)./yactual);
cnt = cnt+1;
end; % end loop over forecasting experiment dates
% compute mean absolute percentage errors
xmape = xerror*100/cnt; ymape = yerror*100/cnt;
% printout results
in.cnames = strvcat('national','il','in','ky','mi','oh','pa','tn','wv');
rnames = 'Horizon';
for i=1:12; rnames = strvcat(rnames,[num2str(i),'-step']); end;
in.rnames = rnames;
in.fmt = '%6.2f';
fprintf(1,'national and state MAPE percentage forecast errors \n');
fprintf(1,'based on %d 12-step-ahead forecasts \n',cnt);
mprint([xmape ymape],in);
Our model for national employment in SIC33 is simply an autoregressive
model with 6 lags, but the same approach would work for a matrix X of
deterministic variables used in place of the vector in the example. We can
also provide for a number of deterministic variables coming from a variety
of models that are input into other models, not unlike traditional structural
econometric models. The program produced the following output.
national and state MAPE percentage forecast errors
based on 60 12-step-ahead forecasts
Horizon national
il
in
ky
mi
oh
pa
tn
wv
1-step
0.27
0.70
0.78
1.00
1.73
0.78
0.56
0.88
1.08
2-step
0.46
1.02
1.10
1.15
1.95
1.01
0.78
1.06
1.58
3-step
0.68
1.22
1.26
1.39
2.34
1.17
1.00
1.16
1.91
4-step
0.93
1.53
1.45
1.46
2.81
1.39
1.25
1.35
2.02
5-step
1.24
1.84
1.63
1.74
3.27
1.55
1.57
1.53
2.10
6-step
1.55
2.22
1.70
2.05
3.41
1.53
1.81
1.64
2.15
7-step
1.84
2.62
1.59
2.24
3.93
1.68
1.99
1.76
2.49
8-step
2.21
3.00
1.56
2.34
4.45
1.82
2.10
1.89
2.87
9-step
2.55
3.30
1.59
2.58
4.69
1.93
2.33
1.99
3.15
10-step
2.89
3.64
1.74
2.65
5.15
2.08
2.51
2.12
3.39
11-step
3.25
3.98
1.86
2.75
5.75
2.29
2.70
2.27
3.70
12-step
3.60
4.36
1.94
2.86
6.01
2.40
2.94
2.23
3.96
Consider that it would be quite easy to assess the contribution of using
national employment as a deterministic variable in the model by running
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
248
another model that excludes this deterministic variable.
As a nal example, consider an experiment where we wish to examine
the impact of using dierent numbers of error correction variables on the
forecast accuracy of the EC model. Shoesmith (1995) suggests that one
should employ the number of error correction variables associated with the
Johansen likelihood ratio statistics, but he provides only limited evidence
regarding this contention.
The experiment uses time-series on national monthly employment from
12 manufacturingindustries coveringthe period1947,1to 1996,12. Forecasts
are carried out over the period from 1970,1 to 1995,12 using the number
of error correction terms suggested by the Johansen likelihood ratio trace
statistics, as well as models based on +/-1 and +/-2 error correction terms
relative to the value suggested by the trace statistic.
We then compare the relative forecast accuracy of these models by exam-
ining the ratio of the MAPE forecast error from the models with +/-1 and
+/-2 terms to the errors from the model based on r relationships suggested
by the trace statistic.
Here is the program code:
% ----- Example 6.13 comparison of forecast accuracy as a function of
%
the # of co-integrating vectors used
load level.mat;
% 20 industries national employment
y = level(:,1:12);
% use only 12 industries
[nobs neqs] = size(y);
dates = cal(1947,1,12);
begf = ical(1970,1,dates); % beginning forecast date
endf = ical(1995,12,dates); % ending forecast date
nfor = 12;
% forecast horizon
nlag = 10; cnt = 1;
% nlag based on lrratio() results
for i=begf:endf;
jres = johansen(y,0,nlag); trstat = jres.lr1; tsignf = jres.cvt;
r = 0;
for j=1:neqs; % find r indicated by trace statistic
if trstat(j,1) > tsignf(j,2), r = j; end;
end;
% set up r-1,r-2 and r+1,r+2 forecasts in addition to forecasts based on r
if (r >= 3 & r <=10)
frm2 = ecmf(y,nlag,nfor,i,r-2); frm1 = ecmf(y,nlag,nfor,i,r-1);
fr
= ecmf(y,nlag,nfor,i,r);
frp1 = ecmf(y,nlag,nfor,i,r+1);
frp2 = ecmf(y,nlag,nfor,i,r+2); act = y(i:i+nfor-1,1:12);
% compute forecast MAPE
err(cnt).rm2 = abs((act-frm2)./act); err(cnt).rm1 = abs((act-frm1)./act);
err(cnt).r
= abs((act-fr)./act);
err(cnt).rp1 = abs((act-frp1)./act);
err(cnt).rp2 = abs((act-frp2)./act); cnt = cnt+1;
else
fprintf(1,'time %d had %d co-integrating relations \n',i,r);
CHAPTER 6. VAR AND ERROR CORRECTION MODELS
249
end; % end if-else; end; % end of loop over time
rm2 = zeros(12,12); rm1 = rm2; rm0 = rm2; rp1 = rm2; rp2 = rm2;
for i=1:cnt-1;
rm2 = rm2 + err(i).rm2; rm1 = rm1 + err(i).rm1;
rm0 = rm0 + err(i).r;
rp1 = rp1 + err(i).rp1;
rp2 = rp2 + err(i).rp2;
end;
rm2 = rm2/(cnt-1);
rm1 = rm1/(cnt-1);
rm0 = rm0/(cnt-1);
rp1 = rp1/(cnt-1);
rp2 = rp2/(cnt-1);
rnames = 'Horizon'; cnames = [];
for i=1:12;
rnames = strvcat(rnames,[num2str(i),'-step']);
cnames = strvcat(cnames,['IND',num2str(i)]);
end;
in.rnames = rnames; in.cnames = cnames; in.fmt = '%6.2f';
fprintf(1,'forecast errors relative to error by ecm(r) model \n');
fprintf(1,'r-2 relative to r \n');
mprint(rm2./rm0,in);
fprintf(1,'r-1 relative to r \n');
mprint(rm2./rm0,in);
fprintf(1,'r+1 relative to r \n');
mprint(rp1./rm0,in);
fprintf(1,'r+2 relative to r \n');
mprint(rp2./rm0,in);
The programcode stores the individual MAPE forecast errors ina struc-
ture variableusing: err(cnt).rm2= abs((actual-frm2)./actual);, which
will have elds for the errors from all ve models. These elds are matrices
of dimension 12 x 12, containing MAPE errors for each of the 12-step-ahead
forecasts for time cnt and for each of the 12 industries. We are not re-
ally interested in these individual results, but present this as an illustration.
As part of the illustration, we show how to access the individual results to
compute the average MAPE errors for each horizon and industry. If you
wished to access industry number 2's forecast errors based on the model us-
ing r co-integrating relations, for the rst experimental forecast period you
would use: err(1).rm(:,2). The results from our experiment are shown
below. These results represent an average over a total of 312 twelve-step-
ahead forecasts. Our simple MATLAB program produced a total of 224,640
forecasts, based on 312 twelve-step-ahead forecasts, for 12 industries, times
5models!
Our experiment indicates that using more than the r co-integrating re-
lationships determined by the Johansen likelihood trace statistic degrades
the forecast accuracy. This is clear from the large number of forecast error
ratios greater than unity for the two models based on r + 1 and r + 2 ver-
Documents you may be interested
Documents you may be interested