91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-15
  • 語言: Matlab
  • 標簽:

資源簡介

K近鄰互信息計算程序matlab代碼,KraskovMI算法實現,可用于計算時間序列數據之間的相關性

資源截圖

代碼片段和文件信息

function?[?I1?I2?]?=?KraskovMI(?X?Y?k?varargin?)
%KraskovMI?computes?the?Kraskov?estimator?for?the?mutual?information.
%???1.?Input:?X?Y?(n?x?1)?vectors
%?????????????k:?nearest?neighbour
%?????????????zeroFix?(optional):?fix?the?negative?estimation?to?0?(default
%?????????????????????????????????false);
%
%???2.?Output:?I1?I2:?the?two?estimator?of?MI?I(1)?I(2)?(see?Ref.)
%
%?Ref:?Kraskov?Alexander?Harald?St鰃bauer?and?Peter?Grassberger.
%??????“Estimating?mutual?information.“?Physical?review?E?69.6?(2004):?066138.
%
%?Author:?Paolo?Inglese?
%?Last?revision:?17-05-2015

if?nargin??4
????error(‘Wrong?input?number.‘);
end
if?nargin?==?3
????zeroFix?=?false;
end
if?nargin?==?4
????if?~islogical(varargin{1})
????????error(‘zeroFix?must?be?true?or?false‘);
????else
????????zeroFix?=?varargin{1};
????end
end
????

if?size(X?1)?~=?size(Y?1)
????error(‘X?and?Y?must?contain?the?same?number?of?samples‘);
end

nObs?=?size(X?1);

%?compute?distance?between?each?sample?and?its?k-th?nearest?neighbour
dz?=?zeros(nObs?nObs);
dx?=?zeros(nObs?nObs);
dy?=?zeros(nObs?nObs);
for?i?=?1:nObs
????for?j?=?1:nObs
????????dx(ij)?=?pdist([X(i?:);?X(j?:)]);
????????dy(ij)?=?pdist([Y(i?:);?Y(j?:)]);
????????dz(ij)?=?max([dx(i?j)?dy(i?j)]);
????end
end

%?find?nx(i)?and?ny(i)
Eps?=?zeros(nObs?1);
Nn?=?zeros(nObs?1);

nx1?=?zeros(nObs?1);
ny1?=?zeros(nObs?1);
nx2?=?zeros(nObs?1);
ny2?=?zeros(nObs?1);
for?i?=?1:nObs
????
????dxSample?=?dx(i?:);
????dxSample(i)?=?[];
????
????dySample?=?dy(i?:);
????dySample(i)?=?[];
????
????dzSample?=?dz(i?:);
????dzSample(i)?=?[];
????[EpsSample?NnSample]?=?sort(dzSample?‘ascend‘);
????Eps(i)?=?EpsSample(k);
????Nn(i)?=?NnSample(k);
????
????nx1(i)?=?sum(dxSample?????ny1(i)?=?sum(dySample?????
????nx2(i)?=?sum(dxSample?<=?Eps(i));
????ny2(i)?=?sum(dySample?<=?Eps(i));
????
end

%?mutual?information?estimators
I1?=?psi(k)?-?sum(psi(nx1?+?1)?+?psi(ny1?+?1))?/?nObs?+?psi(nObs);
I2?=?psi(k)?-?1/k?-?sum(psi(nx2)?+?psi(ny2))?/?nObs?+?psi(nObs);

if?(zeroFix)
????if?I1?????????warning(‘First?estimator?is?negative?->?0‘);
????????I1?=?0;
????end
????if?I2?????????warning(‘Second?estimator?is?negative?->?0‘);
????????I2?=?0;
????end
end

end


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2376??2015-05-17?07:23??K近鄰互信息計算程序\KraskovMI.m
?????文件????????1313??2015-05-17?07:23??K近鄰互信息計算程序\license.txt
?????目錄???????????0??2018-09-17?19:42??K近鄰互信息計算程序\

評論

共有 條評論

相關資源