r - 在 R 中,如何获得一组数据的最佳拟合方程?

标签 r equation

我不确定 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))

哪种似乎接近它 - 但我不禁认为可能存在更优雅的东西:-)

我觉得拟合线性或多项式模型也行不通,因为公式似乎与那些模型通常使用的不同(即这个模型似乎需要除法、幂等)。例如Fitting polynomial model to data in R中的方法给出了非常糟糕的近似值。

我记得很久以前就存在做这种事情的语言(Matlab 可能是其中之一?)。 R 也可以这样做,还是我只是在错误的地方?

(背景信息:基本上,我们需要做的是根据第一列中的数字找到确定第二列中数字的等式;但我们自己决定数字。我们对曲线的外观有了一个想法像,但如果我们得到更好的拟合,我们可以将这些数字调整为一个等式。这是关于产品的定价(一种比当前昂贵的定性数据分析软件更便宜的替代品);您购买的“项目信用”越多,就越便宜它应该变成。与其强制人们购买给定的数字(即 5 或 10 或 25),不如有一个公式,这样人们就可以准确地购买他们需要的东西——但这当然需要一个公式。我们有一个公式对于我们认为可以的某些价格的想法,但现在我们需要将其转化为等式。

最佳答案

多元线性回归示例

适合 <- lm(y ~ x1 + x2 + x3,数据=我的数据)

summary(fit) # 显示结果

上面的代码应该为您提供最适合使用 OLS 的数据的行。

关于r - 在 R 中,如何获得一组数据的最佳拟合方程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835747/

相关文章:

r - 如何从 R 中的 .csv 文件中读取列向量

animation - iOS 7 Spring 动画的时间与位置图方程(animateWithDuration :delay:usingSpringWithDamping:. ..)

c++ - 返回错误答案的简单 C++ 二次方程求解器

r - dplyr:lubridate:如何按周计算发生次数并在每日数据上分布

r - R中的文本到列等价物,在字符上拆分数据框

r - 在 R markdown 中创建括号内的文本(在项目符号列表中)

r - 在刻面外/刻面之间添加显着性线

C 语言的复合辛普森规则

python - 如何在Python中创建一个函数,该函数接受乘积并重新代入方程以获得解

在 TeX 方程中转义一个字符?