2

from np パッケージを使用npcdensして、共変量 x で y の条件付き密度を構築しています。ただし、yに関するこの密度の対数の導関数が必要です。Rでこれを取得する方法はありますか?

  bw   <- npcdensbw(formula=y ~ x1+x2+x3)
  fhat <- npcdens(bws=bw,gradients=TRUE)
  grad.fhat <- gradients(npcdens(bws=bw,gradients=TRUE)) 

に関する勾配を返しますx1x2x3

4

1 に答える 1

1

このサンプルデータセットを使用できますか?

dta = data.frame(expand.grid(x1=1:5,x2=2:6,x3=5:10))
dta$y = with(dta,x1+2*x2 + 3*x3^2)
head(dta)
  x1 x2 x3  y
1  1  2  5 80
2  2  2  5 81
3  3  2  5 82
4  4  2  5 83
5  5  2  5 84
6  1  3  5 82

yは「密度」の値です。条件付き帯域幅オブジェクトを推定する

bw <- npcdensbw(formula = y ~ x1+x2+x3,data=dta)

グラデーションを見てください

head(gradients(npcdens(bws=bw,gradients=TRUE)))

              [,1]          [,2]           [,3]
[1,] -2.024422e-15 -2.048994e-50 -1.227563e-294
[2,] -1.444541e-15 -1.994174e-50 -1.604693e-294
[3,] -1.017979e-31 -1.201719e-50 -1.743784e-294
[4,]  1.444541e-15 -6.753912e-64 -1.604693e-294
[5,]  2.024422e-15  1.201719e-50 -1.227563e-294
[6,] -2.024422e-15 -3.250713e-50 -1.227563e-294

「yに関する導関数」とはどういう意味ですか?これは関数g(x1、x2、x3)であるため、これらの3次元の導関数のみを取得できます。あなたの質問の「yの対数」の部分に関して、これはそれでしょうか?

bw <- npcdensbw(formula = log(y) ~ x1 + x2 + x3,data=dta)

私はこのパッケージを使ったことがないので、これらは非開業医の考えです。の例を見たと思いますhelp(npcdensbw)か?

于 2012-09-19T14:07:45.703 に答える