hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_correg_coeffs_pearson (g02ba)

Purpose

nag_correg_coeffs_pearson (g02ba) computes means and standard deviations of variables, sums of squares and cross-products of deviations from means, and Pearson product-moment correlation coefficients for a set of data.

Syntax

[xbar, std, ssp, r, ifail] = g02ba(x, 'n', n, 'm', m)
[xbar, std, ssp, r, ifail] = nag_correg_coeffs_pearson(x, 'n', n, 'm', m)
Note: the interface to this routine has changed since earlier releases of the toolbox:
Mark 22: n has been made optional
.

Description

The input data consist of nn observations for each of mm variables, given as an array
[xij],  i = 1,2,,n(n2),j = 1,2,,m(m2),
[xij],  i=1,2,,n(n2),j=1,2,,m(m2),
where xijxij is the iith observation on the jjth variable.
The quantities calculated are:
(a) Means:
n
xj = 1/nxij,  j = 1,2,,m.
i = 1
x-j=1ni=1nxij,  j=1,2,,m.
(b) Standard deviations:
sj = sqrt(1/(n 1) i = 1n (xijxj)2),   j = 1,2,,m.
sj=1n- 1 i= 1n (xij-x-j) 2,   j= 1,2,,m.
(c) Sums of squares and cross-products of deviations from means:
n
Sjk = (xijxj)(xikxk),  j,k = 1,2,,m.
i = 1
Sjk=i=1n (xij-x-j) (xik-x-k) ,  j,k=1,2,,m.
(d) Pearson product-moment correlation coefficients:
Rjk = (Sjk)/(sqrt(SjjSkk)),   j,k = 1,2,,m.
Rjk=SjkSjjSkk ,   j,k= 1,2,,m.
If SjjSjj or SkkSkk is zero, RjkRjk is set to zero.

References

None.

Parameters

Compulsory Input Parameters

1:     x(ldx,m) – double array
ldx, the first dimension of the array, must satisfy the constraint ldxnldxn.
x(i,j)xij must be set to xijxij, the iith observation on the jjth variable, for i = 1,2,,ni=1,2,,n and j = 1,2,,mj=1,2,,m.

Optional Input Parameters

1:     n – int64int32nag_int scalar
Default: The first dimension of the array x.
nn, the number of observations or cases.
Constraint: n2n2.
2:     m – int64int32nag_int scalar
Default: The second dimension of the array x.
mm, the number of variables.
Constraint: m2m2.

Input Parameters Omitted from the MATLAB Interface

ldx ldssp ldr

Output Parameters

1:     xbar(m) – double array
The mean value, xjx-j, of the jjth variable, for j = 1,2,,mj=1,2,,m.
2:     std(m) – double array
The standard deviation, sjsj, of the jjth variable, for j = 1,2,,mj=1,2,,m.
3:     ssp(ldssp,m) – double array
ldsspmldsspm.
ssp(j,k)sspjk is the cross-product of deviations SjkSjk, for j = 1,2,,mj=1,2,,m and k = 1,2,,mk=1,2,,m.
4:     r(ldr,m) – double array
ldrmldrm.
r(j,k)rjk is the product-moment correlation coefficient RjkRjk between the jjth and kkth variables, for j = 1,2,,mj=1,2,,m and k = 1,2,,mk=1,2,,m.
5:     ifail – int64int32nag_int scalar
ifail = 0ifail=0 unless the function detects an error (see [Error Indicators and Warnings]).

Error Indicators and Warnings

Errors or warnings detected by the function:
  ifail = 1ifail=1
On entry,n < 2n<2.
  ifail = 2ifail=2
On entry,m < 2m<2.
  ifail = 3ifail=3
On entry,ldx < nldx<n,
orldssp < mldssp<m,
orldr < mldr<m.

Accuracy

nag_correg_coeffs_pearson (g02ba) does not use additional precision arithmetic for the accumulation of scalar products, so there may be a loss of significant figures for large nn.

Further Comments

The time taken by nag_correg_coeffs_pearson (g02ba) depends on nn and mm.
The function uses a two-pass algorithm.

Example

function nag_correg_coeffs_pearson_example
x = [2, 3, 3;
     4, 6, 4;
     9, 9, 0;
     0, 12, 2;
     12, -1, 5];
[xbar, std, ssp, r, ifail] = nag_correg_coeffs_pearson(x)
 

xbar =

    5.4000
    5.8000
    2.8000


std =

    4.9800
    5.0695
    1.9235


ssp =

   99.2000  -57.6000    6.4000
  -57.6000  102.8000  -29.2000
    6.4000  -29.2000   14.8000


r =

    1.0000   -0.5704    0.1670
   -0.5704    1.0000   -0.7486
    0.1670   -0.7486    1.0000


ifail =

                    0


function g02ba_example
x = [2, 3, 3;
     4, 6, 4;
     9, 9, 0;
     0, 12, 2;
     12, -1, 5];
[xbar, std, ssp, r, ifail] = g02ba(x)
 

xbar =

    5.4000
    5.8000
    2.8000


std =

    4.9800
    5.0695
    1.9235


ssp =

   99.2000  -57.6000    6.4000
  -57.6000  102.8000  -29.2000
    6.4000  -29.2000   14.8000


r =

    1.0000   -0.5704    0.1670
   -0.5704    1.0000   -0.7486
    0.1670   -0.7486    1.0000


ifail =

                    0



PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2013