MATLAB的mnrval的条件概率是否正确?

时间:2016-07-27 10:07:26

标签: matlab statistics regression probability logistic-regression

MWE(需要统计工具箱,在MATLAB R2014b上测试):

x = (1:3)';
b = mnrfit(x,x,'model','hierarchical');
pihat = mnrval(b,x,'model','hierarchical','type','conditional')

输出:

pihat =
            1            1
   2.2204e-16            1
   2.2204e-16   2.2204e-16

(忽略已发出的警告,因为一些简单的例子,它是线性可分的(我用自己预测x)。这并不重要:我&# 39;我在没有警告的情况下尝试了这个非平凡(并且不那么简单)的例子,结果也很相似。)

我的问题是结果。我已经指定我想要条件概率。根据MATLAB关于mnrval的文档:

  

指定['conditional']以根据第一个k – 1条件类别概率[...]返回预测[...],即概率[...]对于类别j,给出j或更高类别的结果。

在我的示例中,这意味着pihat行包含

的概率
  1. x=1x>=1
  2. x=2x>=2
  3. x=3的第三列不是必需的,因为如果前两个概率是已知的,则第三个概率也是已知的。它遵循P(x=1) + P(x=2) + P(x=3) = 1的逻辑顺序。)

    我是否正确地解释了这一点?因此,如果预测x=1,那么第一列值应该很大(接近1),因为给定P(x=1)的{​​{1}}很大。第二列应该接近于零,因为如果x>=1P(x=2) x>=2 x=1可能会很大。

    但是,正如您在第一行中看到的那样,第二列值和第一列一样大!根据文档规定,我认为这是不正确的,我是对的吗?当前(不正确的?)结果意味着行中的预测概率不是x=j给定x>=j,但那么它们是什么?或者我该如何解释它们?

    它们不等于累积概率,即x<=j的概率,其随j增加。我已经通过计算pihat2 = mnrval(b,x,'model','hierarchical','type','cumulative'); pihat2-pihat来检查了这一点。

0 个答案:

没有答案