R中的伽马分布下限
我想将gamma分布拟合到一个由338个元素组成的数据集,具有固定的低阈值(我使用R)。 为了表示下限,我想使用带有三个参数的gamma,添加位置。这是我的密码:R中的伽马分布下限,r,threshold,gamma-distribution,fitdistrplus,R,Threshold,Gamma Distribution,Fitdistrplus,我想将gamma分布拟合到一个由338个元素组成的数据集,具有固定的低阈值(我使用R)。 为了表示下限,我想使用带有三个参数的gamma,添加位置。这是我的密码: library(FAdist) library(fitdistrplus) fit <- fitdist(mydata,"gamma3",start=list(1,1,mythreshold)) 建立一个可复制的例子 library(FAdist); library(fitdistrplus) set.seed(101) x
library(FAdist)
library(fitdistrplus)
fit <- fitdist(mydata,"gamma3",start=list(1,1,mythreshold))
建立一个可复制的例子
library(FAdist); library(fitdistrplus)
set.seed(101)
x <- rgamma3(1000,shape=1,scale=1,thres=1)
注(1)在最大似然条件下,此类阈值参数将始终以其可接受的最大值(即数据集中的最小值)结束;(2) 标准误差为NA
,因为当参数到达边界时,无法计算Wald标准误差
或者,您可以通过定义包装函数来修复阈值参数:
dgconstr <- function(x,shape,scale,...) {
dgamma3(x,shape,scale,thres=0.5,...)
}
pgconstr <- function(...) {
pgamma3(...,thres=0.5)
}
fitdist(x,dgconstr,start=list(shape=1,scale=1))
非常感谢你,本!我明白了,它确实起了作用。
fit <- fitdist(mydata-mythreshold,"gamma")
fit
Fitting of the distribution ' gamma ' by maximum likelihood
Parameters:
estimate Std. Error
shape 1.059540 0.07212832
rate 1.058007 0.09117620
summary(mydata)
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.003 3.282 3.753 4.001 4.444 8.087
library(FAdist); library(fitdistrplus)
set.seed(101)
x <- rgamma3(1000,shape=1,scale=1,thres=1)
fitdist(x,dgamma3,start=list(shape=1,scale=1,thres=0.5),
upper=c(Inf,Inf,min(x)))
## Fitting of the distribution ' gamma3 ' by maximum likelihood
## Parameters:
## estimate Std. Error
## shape 0.9321949 NA
## scale 1.0586079 NA
## thres 1.0000012 NA
dgconstr <- function(x,shape,scale,...) {
dgamma3(x,shape,scale,thres=0.5,...)
}
pgconstr <- function(...) {
pgamma3(...,thres=0.5)
}
fitdist(x,dgconstr,start=list(shape=1,scale=1))