blob: 0d8292851eb8c9e5e6f5b18c9bf7e2d4a387298b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>KendallsCorrelation (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="KendallsCorrelation (Apache Commons Math 3.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KendallsCorrelation.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/stat/correlation/Covariance.html" title="class in org.apache.commons.math3.stat.correlation"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/stat/correlation/PearsonsCorrelation.html" title="class in org.apache.commons.math3.stat.correlation"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/stat/correlation/KendallsCorrelation.html" target="_top">Frames</a></li>
<li><a href="KendallsCorrelation.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.stat.correlation</div>
<h2 title="Class KendallsCorrelation" class="title">Class KendallsCorrelation</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.stat.correlation.KendallsCorrelation</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">KendallsCorrelation</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Implementation of Kendall's Tau-b rank correlation</a>.
<p>
A pair of observations (x<sub>1</sub>, y<sub>1</sub>) and
(x<sub>2</sub>, y<sub>2</sub>) are considered <i>concordant</i> if
x<sub>1</sub> &lt; x<sub>2</sub> and y<sub>1</sub> &lt; y<sub>2</sub>
or x<sub>2</sub> &lt; x<sub>1</sub> and y<sub>2</sub> &lt; y<sub>1</sub>.
The pair is <i>discordant</i> if x<sub>1</sub> &lt; x<sub>2</sub> and
y<sub>2</sub> &lt; y<sub>1</sub> or x<sub>2</sub> &lt; x<sub>1</sub> and
y<sub>1</sub> &lt; y<sub>2</sub>. If either x<sub>1</sub> = x<sub>2</sub>
or y<sub>1</sub> = y<sub>2</sub>, the pair is neither concordant nor
discordant.
<p>
Kendall's Tau-b is defined as:
<pre>
tau<sub>b</sub> = (n<sub>c</sub> - n<sub>d</sub>) / sqrt((n<sub>0</sub> - n<sub>1</sub>) * (n<sub>0</sub> - n<sub>2</sub>))
</pre>
<p>
where:
<ul>
<li>n<sub>0</sub> = n * (n - 1) / 2</li>
<li>n<sub>c</sub> = Number of concordant pairs</li>
<li>n<sub>d</sub> = Number of discordant pairs</li>
<li>n<sub>1</sub> = sum of t<sub>i</sub> * (t<sub>i</sub> - 1) / 2 for all i</li>
<li>n<sub>2</sub> = sum of u<sub>j</sub> * (u<sub>j</sub> - 1) / 2 for all j</li>
<li>t<sub>i</sub> = Number of tied values in the i<sup>th</sup> group of ties in x</li>
<li>u<sub>j</sub> = Number of tied values in the j<sup>th</sup> group of ties in y</li>
</ul>
<p>
This implementation uses the O(n log n) algorithm described in
William R. Knight's 1966 paper "A Computer Method for Calculating
Kendall's Tau with Ungrouped Data" in the Journal of the American
Statistical Association.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>3.3</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: KendallsCorrelation.java 1548907 2013-12-07 13:08:06Z tn $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="http://en.wikipedia.org/wiki/Kendall_tau_rank_correlation_coefficient">
Kendall tau rank correlation coefficient (Wikipedia)</a>,
<a href="http://www.jstor.org/stable/2282833">A Computer
Method for Calculating Kendall's Tau with Ungrouped Data</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#KendallsCorrelation()">KendallsCorrelation</a></strong>()</code>
<div class="block">Create a KendallsCorrelation instance without data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#KendallsCorrelation(double[][])">KendallsCorrelation</a></strong>(double[][]&nbsp;data)</code>
<div class="block">Create a KendallsCorrelation from a rectangular array
whose columns represent values of variables to be correlated.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#KendallsCorrelation(org.apache.commons.math3.linear.RealMatrix)">KendallsCorrelation</a></strong>(<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)</code>
<div class="block">Create a KendallsCorrelation from a RealMatrix whose columns
represent variables to be correlated.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#computeCorrelationMatrix(double[][])">computeCorrelationMatrix</a></strong>(double[][]&nbsp;matrix)</code>
<div class="block">Computes the Kendall's Tau rank correlation matrix for the columns of
the input rectangular array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#computeCorrelationMatrix(org.apache.commons.math3.linear.RealMatrix)">computeCorrelationMatrix</a></strong>(<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)</code>
<div class="block">Computes the Kendall's Tau rank correlation matrix for the columns of
the input matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#correlation(double[], double[])">correlation</a></strong>(double[]&nbsp;xArray,
double[]&nbsp;yArray)</code>
<div class="block">Computes the Kendall's Tau rank correlation coefficient between the two arrays.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/correlation/KendallsCorrelation.html#getCorrelationMatrix()">getCorrelationMatrix</a></strong>()</code>
<div class="block">Returns the correlation matrix.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="KendallsCorrelation()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KendallsCorrelation</h4>
<pre>public&nbsp;KendallsCorrelation()</pre>
<div class="block">Create a KendallsCorrelation instance without data.</div>
</li>
</ul>
<a name="KendallsCorrelation(double[][])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KendallsCorrelation</h4>
<pre>public&nbsp;KendallsCorrelation(double[][]&nbsp;data)</pre>
<div class="block">Create a KendallsCorrelation from a rectangular array
whose columns represent values of variables to be correlated.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - rectangular array with columns representing variables</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the input data array is not
rectangular with at least two rows and two columns.</dd></dl>
</li>
</ul>
<a name="KendallsCorrelation(org.apache.commons.math3.linear.RealMatrix)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KendallsCorrelation</h4>
<pre>public&nbsp;KendallsCorrelation(<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)</pre>
<div class="block">Create a KendallsCorrelation from a RealMatrix whose columns
represent variables to be correlated.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>matrix</code> - matrix with columns representing variables to correlate</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getCorrelationMatrix()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCorrelationMatrix</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;getCorrelationMatrix()</pre>
<div class="block">Returns the correlation matrix.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>correlation matrix</dd></dl>
</li>
</ul>
<a name="computeCorrelationMatrix(org.apache.commons.math3.linear.RealMatrix)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeCorrelationMatrix</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;computeCorrelationMatrix(<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)</pre>
<div class="block">Computes the Kendall's Tau rank correlation matrix for the columns of
the input matrix.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>matrix</code> - matrix with columns representing variables to correlate</dd>
<dt><span class="strong">Returns:</span></dt><dd>correlation matrix</dd></dl>
</li>
</ul>
<a name="computeCorrelationMatrix(double[][])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeCorrelationMatrix</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;computeCorrelationMatrix(double[][]&nbsp;matrix)</pre>
<div class="block">Computes the Kendall's Tau rank correlation matrix for the columns of
the input rectangular array. The columns of the array represent values
of variables to be correlated.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>matrix</code> - matrix with columns representing variables to correlate</dd>
<dt><span class="strong">Returns:</span></dt><dd>correlation matrix</dd></dl>
</li>
</ul>
<a name="correlation(double[], double[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>correlation</h4>
<pre>public&nbsp;double&nbsp;correlation(double[]&nbsp;xArray,
double[]&nbsp;yArray)
throws <a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Computes the Kendall's Tau rank correlation coefficient between the two arrays.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>xArray</code> - first data array</dd><dd><code>yArray</code> - second data array</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns Kendall's Tau rank correlation coefficient for the two arrays</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the arrays lengths do not match</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KendallsCorrelation.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/stat/correlation/Covariance.html" title="class in org.apache.commons.math3.stat.correlation"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/stat/correlation/PearsonsCorrelation.html" title="class in org.apache.commons.math3.stat.correlation"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/stat/correlation/KendallsCorrelation.html" target="_top">Frames</a></li>
<li><a href="KendallsCorrelation.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>