多くの単純なモデルを使用して曲線に自動的に適合するパッケージはありますか?
単純なモデルとは、次のことを意味します。
- ax + b
- ax ^ 2 + bx + c
- a * log(x)+ b
- a * x ^ n + b
- ax /(1 + bx)
- ax ^ n /(1 + bx ^ n)
- ..。
最良の方法は、2つのベクトルパラメーターXとYを取り、SSEを使用して近似された単純なモデルのリストを返す関数を用意することです。
多くの単純なモデルを使用して曲線に自動的に適合するパッケージはありますか?
単純なモデルとは、次のことを意味します。
最良の方法は、2つのベクトルパラメーターXとYを取り、SSEを使用して近似された単純なモデルのリストを返す関数を用意することです。
これを試して。 rhs
は右辺の文字ベクトルで、x
とy
はデータです。それぞれの式fo
を作成し、パラメータを抽出して、開始値としてそれぞれを 1 に設定します。最後に実行nls
され、ソートされた SSE が返されるため、結果は右辺で指定された SSE のベクトルになります。If verbose=TRUE
(デフォルト) の場合、各近似からの出力も表示されます。
sse <- function(rhs, x, y) sort(sapply(rhs, function(rhs, x, y, verbose = TRUE) {
fo <- as.formula(paste("y", rhs, sep = "~"))
nms <- setdiff(all.vars(fo), c("x", "y"))
start <- as.list(setNames(rep(1, length(nms)), nms))
fm <- nls(fo, data.frame(x, y), start = start)
if (verbose) { print(fm); cat("---\n") }
deviance(fm)
}, x = x, y = y))
## test
set.seed(123)
x <- 1:10
y <- rnorm(10, x)
# modify to suit
rhs <- c("a*x+b", "a*x*x+b*x+c")
sse(rhs, x, y)
分数多項式を評価する関数を提供するパッケージを調べることもできます。mboost
これまでのところ、これらは (関数でFP
) とmfp
(関数で) のように見えますmfp
。パッケージを試したことはありませんが、その背後にある理論はあなたが求めているものに合っています。
このmfp
パッケージは、2005 年にR-Newsで説明されました。
興味深いかもしれない2つの参考文献は
Royston P、Altman D (1994) 連続共変量の分数多項式を使用した回帰。アプリケーション統計 3: 429–467.
Sauerbrei W、Royston P (1999) 多変数予後および診断モデルの構築: 分数多項式を使用した予測変数の変換。王立統計学会誌 (シリーズ A) 162: 71–94。