/* * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.math.stat.mining; import java.util.Arrays; import org.apache.commons.math.linear.InvalidMatrixException; import org.apache.commons.math.linear.RealMatrix; import org.apache.commons.math.linear.RealMatrixImpl; public class SpearmanRankCrossCorrelation { /* * http://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient * and * http://mathworld.wolfram.com/SpearmanRankCorrelationCoefficient.html */ /** * Local instance of the raw data */ private RealMatrixImpl dataMatrix = null; /** * Constructor * * @param dataMatrix Raw Data Matrix */ public SpearmanRankCrossCorrelation(final RealMatrixImpl dataMatrix) { this.dataMatrix = dataMatrix; } /** * Calculates the Spearman Rank Correlation Matrix * * @return Spearman Rank Correlation Matrix */ public RealMatrix getCorrelationMatrix() { RealMatrixImpl correlationMatrix = new RealMatrixImpl(dataMatrix.getColumnDimension(), dataMatrix.getColumnDimension()); for(int i=0; i