概率测度全变差距离在Matlab中的实现

ffscu2ro  于 2023-08-06  发布在  Matlab
关注(0)|答案(2)|浏览(232)

我正在尝试在Matlab中实现Total variation distance of probability measures(TVD)。使用max function来计算TVD方程的“上确界”是否正确?


的数据
我的尝试:

% Input
A =[     0.444643925792938         0.258402203856749
         0.224416517055655         0.309641873278237
        0.0730101735487732         0.148209366391185
        0.0825852782764812        0.0848484848484849
        0.0867743865948534        0.0727272727272727
        0.0550568521843208        0.0440771349862259
       0.00718132854578097        0.0121212121212121
       0.00418910831837223        0.0336088154269972
       0.00478755236385398        0.0269972451790634
       0.00359066427289048       0.00110192837465565
       0.00538599640933573       0.00220385674931129
      0.000598444045481747                         0
       0.00299222022740874       0.00165289256198347
                         0                         0
       0.00119688809096349      0.000550964187327824
                         0      0.000550964187327824
       0.00119688809096349      0.000550964187327824
                         0      0.000550964187327824
                         0      0.000550964187327824
      0.000598444045481747                         0
      0.000598444045481747                         0
                         0                         0
                         0      0.000550964187327824
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0      0.000550964187327824
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
                         0                         0
       0.00119688809096349      0.000550964187327824];
P   = A(:,1);
Q   = A(:,2);

% Total variation distance (of probability measures)
d = max(abs(P-Q))

字符串
这导致:

d = 0.186241721936189

sqyvllje

sqyvllje1#

如果你的概率测度有一个有限集作为支持(数值近似的情况下是必然的),那么是的,存在一个最大值,并且与上确界重合。
如果你的有限数据只是实际的、潜在的分布的近似,可能定义在一个无限的集合上,那么你的数据的最大值将只是真实分布的实际上确界的近似。无论如何,在这种情况下,使用数据的最大值也可能是有意义的。

mepcadol

mepcadol2#

正确的Matlab代码来自Matlab的用户“Bruno Luong”:

dFormula = 0.5 * norm(P-Q,1)

字符串
对应于:


来自:https://ch.mathworks.com/matlabcentral/answers/1991183-implement-the-total-variation-distance-tvd-in-matlab?s_tid=mlc_ans_email_ques

相关问题