[討論] kstest()的使用疑問

看板MATLAB作者 (I'm sick Leave me alone)時間12年前 (2013/08/20 14:57), 編輯推噓0(000)
留言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
文章代碼(AID): #1I4nCyN7 (MATLAB)
文章代碼(AID): #1I4nCyN7 (MATLAB)