<< Chapter < Page Chapter >> Page >

Quantile functions for bounded distributions

dquant.m function t = dquant(X,PX,U) determines the values of the quantile function for a simple random variable with distribution X , P X at the probability values in row vector U . The probability vector U is often determined by a random number generator.

function t = dquant(X,PX,U) % DQUANT t = dquant(X,PX,U) Quantile function for a simple random variable% Version of 10/14/95 % U is a vector of probabilitiesm = length(X); n = length(U);F = [0 cumsum(PX)+1e-12];F(m+1) = 1; % Makes maximum value exactly one if U(n)>= 1 % Prevents improper values of probability U U(n) = 1;end if U(1)<= 0 U(1) = 1e-9;end f = rowcopy(F,n); % n rows of Fu = colcopy(U,m); % m columns of U t = X*((f(:,1:m)<u)&(u<= f(:,2:m+1)))';
Got questions? Get instant answers now!

dquanplot.m Plots as a stairs graph the quantile function for a simple random variable X . The plot is the values of X versus the distribution function F X .

% DQUANPLOT file dquanplot.m Plot of quantile function for a simple rv % Version of 7/6/95% Uses stairs to plot the inverse of FX X = input('Enter VALUES for X ');PX = input('Enter PROBABILITIES for X '); m = length(X);F = [0 cumsum(PX)];XP = [X X(m)];stairs(F,XP) gridtitle('Plot of Quantile Function') xlabel('u')ylabel('t = Q(u)') hold onplot(F(2:m+1),X,'o') % Marks values at jumps hold off
Got questions? Get instant answers now!

dsample.m Calculates a sample from a discrete distribution, determines the relative frequencies of values, and compares with actual probabilities. Input consists of value andprobability matrices for X and the sample size n . A matrix U is determined by a random number generator, and the m-function dquant is used to calculate the corresponding sample values. Variousdata on the sample are calculated and displayed.

% DSAMPLE file dsample.m Simulates sample from discrete population % Version of 12/31/95 (Display revised 3/24/97)% Relative frequencies vs probabilities for % sample from discrete population distributionX = input('Enter row matrix of VALUES '); PX = input('Enter row matrix of PROBABILITIES ');n = input('Sample size n '); U = rand(1,n);T = dquant(X,PX,U); [x,fr]= csort(T,ones(1,length(T))); disp(' Value Prob Rel freq')disp([x; PX; fr/n]')ex = sum(T)/n; EX = dot(X,PX);vx = sum(T.^2)/n - ex^2; VX = dot(X.^2,PX) - EX^2;disp(['Sample average ex = ',num2str(ex),])disp(['Population mean E[X] = ',num2str(EX),]) disp(['Sample variance vx = ',num2str(vx),]) disp(['Population variance Var[X]= ',num2str(VX),])
Got questions? Get instant answers now!

quanplot.m Plots the quantile function for a distribution function F X . Assumes the procedure dfsetup or acsetup has been run. A suitable set U of probability values is determined and the m-function dquant is used to determine corresponding values of the quantile function. The results are plotted.

% QUANPLOT file quanplot.m Plots quantile function for dbn function % Version of 2/2/96% Assumes dfsetup or acsetup has been run % Uses m-function dquantX = input('Enter row matrix of values '); PX = input('Enter row matrix of probabilities ');h = input('Probability increment h '); U = h:h:1;T = dquant(X,PX,U); U = [0 U 1]; Te = X(m) + abs(X(m))/20;T = [X(1) T Te];plot(U,T) % Plot rather than stairs for general case gridtitle('Plot of Quantile Function') xlabel('u')ylabel('t = Q(u)')
Got questions? Get instant answers now!

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Applied probability. OpenStax CNX. Aug 31, 2009 Download for free at http://cnx.org/content/col10708/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Applied probability' conversation and receive update notifications?

Ask