1fb133f
committed
Commits
Comments (0)
Files changed (15)

+5 2CHANGELOG.txt

+15 13code/H_I_D/base_estimators/HRenyi_GSF_estimation.m

+2 1code/H_I_D/base_estimators/HRenyi_GSF_initialization.m

+16 9code/H_I_D/base_estimators/HRenyi_MST_estimation.m

+1 0code/H_I_D/base_estimators/HRenyi_MST_initialization.m

+21 9code/H_I_D/base_estimators/HRenyi_kNN_1tok_estimation.m

+2 1code/H_I_D/base_estimators/HRenyi_kNN_1tok_initialization.m

+18 7code/H_I_D/base_estimators/HRenyi_kNN_S_estimation.m

+1 0code/H_I_D/base_estimators/HRenyi_kNN_S_initialization.m

+38 0code/H_I_D/utilities/compute_length_HRenyi_GSF.m

+25 0code/H_I_D/utilities/compute_length_HRenyi_MST.m

+23 0code/H_I_D/utilities/compute_length_HRenyi_kNN_1tok.m

+23 0code/H_I_D/utilities/compute_length_HRenyi_kNN_S.m

+60 0code/H_I_D/utilities/estimate_HRenyi_constant.m

+43 0code/H_I_D/utilities/filename_of_HRenyi_constant.m
CHANGELOG.txt
kNN_squared_distances.m, co.kNNmethod='knnFP2': for compatibility reasons variable 'indices' has been converted to int32
+MonteCarlo simulation to compute the additive constants in Renyi entropy estimation: added; see 'estimate_HRenyi_constant.m'.
+The embedded 'knnFP1' method can produce an '1e15' rounding error in squared_distances => W is not _perfectly_ sym. (in the verification of compute_MST.m:kruskal_mst.m), correction made; see 'compute_length_HRenyi_GSF.m'.
+kNN_squared_distances.m, co.kNNmethod='knnFP2': for compatibility reasons variable 'indices' has been converted to int32.
Tsallis entropy is now available in ITE; it can be estimated via knearest neighbors, see 'HTsallis_kNN_k_initialization.m', 'HTsallis_kNN_k_estimation.m'.
code/H_I_D/base_estimators/HRenyi_GSF_estimation.m
%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
+ if co.additive_constant_is_relevant %the additive constant is relevant in the Renyi entropy estimation
+ disp('Error: the file containing the additive constant does not exist. You can precompute the additive constant via estimate_HRenyi_constant.m.');
code/H_I_D/base_estimators/HRenyi_GSF_initialization.m
co.alpha = 0.99; %The Renyi entropy equals to the Shannon differential entropy, in limit, i.e., Renyi=H_{R,alpha} > Shannon=H, provided that alpha >1.
+ co.additive_constant_is_relevant = 0; %1:additive constant is relevant (you can precompute it via 'estimate_HRenyi_constant.m'), 0:not relevant
code/H_I_D/base_estimators/HRenyi_MST_estimation.m
%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
+ if co.additive_constant_is_relevant %the additive constant is relevant in the Renyi entropy estimation
+ disp('Error: the file containing the additive constant does not exist. You can precompute the additive constant via estimate_HRenyi_constant.m.');
code/H_I_D/base_estimators/HRenyi_MST_initialization.m
code/H_I_D/base_estimators/HRenyi_kNN_1tok_estimation.m
+%Estimates the Renyi entropy (H) of Y (Y(:,t) is the t^th sample) using the kNN method (S={1,...,k}). Cost parameters are provided in the cost object co.
%We make use of the naming convention 'H<name>_estimation', to ease embedding new entropy estimation methods.
%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
+ if co.additive_constant_is_relevant %the additive constant is relevant in the Rényi entropy estimation
+ disp('Error: the file containing the additive constant does not exist. You can precompute the additive constant via estimate_HRenyi_constant.m.');
code/H_I_D/base_estimators/HRenyi_kNN_1tok_initialization.m
%co.epsi = 0; %=0: exact kNN; >0: approximate kNN, the true (not squared) distances can not exceed the real distance more than a factor of (1+epsi).
co.alpha = 0.99; %The Renyi entropy equals to the Shannon differential entropy, in limit, i.e., Renyi=H_{R,alpha} > Shannon=H, provided that alpha >1.
+ co.additive_constant_is_relevant = 0; %1:additive constant is relevant (you can precompute it via 'estimate_HRenyi_constant.m'), 0:not relevant
code/H_I_D/base_estimators/HRenyi_kNN_S_estimation.m
%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
+ if co.additive_constant_is_relevant %the additive constant is relevant in the Rényi entropy estimation
+ disp('Error: the file containing the additive constant does not exist. You can precompute the additive constant via estimate_HRenyi_constant.m.');
code/H_I_D/base_estimators/HRenyi_kNN_S_initialization.m
%co.epsi = 0; %=0: exact kNN; >0: approximate kNN, the true (not squared) distances can not exceed the real distance more than a factor of (1+epsi).
co.alpha = 0.99; %The Renyi entropy equals to the Shannon differential entropy, in limit, i.e., Renyi=H_{R,alpha} > Shannon=H, provided that alpha >1.
+ co.additive_constant_is_relevant = 0; %1:additive constant is relevant (you can precompute it via 'estimate_HRenyi_constant.m'), 0:not relevant
code/H_I_D/utilities/compute_length_HRenyi_GSF.m
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%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 <http://www.gnu.org/licenses/>.
+ %The result obtained by co.kNNmethod = 'knnFP1' (squared distances) may contain an '1e15' rounding error which
code/H_I_D/utilities/compute_length_HRenyi_MST.m
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%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 <http://www.gnu.org/licenses/>.
code/H_I_D/utilities/compute_length_HRenyi_kNN_1tok.m
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%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 <http://www.gnu.org/licenses/>.
code/H_I_D/utilities/compute_length_HRenyi_kNN_S.m
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%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 <http://www.gnu.org/licenses/>.
code/H_I_D/utilities/estimate_HRenyi_constant.m
+%Estimates the additive constants of the Renyi entropy estimators 'Renyi_kNN_1tok', 'Renyi_kNN_S', 'Renyi_MST' and 'Renyi_GSF', for a fixed dimension (d below). In certain cases these constants can also be important. Here, they are precomputed via MonteCarlo simulations; the result is saved and becomes available in 'HRenyi_kNN_1tok_estimation.m', 'HRenyi_kNN_S_estimation.m', 'HRenyi_MST_estimation.m' and 'HRenyi_GSF_estimation.m'.
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%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 <http://www.gnu.org/licenses/>.
code/H_I_D/utilities/filename_of_HRenyi_constant.m
+%Returns the filename (FN) of the precomputed additive constants for Renyi entropy estimators 'Renyi_kNN_1tok', 'Renyi_kNN_S', 'Renyi_MST' and 'Renyi_GSF'. See 'estimate_HRenyi_constant.m'.
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%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 <http://www.gnu.org/licenses/>.
+ FN = strcat('constant_H',co.name,'_d',num2str(d),'_k',num2str(co.k),'_alpha',num2str(co.alpha),'.mat');%co.kNNmethod (and its parameters) are not saved to the filename
+ FN = strcat('constant_H',co.name,'_d',num2str(d),'_k',Sstr(co.k),'_alpha',num2str(co.alpha),'.mat');%co.kNNmethod (and its parameters) are not saved to the filename
+ FN = strcat('constant_H',co.name,'_d',num2str(d),'_alpha',num2str(co.alpha),'.mat'); %co.MSTmethod is not saved to the filename
+ FN = strcat('constant_H',co.name,'_d',num2str(d),'_k',num2str(co.k),'_alpha',num2str(co.alpha),'.mat');%co.kNNmethod (and its parameters), co.GSFmethod are not saved to the filename
+%Returns the string version (str) of the k values given in vector 'ks'. Example: ks = [1,2,4] > str='1_2_4'.