1

私は機械学習に非常に慣れていないので、提案も受け付けています。今日、ミニマックスリスクと呼ばれるものを読みましたが、これが私の場合に可能かどうか疑問に思っていました.

私は 2 つのデータセットを持っており、垂直線の右側にある左の曲線の下の領域が垂直線の左側にある右の曲線の下の領域と等しくなるような線 (より正確には境界線) を見つけることに興味があります。ライン。Rでこれを行う方法はありますか?つまり、垂直線を引く正確な位置を見つけますか?

次のグラフをプロットするために使用できるサンプル データをここにいくつか掲載します。

ここに画像の説明を入力

4

1 に答える 1

3

関数を使用して各応答の推定カーネル密度を取得し、このリンクdensityに従って推定カーネル CDF を取得すると、質問は次のような値 を見つけることになります。通常のルート検索関数で解決できます。 :t1 - cdf1(t) = cdf2(t)

x1 <- subset(data, Type == 'Curve 1')$Value
x2 <- subset(data, Type == 'Curve 2')$Value

pdf1 <- density(x1)
f1 <- approxfun(pdf1$x, pdf1$y, yleft = 0, yright = 0)
cdf1 <- function(z){
  integrate(f1, -Inf, z)$value
}

pdf2 <- density(x2)
f2 <- approxfun(pdf2$x, pdf2$y, yleft = 0, yright = 0)
cdf2 <- function(z){
  integrate(f2, -Inf, z)$value
}

Target <- function(t){
  1 - cdf1(t) - cdf2(t)
}

uniroot(Target, range(c(x1, x2)))$root

R > uniroot(Target, range(c(x1, x2)))$root
[1] 0.06501821
于 2013-04-30T19:19:21.040 に答える