[討論] kstest()的使用疑問
看板MATLAB作者newton2009 (I'm sick Leave me alone)時間12年前 (2013/08/20 14:57)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/1
※
我們可以使用[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
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章