- library(ggplot2) #载入包
- library(MASS)
#Step1:生成10万个服从gamma分布的数,shape=2,rate=0.2
- x <- round(rgamma(100000,shape = 2,rate = 0.2),1)
- x <- x[which(x>0)]
- t1 <- as.data.frame(table(x))
- names(t1) <- c("x","y")
- t1 <- transform(t1,x=as.numeric(as.character(x)))
- t1[,2] <- t1[,2]/sum(t1[,2])
- ggplot() + geom_point(data = t1,aes(x = x,y = y)) + theme_classic()
#Step2:运用MASS包中的fitdistr()求出参数shape、rate
- fitdistr(x,"gamma") #计算出shape=2,rate=0.2,很完美
- ggplot() + geom_point(data = t1,aes(x = x,y = y)) + geom_line(aes(x=t1[,1],y=dgamma(t1[,1],2,0.2)),color="red") + theme_classic()
#问题就出现了,参数值相当完美,画出的图为什么重合度那么差,所以,我的问题就是:
1.拟合曲线是这样画吗,我感觉应该不是,还希望能请教下大家;
2.对于任何一个模型,求出参数之后,还请以这个例子为例,帮我大概解答下怎么评估所建的模型的拟合好坏,涉及到哪些常用的检验
最后,感觉这个问题应该不难,自己谷歌了一两天也没解决,总结一下,应该是基础不够扎实,对于这类问题还没有建立系统的思想来一步步深入,所以在边科研边补充统计学的知识,希望大家能多指教一些,解决这个问题固然重要,还是希望从问题中学到更多衍生的知识,在此先谢谢各位了


雷达卡





京公网安备 11010802022788号







