16

バックグラウンド

関数が変数の相互作用の強さを評価するためにフリードマンの H 統計量を計算するgbm package状態のリファレンス マニュアル。interact.gbmH 統計量は [0-1] のスケールです。

のリファレンス マニュアルは、関数が相互作用を検出してモデル化するdismo package方法についての文献を参照していません。gbm.interactions代わりに、相互作用の検出とモデル化に使用される一般的な手順のリストを提供します。「エコロジカル モデリングのためのブーステッド回帰ツリー」というdismoビネットには、dismoパッケージがパッケージ内の機能を拡張することが記載されていgbmます。

質問

dismo::gbm.interactionsは実際に相互作用をどのように検出してモデル化しますか?

どうして

私がこの質問をしているgbm.interactionsのは、dismo package利回りの結果が 1 を超えているためgbm packageです。リファレンス マニュアルでは、これは不可能であると述べています。

各パッケージの tar.gz をチェックして、ソース コードが類似しているかどうかを確認しました。これら 2 つのパッケージが相互作用を検出してモデル化するために同じ方法を使用しているかどうかを判断できないほどの違いがあります。

4

1 に答える 1

7

要約すると、2 つのアプローチの違いは、2 つの予測変数の「部分依存関数」の推定方法に要約されます。

このパッケージは、 Elith et al., 2008dismoで最初に提供されたコードに基づいており 、元のソースは補足資料にあります。この論文では、手順を非常に簡単に説明しています。基本的に、モデル予測は 2 つの予測子のグリッドで取得され、他のすべての予測子はその平均値に設定されます。次に、モデル予測がグリッドに回帰されます。次に、このモデルの平均二乗誤差に 1000 を掛けます。この統計は、予測子の線形結合からのモデル予測の逸脱を示し、相互作用の可能性を示します。

パッケージからdismo、関連する のソース コードを取得することもできますgbm.interactions。相互作用テストは、次のコマンドに要約されます (ソースから直接コピーされます)。

interaction.test.model <- lm(prediction ~ as.factor(pred.frame[,1]) + as.factor(pred.frame[,2]))

interaction.flag <- round(mean(resid(interaction.test.model)^2) * 1000,2)

pred.frame問題の 2 つの予測子のグリッドが含まれており、考慮中の 2 つを除くすべての予測子が平均に設定されてpredictionいる元の近似モデルからの予測です。gbm

これは、フリードマンの H 統計量(Friedman & Popescue, 2005)とは異なります。これは、予測子の任意のペアに対して式 (44) を介して推定されます。これは基本的に、他の変数を平均値に設定するのではなく、他の変数の値を平均する任意の 2 つの予測変数の加法性からの逸脱です。これは、2 つの変数 (またはモデルの暗黙の予測) の部分依存関数の合計分散のパーセントとして表されるため、常に 0 ~ 1 の間になります。

于 2015-09-24T13:31:14.470 に答える