作者wertymin24 (werty)
看板Statistics
標題[程式] [R] 用ks.test測試3 parameter weibull
時間Thu Dec 15 21:32:35 2011
TITLE請著名軟體類別
R
[軟體程式類別]:
R
[程式問題]:
統計和軟體
[軟體熟悉度]:
高(1年以上)
[問題敘述]:
我已經用fitdistr(MASS)做出 3 parameter的weibull函數
想進一步的用ks.test測goodness of fit
但是ks.test好像只能測 2 parameter的? (google過沒有找到其他方法)
如果我先把自己的資料減掉fit出來的location可以再用一樣的shape和scale去測嗎?
p.s. 我是因為發現ks.test在測時 location跑掉會有不一樣的結果才這樣想的
如下範例
[程式範例]:
#先做一筆資料
temp<-rweibull(1000,shape=1.75,scale=18)
#goodness of fit , pvalue=0.99 (當然..)
ks.test(temp,'pweibull',shape=1.75,scale=18)
#位移
temp<-temp+30
#pvalue<0.0001
ks.test(temp,'pweibull',shape=1.75,scale=18)
-----------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.73.189
1F:→ clickhere:y 不要給 'pweibull', 把相對應於x的cdf先求出來, 再餵 12/15 22:33
2F:→ clickhere:給ks.test(x,y)就可以了. 例如, test location 28, 則 12/15 22:35
3F:→ clickhere:y <- pweibull(temp - 28, 1.75, 18) 12/15 22:35
4F:→ wertymin24:這樣子會不會其實不是測到3 parameter的goodness? 12/15 22:47
5F:→ clickhere:眼殘了, y要給的是data不是cdf. sorry 12/15 22:52
6F:→ clickhere:可能要改source code. 12/15 22:53
7F:→ clickhere:x <- y(sort(x), ...) - (0:(n - 1))/n 這行要改成 12/15 22:54
8F:→ clickhere:x <- pweibull(sort(x) - 28, ...) - (0:(n - 1))/n 12/15 22:54
9F:→ wertymin24:樓上的意思是我要去改ks.test的ocde嗎? 12/15 23:12
10F:→ wertymin24:我不懂(0:(n - 1))/n這是什麼? 12/15 23:12
11F:→ clickhere:用ks.test為樣版,按定義覆寫它. emperical cdf of x. 12/15 23:41
12F:→ clickhere:下面可能可行, 也比較容易. 寫個新函式叫 pweibull.new 12/16 00:11
13F:→ clickhere:然後把 'pweibull.new' 當 y 丟給 ks.test 就行了. 12/16 00:11