.


:




:

































 

 

 

 


. (X, Y), :




(X, Y), : . n = 425 , .

. grand. :

. .

:

:

:

.

:

0.1437882

- 3.6484266

11.680413

3.5600119

=0.5259053

 

:

 

0.1062118

0.0515734

0.9804133

1.4399881

0.0659053

(X, Y). X Y.

χ2. , , 5 .

.

 

  [-9.6565917; -0.0531472)   0.4715789
  [-0.0531472; 1.8675417)   0.2315789
  [1.8675417; 3.7882306)   0.1621053
  [3.7882306; 9.550273)   0.1347368

 

  [-9.2029762; -3.7562468)   0.4673684
  [-3.7562468; -2.6669009)   0.2442105
  [-2.6669009; 1.6904826)   0.2884211

 

2.1.1.

 

. , .

 

     
       
       
       
       

 

χ2 :

,

K, L X Y ;
ν ;
νX, νY X Y .

84.445194

 

, (1-α)- .

, 43.082788

, , X Y .

.

 

:

, .

, T = 13.447507

, .. - (n-2), =2.576

, , X Y .

(X, Y), , X Y Y X.

Y X X Y :

, , .

, , , , , .


n, γ, α.

( , ..) . .

γ, , .. , .

α ( , ). , , ( , ). 0,05 0,01,


 

1. .. : . / . . -. , 1990.

2. .. . : . / . . -. , 1999.

3. .., .. . .: , 1982.

4. .., .. . : - , 1987.

5. .., .. / . .. .: -̻, 1998.


. 1

function [ x ]= model1 ()

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

for i=1:1:n

s=0;

for j=1:1:12

s=s+rand();

end

x (i)=((sigma^(1/2))*(s-6))+a;

end

endfunction

function [ y ]= f (x) // N(a,d)

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

y = (1/sqrt(2*%pi*sigma)) * exp(-(x -a)^2 / (2*sigma));

endfunction

 

function [ k, u, nu ]= drawHistogram (x) //

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

k = floor(1 + 3.32* log10 (n)) + 1; //

u = zeros(1, k +1); //

nu = zeros(1, k); //

 

//

u (1) = min(x);

u (k +1) = max(x);

du = (u (k +1) - u (1)) / k;

for i = 2: k,

u (i) = u (i-1) + du;

end;

disp(du);

//

for i = 1: n,

for j = 1: k -1,

if u (j)<= x (i) & x (i)< u (j+1),

nu (j) = nu (j)+1;

break;

end;

end;

if u (k)<= x (i) & x (i)<= u (k +1),

nu (k) = nu (k)+1;

end;

end;

 

h = zeros(1, k +2); //

p = zeros(1, k); //

uu = zeros(1, k +2); //

 

// , . - -

h(1) = 0;

h(k +2) = 0;

uu(1) = u (1) - du/2;

uu(k +2) = u (k +1) + du/2;

for i = 1: k,

p(i) = nu (i) / n;

uu(i+1) = (u (i) + u (i+1)) / 2;

h(i+1) = p(i) / du;

end;

 

disp(u,' ');

disp(nu,' ');

disp(p,' ');

disp(sum(nu),' ');

disp(sum(p),' ');

disp(h(2: k +1),' ');

disp(f (uu(2: k +1)),..

' -');

 

//

histplot (k, x, style=2, rect=[ u (1)-du, 0, u (k +1)+du, max(h)+0.02]);

//

x = [ u (1)-du: 0.0001: u (k +1)+du]; //

// ()

plot2d(uu, h, 1); // ()

plot2d(x, f (x), 5); // ()

endfunction

//x=model1();

//[k,u,nu]=drawHistogram(x);

//disp(' !');

 

function [ M, D ]= dispersion1 (x)

//

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

v=0;

for i=1:1:n

v=v+ x (i);

end

M =v/n;

k=0;

for i=1:1:n

k=k+(x (i))^2;

end

k=k/n;

D =k- M ^2;

 

endfunction

function []= dispersion2 (x)

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

[M,D]= dispersion1 (x);

sM=abs(a-M);

disp(sM,'|MX-teta1|')

sD=abs(sigma-D);

disp(sD, '|DX - teta2|');

ss2=n/(n-1)*D;

disp(M, ' .');

disp(ss2, ' ');

disp(abs(sigma-ss2), '|DX - s`^2|');

endfunction

function []= dispersion3 (x)

//

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

[M,D]= dispersion1 (x);

interv1=(n*D)/(((3.291+sqrt(2*n-1))^2)/2)

interv2=(n*D)/(((-3.291+sqrt(2*n-1))^2)/2)

interv3=M-(3.291*(sqrt(D)/sqrt(n-1)))

interv4=M+(3.291*(sqrt(D)/sqrt(n-1)))

printf (' (');

printf ('%f',interv1);

printf (' ');

printf ('%f',interv2);

printf (')\n');

printf (' . (');

printf ('%f',interv3);

printf (' ');

printf ('%f',interv4);

printf (')');

disp(M,'.');

disp(D,'');

 

endfunction

function []= stat (x)

n=475;

a=0.25;

sigma=10.7;

alpha=0.001;

gamma=0.999;

k = floor(1 + 3.32* log10 (n)) + 1; //

_u = zeros(1,k+1); //

_nu = zeros(1,k); //

u = zeros(1,k+1); //

nu = zeros(1,k); //

 

//

u(1) = min(x);

u(k+1) = max(x);

du = (u(k+1) - u(1)) / k;

for i = 2: k,

u(i) = u(i-1) + du;

end;

 

//

for i = 1: n,

for j = 1: k-1,

if u(j)<= x (i) & x (i)<u(j+1),

nu(j) = nu(j)+1;

break;

end;

end;

if u(k)<= x (i) & x (i)<=u(k+1),

nu(k) = nu(k)+1;

end;

end;

//

_u(1) = u(1);

i = 0; //

j = 0; //

while i<k,

j = j + 1;

while (_nu(j)<5 & i<k),

i = i + 1;

_nu(j) = _nu(j) + nu(i);

end;

_u(j+1)=u(i+1);

if (i==k & _nu(j)<5),

_nu(j-1)=_nu(j-1)+_nu(j);

_u(j) = _u(j+1);

_nu(j) = 0;

_u(j+1) = 0;

j = j - 1;

end;

end;

 

old_p = zeros(1,k); //

for i = 1: k,

old_p(i) = cdfnor("PQ", u(i+1), a, sqrt(sigma)) -..

cdfnor("PQ", u(i), a, sqrt(sigma));

end;

//disp(u,' ');

//disp(old_p,' ');

 

N = j; //disp(N, ' ');

_u = _u(1:N+1); //disp(_u, ' ');

_nu = _nu(1:N); //disp(_nu, ' ');

_p = _nu / n; //disp(_p, ' ');

 

//

[M,D]= dispersion1 (x);

p = zeros(1,N); //

pp = zeros(1,N); //

for i = 1: N,

p(i) = cdfnor("PQ", _u(i+1), a, sqrt(sigma)) -..

cdfnor("PQ", _u(i), a, sqrt(sigma));

pp(i) = cdfnor("PQ", _u(i+1), M, sqrt(D)) -..

cdfnor("PQ", _u(i), M, sqrt(D));

end;

 

//disp(p, ' ');

//disp(pp, ' ( )');

//disp(sum(_nu),' ');

//disp(sum(_p),' ');

 

function [ ans ]= stat (N, u, p) // hi^2

ans = 0;

for i = 1: N,

ans = ans + (_nu(i)-n* p (i))^2 / (n* p (i));

end

endfunction

 

hi_2_alpha_0_99 =.. // hi^2..

.. // alpha = 0.99; n <= 10..

[ 6.635, 9.210, 11.345, 13.277, 15.086,..

16.812, 18.475, 20.090, 21.666, 23.209]';

 

h = hi_2_alpha_0_99(N - 1); // ïîðîã

r = 2; //

hh = hi_2_alpha_0_99(N - 1 - r);

 

t = stat (N,_u,p);

if t >= h,

disp([t,h],..

' : (t >= h)');

else

disp([t,h],..

' : (t < h)');

end;

tt = stat (N,_u,pp);

if tt >= hh,

disp([tt,hh],..

' : (t >= h)');

else

disp([tt,hh],..

' : (t < h)');

end;

endfunction


 

. 2

function [ x ]= model2 ()

a=2;

b=-4;

alpha=0.05;

n=400;

gamma=0.95;

for i=1:1:n

U=rand();

if (U<0.5) then x (i)=(((b-a)*U)/b)^(1/a);

else x (i)=(((b-a)*(U-1))/a)^(1/b);

end

end

endfunction

function [ y ]= ff (x)

a=2;

b=-4;

alpha=0.05;

n=400;

gamma=0.95;

if ((x >=0)&(x <1)) then y =(a*b* x ^(a-1))/(b-a);

else

if (1<= x) then y =((a*b)* x ^(b-1))/(b-a);

else y =0;

end

end

endfunction

function []= drawHistogram2 (x) //

a=2;

b=-4;

alpha=0.05;

n=400;

gamma=0.95;

k = floor(1 + 3.32* log10 (n)) + 1; //

u = zeros(1,k+1); //

nu = zeros(1,k); //

 

//

u(1) = min(x);

u(k+1) = max(x);

du = (u(k+1) - u(1)) / k;

for i = 2: k,

u(i) = u(i-1) + du;

end;

 

//

for i = 1: n,

for j = 1: k-1,

if u(j)<= x (i) & x (i)<u(j+1),

nu(j) = nu(j)+1;

 

break;

end;

end;

if u(k)<= x (i) & x (i)<=u(k+1),

nu(k) = nu(k)+1;

end;

end;

 

h = zeros(1,k+2); //

p = zeros(1,k); //

uu = zeros(1,k+2); //

 

// , . - -

h(1) = 0;

h(k+2) = 0;

uu(1) = u(1) - du/2;

uu(k+2) = u(k+1) + du/2;

for i = 1: k,

p(i) = nu(i) / n;

uu(i+1) = (u(i) + u(i+1)) / 2;

h(i+1) = p(i) / du;

end;

 

disp(u,' ');

disp(nu,' ');

disp(p,' ');

disp(sum(nu),' ');

disp(sum(p),' ');

disp(h(2:k+1),' ');

disp(ff (uu(2:k+1)),..

' ');

 

//

histplot (k, x, style=2, rect=[u(1)-du, 0, u(k+1)+du, max(h)+0.02]);

//

x = [u(1)-du: 0.0001: u(k+1)+du]; //

// ()

disp(k);

plot2d(uu, h, 1); // ()

plot2d(x, ff (x),5);

// ()

endfunction

function [ M, D ]= dispersion21 (x)

a=2;

b=-4;

alpha=0.05;

n=400;

gamma=0.95;

k=0;

for i=1:n

k=k+ x (i);

end

c=0;

for j=1:n

c=c+(x (i))^2;

end

M =k/n;

D =(c/n)- M ^2;

endfunction

function []= dispersion22 (x)

a=2;

alpha=0.05;

n=400;

gamma=0.95;

[M,D]= dispersion21 (x);

b=(M*a+M)/(a-M*a-M)

db=abs(-4-b);

disp(db, '|b-b|');

 

endfunction

function []= dispersion23 (x)

//

a=2;

alpha=0.05;

n=400;

gamma=0.95;

[M,D]= dispersion21 (x);

interv1=(n*D)/(((2.807+sqrt(2*n-1))^2)/2)

interv2=(n*D)/(((-2.807+sqrt(2*n-1))^2)/2)

interv3=M-(1.960*(sqrt(D)/sqrt(n-1)))

interv4=M+(1.960*(sqrt(D)/sqrt(n-1)))

printf (' (');

printf ('%f',interv1);

printf (' ');

printf ('%f',interv2);

printf (')\n');

printf (' . (');

printf ('%f',interv3);

printf (' ');

printf ('%f',interv4);

printf (')');

disp(M,'.');

disp(D,'');

 

endfunction

function []= stat2 (x)

a=2;

alpha=0.05;

n=400;

gamma=0.95;

k = floor(1 + 3.32* log10 (n)) + 1;

u = zeros(1,k+1); //

nu = zeros(1,k); //

 

//

u(1) = min(x);

u(k+1) = max(x);

du = (u(k+1) - u(1)) / k;

for i = 2: k,

u(i) = u(i-1) + du;

end;

 

//

for i = 1: n,

for j = 1: k-1,

if u(j)<= x (i) & x (i)<u(j+1),

nu(j) = nu(j)+1;

break;

end;

end;

if u(k)<= x (i) & x (i)<=u(k+1),

nu(k) = nu(k)+1;

end;

end;

_u = zeros(1,k+1); //

_nu = zeros(1,k); //

 

//

_u(1) = u(1);

i = 0; // c

j = 0; //

while i<k,

j = j + 1;

while (_nu(j)<5 & i<k),

i = i + 1;

_nu(j) = _nu(j) + nu(i);

end;

_u(j+1)=u(i+1);

if (i==k & _nu(j)<5),

_nu(j-1)=_nu(j-1)+_nu(j);

_u(j) = _u(j+1);

_nu(j) = 0;

_u(j+1) = 0;

j = j - 1;

end;

end;

 

function [ y ]= F (x) //

// a=teta1, b=teta2

a=-3;

b=1;

alpha=0.05;

n=450;

gamma=0.95;

if ((x >=0)&(x <1)), y = (b/(b-a))* x ^a;

else, if x >=1, y = 1+(a/(b-a))* x ^b;

else, y =0;

end;

end;

endfunction

 

old_p = zeros(1,k); // .

for i = 1: k,

old_p(i) = F (u(i+1)) - F (u(i));

end;

disp(u,' ');

disp(old_p,'. ');

 

N = j; disp(N, ' ');

_u = _u(1:N+1); disp(_u, ' ');

_nu = _nu(1:N); disp(_nu, ' ');

_p = _nu / n; disp(_p, ' . ');

 

//

p = zeros(1,N);

for i = 1: N,

p(i) = F (_u(i+1)) - F (_u(i));

end;

 

disp(p, ' ');

disp(sum(_nu),' ');

disp(sum(_p),' . ');

 

function [ ans ]= stat (N, u, p) // hi^2

ans = 0;

for i = 1: N,

ans = ans + (_nu(i)-n* p (i))^2 / (n* p (i));

end

endfunction

 

hi_2_alpha_0_98 =.. // hi^2..

.. // alpha = 0.98; n <= 10..

[ 5.412, 7.824, 9.837, 11.668, 13.388,..

15.033, 16.622, 18.168, 19.679, 21.161]';

 

r = 2; //

h = hi_2_alpha_0_98(N - 1 - r); //

 

t = stat (N,_u,p);

disp(' ');

if t >= h,

disp([t,h],..

' (t >= h)');

else

disp([t,h],..

' (t < h)');

end;


 

 

. 3

function []= model3 ();

n = 475; disp(n, ' ');

ax = 0.25; disp(ax, '. X');

dx = 10.7; disp(dx, ' X');

ay = -3.7; disp(ay, '. Y');

dy = 5.0; disp(dy, ' Y');

rxy = 0.46; disp(rxy, ' ');

alpha = 0.001; disp(alpha, ' ');

gamma=0.999;

function [ y ]= f (x, a, d) // N(a,d)

y = (1/sqrt(2*%pi* d)) * exp(-(x - a)^2 / (2* d));

endfunction

 

// X~N(ax,dx) Y~N(ay,dy)

Z1 = grand(1,n,'nor',0,1);

Z2 = grand(1,n,'nor',0,1);

B = [sqrt(dx), 0;..

rxy*sqrt(dy), sqrt(dy*(1-rxy))..

]; //

X = B(1,1)*Z1 + ax;

Y = B(2,1)*Z1 + B(2,2)*Z2 + ay;

 

//------------------------------------------------------

disp('');

disp(' 3.1');

 

xsr = mean (X);

disp(xsr, ' X');

disp(abs(ax-xsr),'|MX - x()|');

ysr = mean (Y);

disp(ysr, ' Y');

disp(abs(ay-ysr),'|MY - y()|');

sx2 = mean (X^2) - xsr^2;

disp(sx2, ' X');

disp(abs(dx-sx2),'|DX - sx^2|');

sy2 = mean (Y^2) - ysr^2;

disp(sy2, ' Y');

disp(abs(dy-sy2),'|DY - sy^2|');

xysr=0; for i=1:n, xysr=xysr+X(i)*Y(i); end;

r_xy = (xysr/n - xsr*ysr) / sqrt(sx2*sy2);

disp(r_xy, ' ');

disp(abs(rxy-r_xy),'|rxy - r^xy|');

 

//------------------------------------------------------

disp('');

disp(' 3.2');

 

k = floor(1 + 3.32* log10 (n)) + 1;

disp(k, ' ');

ux = zeros(1,k+1); // X

uy = zeros(1,k+1); // Y

nux = zeros(1,k); // X

nuy = zeros(1,k); // Y

nuxy = zeros(k,k); //

 

//

ux(1) = min(X);

ux(k+1) = max(X);

uy(1) = min(Y);

uy(k+1) = max(Y);

dux = (ux(k+1) - ux(1)) / k;

duy = (uy(k+1) - uy(1)) / k;

for i = 2: k,

ux(i) = ux(i-1) + dux;

uy(i) = uy(i-1) + duy;

end;

 

K = k; // X

L = k; // Y

 

function [ nux, nuy, nuxy ]= countFrequencies (ux, uy)

//

K = size(ux,2) - 1;

L = size(uy,2) - 1;

nux = zeros(1,K); // X

nuy = zeros(1,L); // Y

nuxy = zeros(K,L); //

for i = 1: n,

jx=0; jy=0;

for j = K: -1: 1, //

if ux (j)<=X(i) & X(i)<= ux (j+1),

nux (j) = nux (j)+1;

jx = j;

break;

end;

end;

for j = L: -1: 1, // Y

if uy (j)<=Y(i) & Y(i)<= uy (j+1),

nuy (j) = nuy (j)+1;

jy = j;

break;

end;

end;

nuxy (jx,jy) = nuxy (jx,jy) + 1;

end;

endfunction

 

[nux,nuy,nuxy] = countFrequencies (ux,uy);

 

disp(ux, ' X');

disp(nux, ' X');

disp(nux/n, '. X');

disp(uy, ' Y');

disp(nuy, ' Y');

disp(nuy/n, '. Y');

disp(nuxy, ' ');

disp(nuxy/n, '. ');

 

function [ ans, ii, jj ]= minInRect (nuxy)

// 5

ans = 5; //

ii =1; jj =1; //

[K,L] = size(nuxy);

for i = 1: K,

for j = 1: L,

if nuxy (i,j)< ans,

ans = nuxy (i,j);

ii = i;

jj = j;

return;

end;

end;

end;

endfunction

 

[min_in_rect,ii,jj] = minInRect (nuxy);

while min_in_rect < 5,

// , min >= 5

if ii==K, ii=K-1; end;

if jj==L, jj=L-1; end;

if K > L,

for i = ii+1: K,

ux(i) = ux(i+1);

end;

ux = ux(1:K);

K = K - 1;

else,

for j = jj+1: L,

uy(j) = uy(j+1);

end;

uy = uy(1:L);

L = L - 1;

end;

[nux,nuy,nuxy]= countFrequencies (ux,uy);

[min_in_rect,ii,jj] = minInRect (nuxy);

end;

 

disp(K, ' X');

disp(ux, ' X');

disp(nux, ' X');

disp(nux/n, ' . X');

disp(L, ' Y');

disp(uy, ' Y');

disp(nuy, ' Y');

disp(nuy/n, ' . Y');

disp(nuxy, ' ');

disp(nuxy/n, '. ');

 

px = zeros(1,K); // X

py = zeros(1,L); // Y

pxy = zeros(K,L); // .

 

for i = 1: K, px(i) = nux(i) / n; end;

for i = 1: L, py(i) = nuy(i) / n; end;

for i = 1: K, for j = 1: L,

pxy(i,j) = nux(i)*nuy(j) / n^2;

end; end;

 

// rxy

h = 2.576; // = (1-alpha)/2 -

// S(n-2)

t = (r_xy*sqrt(n-2)) / sqrt(1-r_xy^2); //

 

// hi^2

hh = cdfnor("X", (K-1)*(L-1), 2*(K-1)*(L-1),..

1-alpha, alpha); //

//hh = cdfnor("X", (K-1)*(L-1), 2*(K-1)*(L-1),..

// 1-alpha, alpha); //

st = 0;

for i = 1: K,

for j = 1: L,

st = st + (nuxy(i,j)^2) / (nux(i)*nuy(j));

end;

end;

st = n*(st - 1); //

 

disp(' rxy');

if abs(t) >= h,

disp([abs(t),h],..

' (|t| >= h)');

else

disp([abs(t),h],..

' (|t| < h)');

end;

disp(' hi^2');

if abs(st) >= hh,

disp([abs(st),hh],..

' (|t| >= h)');

else

disp([abs(st),hh],..

' (|t| < h)');

end;

 

//------------------------------------------------------

disp('');

disp(' 3.3');

 

function [ y ]= regrYtoX (x) // Y X

y = ysr + r_xy*sqrt(sy2/sx2)*(x -xsr);

endfunction

 

function [ x ]= regrXtoY (y) // X Y

x = xsr + r_xy*sqrt(sx2/sy2)*(y -ysr);

endfunction

 

x = [min(X)-1: 0.001: max(X)+1]; // X

y = [min(Y)-1: 0.001: max(Y)+1]; // Y

 

plot2d(X,Y,0); //

plot2d(x, regrYtoX (x),5); // - Y X

plot2d(regrXtoY (y),y,5); // - X Y

disp(' !');

 

endfunction

 





:


: 2017-02-25; !; : 477 |


:

:

, ; , .
==> ...

1743 - | 1505 -


© 2015-2024 lektsii.org - -

: 0.483 .