2

M と F という 2 種類の個体があり、それぞれが 6 つの変数 (6D 空間 S を形成する) で記述されます。M と F の密度が最大に異なる S の領域を特定したいと思います。最初に、F/M を 6 つの変数にリンクするロジスティック二項モデルを試しましたが、この GLM モデルの結果は解釈が非常に困難です (一部には、多数の重要な交互作用項があるため)。したがって、私は「空間」分析を考えています。ここでは、S のあらゆる場所で M と F の個人の密度を別々に推定し、密度の差を計算します。最終的には、密度の最大の差を手動で探し、6 つの変数で値を抽出します。

パッケージ sm で、3 次元空間の密度を推定できる関数 sm.density を見つけましたが、n>3 の空間では何も見つかりません。Rでこれを行うことができる何かを知っていますか? または、最初の質問 (2 番目の文) に答えるよりエレガントな方法がありますか?

事前に、ご協力いただきありがとうございます

4

2 に答える 2

3

kdeこのパッケージの関数は、ks次元が 1 ~ 6 の多項データのカーネル密度推定を実行します。

pdfClusternpパッケージは、高次元でカーネル密度推定を実行する関数を提案します。

パラメトリック手法を好む場合は、mclustまたはのようなガウス混合推定を行う R パッケージを調べますmixtools

于 2014-06-11T09:23:53.873 に答える
2

GLM モデルでこれを行う能力は、既に遭遇した解釈可能性の問題と数値安定性の問題の両方によって制約される場合があります。さらに、GLM モデルについても記述していないため、非線形性を考慮しているかどうかを確認することはできません。大量のデータがある場合は、2D クロス スプライン項の使用を検討してください。(これらは実際には密度の推定値ではありません。) rms/Hmisc パッケージの施設を使用して 5 次元で最初の探査を行っていた場合、次のようになります。

  library(rms)
  dd <- datadist(dat)
  options(datadist="dd")

  big.mod <- lrm( MF ~ ( rcs(var1, 3) +    # `lrm` is logistic regression in rms
                         rcs(var2, 3) +
                         rcs(var3, 3) +
                         rcs(var4, 3) +
                         rcs(var5, 3) )^2,# all 2way interactions
                    data=dat,
                    max.iter=50) # these fits may take longer times
   bplot( Predict(bid.mod, var1,var2, n=10) )

これは、「5 次元」モデル推定値に対する var1 と var2 の寄与の同時関数形式を、それぞれ 10 ポイントで、他の 3 つの変数の中央値で示しているはずです。

于 2012-05-08T15:39:55.523 に答える