作者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