我有低于 x 和 y 的值,正如你看到的 x 大部分是负数,基本上我只有我观察到的数据的 PDF 的左侧。
我必须将其与学生分布相匹配,并找出自由度和尺度参数。
问题是,估计的分布会有一个非常小的方差(即小尺度参数)。因此,当我使用以下方法拟合分布时,无论我设置什么初始值,nls 都无法收敛。
我在下面的代码中使用了一个额外的参数 c ,因为我使用这个来缩放分布:dt(x/a,df)
。因此,为了保存概率,我不可避免地不得不将输出时间设置为常数。我相信这个额外的参数会导致收敛性差,但我不知道如何以更好的方式拟合分布。
我一直在寻找分发配件包,但这些包需要完整的分发,而我只有它的左侧。
x y
1 -0.0050 0.000000
2 -0.0045 26.723019
3 -0.0040 28.557704
4 -0.0035 41.085068
5 -0.0030 66.258445
6 -0.0025 81.129807
7 -0.0020 83.751611
8 -0.0015 130.378353
9 -0.0010 157.806018
10 -0.0005 201.505657
11 0.0000 949.650354
12 0.0005 193.721270
dat<-data.frame(x=x,y=y)
res<-nls( y~(dt(x/a,df)*c), dat,
start=list(a=0.000201, df=0.9, c=2104), trace = TRUE)