我在试着找一条曲线的切线向量.曲线的方程是一个问题,我有不同的点,基于这些点,我在寻找函数的近似值,它描述了曲线,并拟合点.
When I plot my data it looks like this:
在应用多项式回归(基于本文:https://www.statology.org/curve-fitting-in-r/)之后,我得到以下结果:
fit <- lm(cl2[,3] ~ poly(cl2[,2], 3))
summary(fit)
Call:
lm(formula = cl2[, 3] ~ poly(cl2[, 2], 3))
Residuals:
Min 1Q Median 3Q Max
-0.31834 -0.10187 0.02132 0.09577 0.27393
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -109.89121 0.03789 -2900.217 < 2e-16 ***
poly(cl2[, 2], 3)1 7.33365 0.16516 44.403 < 2e-16 ***
poly(cl2[, 2], 3)2 -4.43572 0.16516 -26.857 4.25e-14 ***
poly(cl2[, 2], 3)3 1.14772 0.16516 6.949 4.66e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1652 on 15 degrees of freedom
Multiple R-squared: 0.9946, Adjusted R-squared: 0.9935
F-statistic: 913.7 on 3 and 15 DF, p-value: < 2.2e-16
当我对曲线进行拟合时,结果看起来不错:
lines(cl2[,2], predict(fit, data.frame(cl2[,2:3])))
根据系数S,我假设曲线的方程式为:
1.14x**3-4.43 x**2+7.33*x-109
当我计算y估计时,我得到了非常奇怪的数字:
和当前(_C):
[1]-108.4569-108.1504-108.0895-108.0728-108.0461-108.1777-108.2751-108.4619-108.6918 [10]-108.9750-109.3552-109.7625-110.3328-110.9580-111.4312-112.0062-112.7337-113.5880 [19]-114.3681
Y_RESPECTED:
[1]-8935267-8980331-9044297-9115821-9166614-9270340-9355643-9456574-9533497-9602089 [11]-9631113-9670175-9715100-9754453-9798813-9851816-9880888-9926067-9940310
这里出了什么问题?
我try 将POLY函数的原始变量设置为真,得到了不同的系数,但问题仍然存在.
Edit
dput
格式的数据
y_actual <-
c(-108.4569, -108.1504, -108.0895, -108.0728, -108.0461, -108.1777,
-108.2751, -108.4619, -108.6918, -108.975, -109.3552, -109.7625,
-110.3328, -110.958, -111.4312, -112.0062, -112.7337, -113.588,
-114.3681)
y_predicted <-
c(-8935267, -8980331, -9044297, -9115821, -9166614, -9270340,
-9355643, -9456574, -9533497, -9602089, -9631113, -9670175, -9715100,
-9754453, -9798813, -9851816, -9880888, -9926067, -9940310)
编辑:
x_values <- c(-197.3419, -197.6753, -198.1467, -198.6710, -199.0418, -199.7946, -200.4095, -201.1323, -201.6797, -202.1654, -202.3702, -202.6451, -202.9605, -203.2359, -203.5455, -203.9142, -204.1158, -204.4285, -204.5268)