Determination of dynamic indicators. Applied program.
Costescu, Mihai-Radu
The analysis of chronological series presents some specific
elements. The characteristic indicators of the chronological series,
taking into account that the variable considered for keeping a track of
these indicators is the time, are known as well as indicators of
dynamics. These indicators can be divided into three groups: absolute,
relative and medium.
In the first group, we present the absolute benefit (deficit). It
is determined as the difference between absolute levels of one variable
of the series successively taken and an arbitrary level considered as
the basis of the comparison.
Two variants of this indicator are to be distinguished:
a) With fixed basis. Is calculated as the difference between the
absolute levels of the series and an arbitrary level which is maintained
constant. As referential level is usually used the initial level of the
series, symbolized with x0. The calculation formula is:
[[DELTA].sub.n/0] = [X.sub.n] - [X.sub.0],
that is:
[[DELTA].sub.1/0] = [X.sub.1] - [X.sub.0], [[DELTA].sub.2/0] =
[X.sub.2] - [X.sub.0], [[DELTA].sub.3/0] = [X.sub.3] - [X.sub.0], ...
The absolute benefit (deficit) with fixed basis highlights the
increase (+) or the decrease (-) of the absolute levels compared to the
level used as the basis for comparison.
b) With chain basis. Is calculated as the difference between each
level, successively taken, and its previous, using the formula:
[[DELTA].sub.n/n-1] = [X.sub.n] - [X.sub.n-1],
that is:
[[DELTA].sub.1/0] = [X.sub.1] - [X.sub.0], [[DELTA].sub.2/1] =
[X.sub.2] - [X.sub.1], [[DELTA].sub.3/2] = [X.sub.3] - [X.sub.2], ...
The absolute benefit (deficit) with chain basis highlights the
increase (+) or the decrease (-) of the levels of the series from one
period from another or from one moment to another.
By comparing the calculation formulas of the two variants, it
appears that:
[[DELTA].sub.n/0] = [summation] [[DELTA].sub.k/k-1].
In the group of the relative indicators we present the rate and the
dynamics rhythm.
The dynamics rate is calculated as the ratio between the absolute
levels, successively taken and an arbitrary level used as the basis for
comparison.
In the case of this indicator, two variants are to be
distinguished, as well:
a) With fixed basis. Is calculated as the ratio between the
absolute levels and an arbitrary level maintained constant, using the
formula:
[I.sub.n/0] = [x.sub.n]/[x.sub.0]
that is:
[I.sub.1/0] = [x.sub.1]/[x.sub.0], [I.sub.2/0] =
[x.sub.2]/[x.sub.0], [I.sub.3/0] = [x.sub.3]/[x.sub.0]...
b) With chain basis. Is calculated as the ratio between each level,
successively taken, and its previous, using the formula:
[I.sub.n/n-1] = [x.sub.n]/[x.sub.n-1]
that is:
[I.sub.1/0] = [x.sub.1]/[x.sub.0], [I.sub.2/1] =
[x.sub.2]/[x.sub.1], [I.sub.3/2] = [x.sub.3]/[x.sub.2] ...
By comparing the two calculation formulas, it appears that:
[I.sub.n/0] = [PI][I.sub.k/k-1].
The dynamics rates can be expressed in percentages, as well.
The dynamics rhythm has, in its turn, two variants:
a) With fixed basis, calculated with the formula:
[R.sub.n/0] = ([I.sub.n/0] - 1). 100
or, by developing:
[R.sub.n/0] = ([I.sub.n/0] -1) x 100 = [x.sub.n] -
[x.sub.0]/[x.sub.0] x 100 = [[DELTA].sub.n/0]/[x.sub.0] x 100.
b) With chain basis, which has, basically, the same calculation
methodology, except that, in its calculation, the indicators with chain
basis are used:
[R.sub.n/n-1] = ([I.sub.n/n-1] - 1) x 100,
or:
[R.sub.n/-1] = [[DELTA].sub.n/n-1]/[x.sub.n-1] x 100
The dynamics rhythm is expressed exclusively in percentages and
highlights the increase (+) or the decrease (-) of or the levels of a
phenomenon, in percentages.
Finally, the third group, medium indicators, is divided into two
subgroups:
a) Absolute medium indicators, including: a1) The average of the
absolute levels.
If the chronological series is of intervals, the average is
calculated as an arithmetic mean.
If the chronological series is of moments of time, the medium level
is calculated as a chronological average; if the intervals between the
moments are equal, then the simple chronological average is used; if the
intervals between the moments are not equal, then the weighted
chronological mean is used.
The calculation of the chronological average presupposes:
I. The calculation of mobile averages, as arithmetic means of two
consecutive terms, from which one is repeated:
[[bar.x].sub.1] = [x.sub.1] + [x.sub.2]/2; [bar.[x.sub.2]] =
[x.sub.2] + [x.sub.3]/2; [bar.[x.sub.3]] = [x.sub.3] + [x.sub.4]/2;...
[[bar.x].sub.n-1] = [x.sub.n-1] + [x.sub.n]/2;
II. Calculation of the chronological average:
1. as simple arithmetic mean of mobile averages, if the intervals
between the moments are equal:
[[bar.x].sub.c] = [[bar.x].sub.1] + [[bar.x].sub.2] +
[[bar.x].sub.3] + ... + [bar.x].sub.n-1]/n-1
2. as weighted arithmetic mean of mobile averages, the weights
being the intervals between the moments, if these intervals are
different:
[[bar.x].sub.c] = [[bar.x].sub.1]] x [t.sub.1] + [[bar.x].sub.2]] x
[t.sub.2] + [[bar.x].sub.3]] x [t.sub.3] + ... + [[bar.x].sub.n-1]] x
[t.sub.n-1]/[t.sub.1] + [t.sub.2] + [t.sub.3] + ... + [t.sub.n-1]
a. 2) The medium benefit determined as a simple arithmetic mean of
the benefits with chain basis:
[bar.[DELTA]] = [summation][[DELTA].sub.k/k-1]/n sau [bar.[DELTA]]
= [[DELTA].sub.n/0]/n.
b) Relative medium indicators, including:
b. 1) The dynamics medium rate:
[bar.I] = [nth root of [PI][I.sub.k/k-1]] = [nth root of
[I.sub.n/0]].
b.2) The dynamics minimum rhythm:
[bar.R] = ([bar.I] - 1) x 100.
The medium rhythm is expressed exclusively in percentages.
In order to determinate these indicators, a Turbo Pascal procedure
has been realized, easy to attach to a program, presented below.
procedure indicatorii_dinamicii;
type vect=array[1..20] of real;
var dbf,ibf,rbf,dbl,ibl,rbl,val,t,medm:vect;
dmed,imed,rmed,med:real;
raspuns:char;
i,n,eps:integer;
procedure citire(var eps,n:integer;var val,t:vect);
var k:integer;
begin {procedure citire}
eps:=0;
write('Introduceti numarul valorilor din sir: ');
readln(n);
for k:=1 to n do
begin
write('v(',k,') = ');
readln(val[k]);
end;
write('Seria este de momente de timp (y/n)?');
readln(raspuns);
if raspuns = 'y'
then
begin
write('Intervalele dintre momente sunt egale (y/n)?');
readln(raspuns);
if raspuns = 'n'
then
begin
for k:=1 to n-1 do
begin
write('intervalul ',k,' = ');
readln(t[k]);
end;
eps:=1;
end;
end;
end;{procedure citire}
procedure scriere(n:integer;dbf,ibf,rbf,dbl,ibl,rbl:vect);
var i:integer;
begin {procedure scriere}
writeln;
writeln;
writeln('Indicatori cu baza fixa');
writeln('Sporuri/deficite');
for i:=1 to n-1 do
begin
write(' D',i+1,'/1 ');
end;
writeln;
for i:=1 to n-1 do
write(' ',dbf[i]:7:2,' ');
writeln;
writeln('Indici');
for i:=1 to n-1 do
begin
write(' ');
end;
writeln;
for i:=1 to n-1 do
write(' ',ibf[i]:7:2,' ');
writeln;
writeln('Ritmuri (%)');
for i:=1 to n-1 do
begin
write(' R',i+1,'/1 ');
end;
writeln;
for i:=1 to n-1 do
write(' ',rbf[i]:7:2,' ');
writeln;
writeln;
writeln('Indicatori cu baza mobila');
writeln('Sporuri/deficite');
for i:=1 to n-1 do
begin
write(' D',i+1,'/',i,' ');
end;
writeln;
for i:=1 to n-1 do
write(' ',dbl[i]:7:2,' ');
writeln;
writeln('Indici');
for i:=1 to n-1 do
begin
write(' ');
end;
writeln;
for i:=1 to n-1 do
write(' ',ibl[i]:7:2,' ');
writeln;
writeln('Ritmuri (%)');
for i:=1 to n-1 do
begin
write(' R',i+1,'/',i,' ');
end;
writeln;
for i:=1 to n-1 do
write(' ',rbl[i]:7:2,' ');
writeln;
writeln;
end; {procedure scriere}
function media_ponderata(n:integer;val,t:vect):real;
var k:integer;
sum,ttot:real;
medmob:vect;
begin {function media_ponderata}
sum:=0;
ttot:=0;
for k:=1 to n-1 do
begin
medmob [k]:=(val [k] +val [k+1])/2;
sum:sum+medmob[k]*t[k];
ttot:=ttot+t[k];
end;
media_ponderata:=sum/ttot;
end;{function media_ponderata}
function media(n:integer;val:vect):real;
var k:integer;
sum:real;
medmob:vect;
begin {function media}
sum:=0;
for k:=1 to n-1 do
begin
medmob [k]:=(val [k] +val [k+1])/2;
sum:sum+medmob[k]*t[k];
end;
media:=sum/(n-1);
end;{function media}
begin {procedure indicatorii_dinamicii}
citire(eps,n,val,t);
for i:=2 to n do
begin
dbf[i-1]:=val[i]-val[1];
ibf[i-1]:=val[i]/val[1];
rbf[i-1]:=(ibf[i-1]-1)*100;
end;
for i:=2 to n do
begin
dbl[i-1]:=val[i]-val[i-1];
ibl[i-1]:=val[i]/val[i-1];
rbl[i-1]:=(ibl[i-1]-1)*100;
end;
scriere(n,dbf,ibf,rbf,dbl,ibl,rbl);
dmed:=dbf[n-1]/(n-1);
imed:=exp(ln(ibf[n-1])/(n-1));
rmed:=(imed-1)*100;
if eps = 1 then med:=media_ponderata(n,val,t)
else med:=media(n,val);
writeln;
writeln(' Media = ',med:7:2);
writeln(' Sporul/deficitul mediu al dinamicii = ',dmed:7:2);
writeln(' Indicele mediu al dinamicii = ',imed:7:2);
writeln(' Ritmul mediu al dinamicii = ',rmed:7:2);
end;{procedure indicatorii_dinamicii}
Bibliography:
1. Costescu, M.R., Vasilescu, N., Ionascu, C., Statistica si
elemente de teoria sondajului. Editia a II a revizuita si imbunatatita
(Statistics and survey theory elements. Edition II revised and
improved), Universitaria Publishing House, Craiova, 2001
2. Costescu, M.R., Ionascu, C., Prelucrarea electronica a
informatiei (Information electronic processing), Universitaria
Publishing House, Craiova, 2001.
Mihai-Radu COSTESCU, University of Craiova, Faculty of Social
Sciences, Political Sciences Specialization
Email: cmihairadu@yahoo.com