Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的伽马分布下限_R_Threshold_Gamma Distribution_Fitdistrplus - Fatal编程技术网

R中的伽马分布下限

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

我想将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 <- 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))