関数を使用してnlsLM
、非線形回帰を当てはめています。nlsLM
モデル オブジェクトから帽子の値とクックの距離を抽出するにはどうすればよいですか?
nls
または関数を使用して作成されたオブジェクトを使用してnlreg
、観測値のハット値とクック距離を抽出する方法は知っていますが、 を使用してそれらを取得する方法がわかりませんnslLM
。
誰でもこれについて私を助けることができますか? ありがとう!
関数を使用してnlsLM
、非線形回帰を当てはめています。nlsLM
モデル オブジェクトから帽子の値とクックの距離を抽出するにはどうすればよいですか?
nls
または関数を使用して作成されたオブジェクトを使用してnlreg
、観測値のハット値とクック距離を抽出する方法は知っていますが、 を使用してそれらを取得する方法がわかりませんnslLM
。
誰でもこれについて私を助けることができますか? ありがとう!
したがって、クックの距離やハット値に基づくものではありませんがnlsJack
、nlstools
パッケージの関数を使用して nls モデルをジャックナイフすることができます。つまり、すべてのポイントを 1 つずつ削除し、結果のモデルをブートストラップして、大まかに言えばどのように表示されるかを確認します。そこに与えられた観測の有無にかかわらず、モデル係数は大きく変化します。
再現可能な例:
xs = rep(1:10, times = 10)
ys = 3 + 2*exp(-0.5*xs)
for (i in 1:100) {
xs[i] = rnorm(1, xs[i], 2)
}
df1 = data.frame(xs, ys)
nls1 = nls(ys ~ a + b*exp(d*xs), data=df1, start=c(a=3, b=2, d=-0.5))
require(nlstools)
plot(nlsJack(nls1))
プロットは、個々の観測値が削除されたときの各モデル係数の変化率を示し、結果のプロットで特定のしきい値を超える影響ポイントを「影響あり」としてマークします。のドキュメントでnlsJack
は、このしきい値がどのように決定されるかについて説明しています。
観測がある場合とない場合のこのパラメーターの推定値の差が、推定値の標準誤差を sqrt(n) で割った値の 2 倍を超える場合、観測値は 1 つのパラメーターに対して影響力があると経験的に定義されます。この経験的方法は、非線形モデルの曲率が小さいことを前提としています。
これまでの私の印象では、これはかなりリベラルな基準であり、多くの点で影響力があると見なされる傾向があります。
nlstools
nls
ただし、モデルの適合を診断するための全体的に非常に便利なパッケージです。