作者newton2009 (I'm sick Leave me alone)
看板MATLAB
标题[讨论] kstest()的使用疑问
时间Tue Aug 20 14:56:55 2013
※
我们可以使用[h p s c]=kstest(x,CDF)函式
来检验 资料向量x是否来自於某一机率分布CDF
当 h = 1 时,则拒绝资料x是来自假设的分布CDF
当 h = 0 时,则不拒绝资料是来自该分布的假设
s 是KS检定统计量
c 是0.05显着水准的critical value
※
现在我先假设
>> x=[zeros(40,1);ones(30,1);2*ones(20,1);3*ones(10,1)];
我们可以统计x的次数分布
---------------------------------
测量值 次数 累积次数 累积次数机率
---------------------------------
0 40 40 0.4
1 30 70 0.7
2 20 90 0.9
3 10 100 1.0
---------------------------------
总计 100
在令
>> CDF=[0 0.3;1 0.6;2 0.8;3 0.9];
KS检定统计量应为0.1,如下表
----------------------------------------------------------------
测量值 累积次数机率 假设的累积机率 |累积次数机率-假设的累积机率|
----------------------------------------------------------------
0 0.4 0.3 0.1
1 0.7 0.6 0.1
2 0.9 0.8 0.1
3 1.0 0.9 0.1
----------------------------------------------------------------
KS检定统计量 = max(|累积次数机率-假设的累积机率|) = 0.1
可是执行下列指令的结果跟我算的不一样
>> [h p s c]=kstest(x,CDF)
s = 0.3 (
为什麽不是0.1而是0.3?)
还是我对Kolmogorov–Smirnov test的理解有问题 0.0
--
╭───────────────────╮
│ 我要努力, │
│ 跳出 我的 │ 框框
╰───────────────────╯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.111.173