私は 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)