0

私はlmRobを使用しています。

require(robust)
stack.rob.int <- lmRob(Loss ~.*., data = stack.dat)

結構ですが、実際のフィッティングで lmRob 関数によって使用される psi 関数をどのように取得できるのか疑問に思っていました。助けてくれてありがとう!

Robustbase で lmrob 関数を使用する場合、psi 関数を変更して定数を減算することは可能ですか。私は、Lahiri (Annals of Statistics, 1992) に従ってブートストラップを実装しようとしています。ブートストラップを有効に保つ方法は、psi() を元の psi() から残差の平均を差し引いたものに置き換えることであると述べられています。堅牢な線形モデルのブートストラップ。

4

1 に答える 1

1

psiしたがって、 の関数に直接アクセスする方法はありませんrobust::lmRob()

簡単に言えば、(または重みを指定した場合)lmRob()を呼び出し、続いて を呼び出して、 セットに応じてFortran バージョンの初期値をまたはに設定しますlmRob.fit()lmRob.wfit()lmRob.fit.compute()lmRob.control()"bisquare""optimal"

上記の議論の結果、psi 関数にアクセスする必要がある場合は、多くのpsi 関数robustbaseに簡単にアクセスできるため、を使用することをお勧めします( biweightsを参照) 。

編集 1

それにかんする:

lmRob の残差で評価される psi 関数

いいえ。実行後に利用できるものの詳細については、 を参照しlmRobてくださいlmRob.object。ドキュメントには、 からアクセスできます?lmRob.object。残差に関しては、以下lmRobオブジェクトで利用可能です。

  • residuals: で返される推定値に対応する残差ベクトルcoefficients
  • T.residuals: で返される推定値に対応する残差ベクトルT.coefficients
  • M.weights: の最終的な MM 推定に対応するロバスト推定の重みcoefficients(適用される場合)。
  • T.M.weights: の初期 S 推定に対応するロバスト推定の重みT.coefficients(適用される場合)。

それにかんする

lmRobで「最適」は何をしますか?

最適とは、次の psi 関数を指します。

sign(x)*(- (phi'(|x|) + c) / (phi(|x|) )

他の従来の psi 関数については、robustbaseのビネット または堅牢な教科書を参照してください。

于 2016-12-31T22:25:27.040 に答える