ITE / code / H_I_D_A_C / base_estimators / ABlomqvist_estimation.m

function [A] = ABlomqvist_estimation(Y,ds,co)
%Estimates the multivariate extension of Blomqvist's beta (medial correlation coefficient). 
%We use the naming convention 'A<name>_estimation' to ease embedding new association estimator methods.
%   Y: Y(:,t) is the t^th sample.
%  ds: subspace dimensions.
%  co: association estimator object.
%   Friedrich Schmid, Rafael Schmidt, Thomas Blumentritt, Sandra Gaiser, and Martin Ruppert. Copula Theory and Its Applications, Chapter Copula based Measures of Multivariate Association. Lecture Notes in Statistics. Springer, 2010. (multidimensional case, length(ds)>=2)
%   Manuel Ubeda-Flores. Multivariate versions of Blomqvist's beta and Spearman's footrule. Annals of the Institute of Statistical Mathematics, 57:781-788, 2005.
%   Nils Blomqvist. On a measure of dependence between two random variables. The Annals of Mathematical Statistics, 21:593-600, 1950. (2D case, statistical properties)
% Frederick Mosteller. On some useful ''inefficient'' statistics. Annals of Mathematical Statistics, 17:377--408, 1946. (2D case, def)
%Copyright (C) 2012 Zoltan Szabo ("", "szzoli (at) cs (dot) elte (dot) hu")
%This file is part of the ITE (Information Theoretical Estimators) Matlab/Octave toolbox.
%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
%You should have received a copy of the GNU General Public License along with ITE. If not, see <>.


    if sum(ds) ~= size(Y,1);
        error('The subspace dimensions are not compatible with Y.');
    if ~one_dimensional_problem(ds)
        error('The subspaces must be one-dimensional for this estimator.');

[d,num_of_samples] = size(Y);
U = copula_transformation(Y);

h = 2^(d-1) / (2^(d-1)-1); %h(d)
C1 = mean(all(U<=1/2,1)); %C(1/2)
C2 = mean(all(U>1/2,1)); %\bar{C}(1/2)
A = h * ( C1 + C2 - 2^(1-d) );
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.