【发布时间】:2015-09-15 21:07:35
【问题描述】:
在过去的两天里,我一直在尝试将曲线拟合到以下数据集。正如您所看到的(从图像中),数据本身形成了一条近乎完美的曲线,但我无法找到一种方法来以数学方式表示数据以进行插值和外推。
y = c(0.2966, 0.2793, 0.2147, 0.1523, 0.1177, 0.1026, 0.0934, 0.0767,
0.0729, 0.0693, 0.0658, 0.0624, 0.0561, 0.0502, 0.0424, 0.04, 0.0356,
0.0335, 0.0316, 0.0279, 0.0231, 0.0217, 0.0203, 0.019, 0.02, 0.016,
0.0151, 0.0134, 0.0127, 0.0119, 0.0113, 0.0106, 0.01, 0.0094, 0.0089,
0.0084, 0.0074, 0.007, 0.0062, 0.0059, 0.0053, 0.0048, 0.0043,
0.0041, 0.0037, 0.0033, 0.0032, 0.003, 0.0029, 0.0025, 0.0024,
0.0023, 0.0021, 0.002, 0.0016, 0.0016, 0.0014, 0.0012, 0.001,
0.0007, 0.0006, 0.0004, 0.0003)
x = c(0.77894, 0.79452, 0.85683, 0.92694, 0.97367, 0.99704, 1.01262,
1.04378, 1.05157, 1.05936, 1.06714, 1.07493, 1.09051, 1.10609,
1.12946, 1.13725, 1.15283, 1.16062, 1.16841, 1.18399, 1.20735,
1.21514, 1.22293, 1.23072, 1.2463, 1.25409, 1.26188, 1.27746,
1.28525, 1.29304, 1.30083, 1.30862, 1.3164, 1.32419, 1.33198,
1.33977, 1.35535, 1.36314, 1.37872, 1.38651, 1.40209, 1.41767,
1.43325, 1.44103, 1.45661, 1.47219, 1.47998, 1.48777, 1.49556,
1.51893, 1.52672, 1.53451, 1.55009, 1.55788, 1.58903, 1.59682,
1.6124, 1.63577, 1.67472, 1.75261, 1.79156, 1.86945, 1.92398)
这是用指数曲线(粉红色)和 4 阶多项式(红色)绘制的数据。当四阶拟合时,指数曲线有相当多的误差,但您无法使用它进行推断,并且在应用于类似的数据集时,它并不总是有效。
对于我正在做的事情,我真的需要一些完全适合曲线的东西,但我还没有弄清楚如何去做。谢谢。
【问题讨论】:
-
你可以试试:
lm(log(y)~x) -
如果我没记错的话,这不是指数曲线的对数变换吗?
-
看看
log(y)与x的图,我会非常怀疑比指数/log(y) ~ x更复杂的任何模型。 -
关于近距离投票的猜测:要求一种完全适合并且可用于外推的方法确实要求不可能。
-
感谢您以易于导入的格式提供数据。
标签: r math regression