関連: R:ggplot2を使用してLOESS曲線の勾配変化をマークする
この質問は、最小/最大y(勾配= 0)を見つけようとしています。最小/最大を見つけたい
背景として、私はいくつかのさまざまなモデリング手法を実行しており、ニューラルネットワークの結果を反復処理するときにランダムシードによって生成された最良のモデルを測定するために勾配を使用する可能性があると考えました。
データを取得します。
nn <- read.csv("http://pastebin.com/raw.php?i=6SSCb3QR", header=T)
rbf <- read.csv("http://pastebin.com/raw.php?i=hfmY1g46", header=T)
例として、これが私のデータのために訓練されたニューラルネットワークの結果です:
library(ggplot2)
ggplot(nn, aes(x=x, y=y, colour=factor(group))) +
geom_point() + stat_smooth(method="loess", se=F)
同様に、次の1つのrbfモデルがあります。
ggplot(rbf, aes(x=x, y=y, colour=factor(group))) +
geom_point() + stat_smooth(method="loess", se=F)
RBFモデルはデータによりよく適合し、変数の背景知識とよりよく一致します。急な崖とより緩やかな曲線を持つNNを取り除くために、フィットした線の最小/最大勾配を計算しようと考えました。交差する線を特定することは、剪定する別の方法ですが、それは別の質問です。
提案をありがとう。
注:ここで使用ggplot2
し、それに応じて質問にタグを付けましたが、それは他の関数で実行できなかったという意味ではありません。なぜこれをやろうとしているのかを視覚的に説明したかっただけです。ループはy1-y 0 / x 1 -x 0でこれを行うことができると思いますが、おそらくもっと良い方法があります。