4

Rがこれをできるかどうかはわかりません(できると思いますが、Rは何でもできると思い込んでいるからかもしれません:-))。私が必要としているのは、データセットを記述するのに最適な方程式を見つけることです。

たとえば、次の点があるとします。

df = data.frame(x = c(1, 5, 10, 25, 50, 100), y = c(100, 75, 50, 40, 30, 25))

どのようにして最適な式を取得しますか? 次の方法で最適な曲線を取得できることを知っています。

plot(loess(df$y ~ df$x))

しかし、私が理解したように、方程式を抽出することはできません。 Loess Fit and Resulting Equationを参照してください。

自分でビルドしようとすると (注意、私は数学者ではないので、これはおそらく理想的なアプローチではありません :-))、最終的には次のようになります。

y.predicted = 12.71 + ( 95 / (( (1 + df$x) ^ .5 ) / 1.3))

どのようなものに近似しているように見えますが、おそらくもっとエレガントなものが存在すると考えずにはいられません:-)

線形モデルまたは多項式モデルのフィッティングも機能しないと感じています。これは、式がこれらのモデルが一般的に使用するものとは異なるように見えるためです (つまり、これには除算、累乗などが必要なようです)。たとえば、R のデータへの多項式モデルの適合のアプローチでは、かなり悪い近似が得られます。

昔から、この種のことを行う言語が存在することを覚えています (Matlab もその 1 つですか?)。Rもこれを行うことができますか、それとも私は間違った場所にいますか?

(背景情報: 基本的に、最初の列の数字に基づいて 2 番目の列の数字を決定するための方程式を見つける必要があります。ただし、数字は自分で決定します。曲線をどのように見せたいかについてのアイデアはあります。のように, しかし、より適切に適合する場合は、これらの数値を方程式に調整できます. それは製品の価格設定に関するものです (定性データ分析のための現在の高価なソフトウェアの安価な代替手段); より多くの「プロジェクトクレジット」を購入するほど、安くなります.人々に特定の数字 (つまり、5、10、または 25) を強制的に購入させるよりも、人々が必要なものを正確に購入できるようにするための公式を用意する方がよいでしょうが、もちろんこれには公式が必要です。大丈夫だと思ういくつかの価格のアイデアですが、これを方程式に変換する必要があります。

4

2 に答える 2

4

私のいつものプラグイン: http://creativemachines.cornell.edu/eureqa

しかし、Roland が言ったように、「一般的に最適」はほとんど意味がありません。関数はテイラー級数として表現できるからです。データのセットには、その値にノイズ、つまりエラーが含まれていることが予想されるため、カーブ フィッティングの大部分は、何がノイズで何がそうでないかを判断することです。
当てはめ関数を任意に選択すると、外挿されたポイントが急いで発散することをほぼ保証できます。

于 2012-10-11T11:21:50.060 に答える
4

多重線形回帰の例

fit <- lm(y ~ x1 + x2 + x3, data=mydata)

summary(fit) # 結果を表示

上記のコードは、OLS を使用してデータに最適な行を提供するはずです。

于 2012-10-11T09:06:02.787 に答える