Identifying indicators of dynamics. Application Program.
Costescu, Mihai-radu
Time series analysis has some specific features. Characteristic
indicators to the series, considering the fact that time is that
variable that defines these indicators, are also known as indicators of
the dynamics. These indicators can be divided into three groups:
absolute, relative and average.
The first group represents the absolute growth or reduction, which
is determined as the difference between the absolute successive levels
of one of the variables of the series and a given level considered as a
basic level of comparison.
There are two variants of this indicator:
a) Fixed base. It is calculated as the difference between absolute
levels of the series and a certain level remained constant. The original
level of the series, symbolized by x0, is typically used as a
referential level. Relationship calculation is:
[[DELTA].sub.n/0] = [x.sub.n] - [x.sub.0],
that is:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
Fixed base growth or reduction shows the increase (+) or decrease
(-) to the absolute levels as a basis for comparison.
b) Base chain. It is calculated as the difference between each
successive level and its predecessor:
[[DELTA].sub.n/n-1 = [X.sub.n] - [x.sub.n-1],
that is:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
Base chain growth or reduction shows the increase (+) or decrease
(-) of the levels of the series from one period to another or from one
point to another.
Comparing the relations of the two variants of calculation, we can
see that:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
From the group of relative indicators we consider the index of
dynamics and the rate of dynamics.
Dynamic index is calculated as the ratio of absolute levels, taken
in succession, and a certain level considered as a basis for comparison.
In this case we can also see two variants:
a) Fixed base. It is calculated as the ratio of absolute levels and
a constant level using the relation:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
that is:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
b) Base chain. It is calculated as the ratio between each
successive level and its predecessor, using the relation:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
that is:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
Comparing the two relations, we can see that:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].
Dynamic indices can also be expressed as a percentage.
Growth rate is in turn two versions:
a) Fixed base, computed with:
[R.sub.n/0] = {[I.sub.n/0] - 1) x 100
or, more detailed:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].
b) Base chain, which mainly has the same calculation method, except
that, in its calculation, are used base chain indicators:
[R.sub.n/n-1] = {[I.sub.n/n-1] - 1) x 100,
or:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
Growth rate is expressed only as a percentage and shows the
increase (+) or decrease (-) levels of a phenomena.
Finally, the third group, the average indicators, is divided into
two groups:
a) Average absolute indicators, including:
a1) Average absolute levels
If the time series is expressed in periods of time, the average is
calculated as an arithmetic mean.
If the time series is expressed in moments of times, the average is
calculated as a chronological average; if the intervals between moments
are equal it is used the simple chronological average; if the intervals
between moments are not equal it is used a weighted chronological
average.
Chronological averaging involves:
> calculating mobile averages, as average of two consecutive
terms, one of which is repeating:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
> calculating chronological averages:
[check] as a simple arithmetic average of moving averages, if the
intervals between moments are equal:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
[check] as a weighted arithmetic average, where the weights are the
intervals between moments of times if these intervals are different:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
a. 2) The average growth as a simple arithmetic average of the
growths with base chain:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
b) Average relative indicators, including:
b. 1) Average index dynamics:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
b.2) The average rate of growth:
[bar.R] = {[bar.I] - 1) x 100.
The average is only expressed in percent.
To determine these indicators, a procedure easy to be attached to a
Turbo Pascal program was created.
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('I',i+1,'/1');
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('I',i+1,'/',i,'');
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,
Editura Universitaria, Craiova, 2001
2. Costescu, M.R., Ionascu, C., Prelucrarea electronica a
informatiei, Editura Universitaria, Craiova, 2001
Mihai-Radu COSTESCU,
University of Craiova,
Faculty of Social Sciences, Political Sciences Specialization
Email: cmihairadu@yahoo.com