import javastat.multivariate.PCA;
/**
*
* <p>Example: class PCA.</p>
* <p>Data Source: S-PLUS 6 for
Windows Guide to Statistics, Volume 2,
* Insightful Corporation,
*/
double[][] testscores = { {36, 62, 31, 76, 46, 12,
39, 30, 22, 9, 32,
40, 64, 36, 24, 50, 42, 2, 56, 59, 28, 19,
36, 54, 14},
{58, 54, 42, 78, 56, 42, 46, 51, 32, 40, 49,
62,
75, 38, 46, 50, 42, 35, 53, 72, 50, 46,
56,
57, 35},
{43, 50, 41, 69, 52, 38, 51, 54, 43, 47, 54,
51, 70, 58, 44, 54, 52, 32, 42, 70, 50, 49,
56,
59, 38},
{36, 46, 40, 66, 56, 38, 54, 52, 28, 30, 37,
40, 66, 62, 55, 52, 38, 22, 40, 66, 42, 40,
54, 62, 29},
{37, 52, 29, 81, 40, 28, 41, 32, 22, 24, 52,
49, 63, 62, 49, 51, 50, 16, 32, 62, 63, 30,
52, 58, 20} };
testclass1
= new PCA(0.95, "covariance", testscores);
print("1st component vector (non-null constructor) = [" +
testclass1.principalComponents[0][0]
+ " " +
testclass1.principalComponents[0][1]
+ " " +
testclass1.principalComponents[0][2]
+ " " +
testclass1.principalComponents[0][3]
+ " " +
testclass1.principalComponents[0][4]
+ "]");
print("2nd component vector (non-null constructor) = [" +
testclass1.principalComponents[1][0]
+ " " +
testclass1.principalComponents[1][1]
+ " " +
testclass1.principalComponents[1][2]
+ " " +
testclass1.principalComponents[1][3]
+ " " +
testclass1.principalComponents[1][4]
+ "]");
print("variances of components (non-null constructor) = [" +
testclass1.variance[0]
+ " " +
testclass1.variance[1] + "
" +
testclass1.variance[2]
+ " " +
testclass1.variance[3] + "]");
testclass2
= new PCA();
principalComponents =
testclass2.principalComponents(testscores);
variance = testclass2.variance(testscores);
print("1st component vector (null constructor) =
[" +
testclass2.principalComponents[0][0]
+ " " +
testclass2.principalComponents[0][1]
+ " " +
testclass2.principalComponents[0][2]
+ " " +
testclass2.principalComponents[0][3]
+ " " +
testclass2.principalComponents[0][4]
+ "]");
print("2nd component vector (null constructor) =
[" +
testclass2.principalComponents[1][0]
+ " " +
testclass2.principalComponents[1][1]
+ " " +
testclass2.principalComponents[1][2]
+ " " +
testclass2.principalComponents[1][3]
+ " " +
testclass2.principalComponents[1][4]
+ "]");
print("variances of components (null constructor) = [" +
testclass2.variance[0]
+ " " +
testclass2.variance[1] + "
" +
testclass2.variance[2]
+ " " +
testclass2.variance[3] + "]");
Results:
1st
component vector (non-null constructor)
= [0.598 0.361 0.302 0.389 0.519]
2nd
component vector (non-null constructor)
= [-0.675 -0.245 0.214 0.338 0.57]
variances of components (non-null constructor)
= [845.481 85.041 45.388 39.188]
1st
component vector (null constructor)
= [0.443 0.437 0.462 0.445 0.449]
2nd
component vector (null constructor)
= [-0.473 -0.616 0.276 0.470 0.317]
variances of components (null constructor)
= [4.081 0.374 0.217 0.205]