Determine Dimensions Needed to Explain Nonrandom Data Variation
Generate a 20-by-6 matrix of random numbers from a multivariate normal distribution with mean
mu = [0 0] and covariance
sigma = [1 0.99; 0.99 1].
rng default % for reproducibility mu = [0 0]; sigma = [1 0.99; 0.99 1]; X = mvnrnd(mu,sigma,20); % columns 1 and 2 X(:,3:4) = mvnrnd(mu,sigma,20); % columns 3 and 4 X(:,5:6) = mvnrnd(mu,sigma,20); % columns 5 and 6
Determine the number of dimensions necessary to explain the nonrandom variation in data matrix
X. Report the significance values for the hypothesis tests.
[ndim, prob] = barttest(X,0.05)
ndim = 3
prob = 5×1 0.0000 0.0000 0.0000 0.5148 0.3370
The returned value of
ndim indicates that three dimensions are necessary to explain the nonrandom variation in
x — Input data
matrix of scalar values
Input data, specified as a matrix of scalar values.
alpha — Significance level
0.05 (default) | scalar value in the range
Significance level of the hypothesis test, specified as a scalar
value in the range
ndim — Number of dimensions
positive integer value
Number of dimensions, returned as a positive integer value.
The dimension is determined by a series of hypothesis tests. The test
ndim = 1 tests the hypothesis that the variances
of the data values along each principal component are equal, the test
ndim = 2 tests the hypothesis that the variances
along the second through last components are equal, and so on. The
null hypothesis is that the number of dimensions is equal to the number
of the largest unequal eigenvalues of the covariance matrix of
prob — Significance value
vector of scalar values in the range
Significance value for the hypothesis tests, returned as a vector
of scalar values in the range
(0,1). Each element
prob corresponds to an element of
chisquare — Test statistics
vector of scalar values
Test statistics for each dimension’s hypothesis test, returned as a vector of scalar values.
Introduced before R2006a