<< Chapter < Page | Chapter >> Page > |
japprox.m Assumes discrete setup and calculates basic quantities for a pair of random variables as in jsimple. Plots the regression line and regression curve.
% JAPPROX file japprox.m Basic quantities for ac pair {X,Y}
% Version of 5/7/96% Assumes tuappr has set X, Y, PX, PY, t, u, P
EX = total(t.*P) % E[X]EY = total(u.*P) % E[Y]
EX2 = total(t.^2.*P) % E[X^2]EY2 = total(u.^2.*P) % E[Y^2]
EXY = total(t.*u.*P) % E[XY]VX = EX2 - EX^2 % Var[X]
VY = EY2 - EY^2 % Var[Y]cv = EXY - EX*EY; % Cov[X,Y] = E[XY]- E[X]E[Y]if abs(cv)>1e-9 % to prevent roundoff error masking zero
CV = cvelse
CV = 0end
a = CV/VX % regression line of Y on X isb = EY - a*EX % u = at + b
R = CV/sqrt(VX*VY);disp(['The regression line of Y on X is: u = ',num2str(a),'t + ',num2str(b),])disp(['The correlation coefficient is: rho = ',num2str(R),])disp(' ')
eY = sum(u.*P)./sum(P); % eY(t) = E[Y|X = t]RL = a*X + b;
plot(X,RL,X,eY,'-.')grid
title('Regression line and Regression curve')xlabel('X values')
ylabel('Y values')legend('Regression line','Regression curve')
clear eY % To conserve memoryclear RL
disp('Calculate with X, Y, t, u, P, as in joint simple case')
mgsum.m
function [z,pz] = mgsum(x,y,px,py)
determines the distribution for
the sum of an independent pair of simple random variables from their distributions.
function [z,pz] = mgsum(x,y,px,py)% MGSUM [z,pz] = mgsum(x,y,px,py) Sum of two independent simple rv% Version of 5/6/96
% Distribution for the sum of two independent simple random variables% x is a vector (row or column) of X values
% y is a vector (row or column) of Y values% px is a vector (row or column) of X probabilities
% py is a vector (row or column) of Y probabilities% z and pz are row vectors
[a,b]= meshgrid(x,y);
t = a+b;[c,d] = meshgrid(px,py);p = c.*d;
[z,pz]= csort(t,p);
mgsum3.m
function [w,pw] = mgsum3(x,y,z,px,py,pz)
extends mgsum to three
random variables by repeated application of mgsum. Similarly for mgsum4.m.
function [w,pw] = mgsum3(x,y,z,px,py,pz)% MGSUM3 [w,pw] = mgsum3(x,y,z,px,py,y) Sum of three independent simple rv% Version of 5/2/96
% Distribution for the sum of three independent simple random variables% x is a vector (row or column) of X values
% y is a vector (row or column) of Y values% z is a vector (row or column) of Z values
% px is a vector (row or column) of X probabilities% py is a vector (row or column) of Y probabilities
% pz is a vector (row or column) of Z probabilities% W and pW are row vectors
[a,pa]= mgsum(x,y,px,py);
[w,pw]= mgsum(a,z,pa,pz);
mgnsum.m
function [z,pz] = mgnsum(X,P)
determines the distribution for a sum
of
n independent random variables.
X an
n -row matrix of
X -values and
P an
n -row matrix
of
P -values (padded with zeros, if necessary, to make all rows the same length.
function [z,pz] = mgnsum(X,P)% MGNSUM [z,pz] = mgnsum(X,P) Sum of n independent simple rv% Version of 5/16/96
% Distribution for the sum of n independent simple random variables% X an n-row matrix of X-values
% P an n-row matrix of P-values% padded with zeros, if necessary
% to make all rows the same length[n,r] = size(P);z = 0;
pz = 1;for i = 1:n
x = X(i,:);p = P(i,:);x = x(find(p>0));
p = p(find(p>0));
[z,pz]= mgsum(z,x,pz,p);
end
Notification Switch
Would you like to follow the 'Applied probability' conversation and receive update notifications?