2
如何自动提取R^2对于整条曲线不理想的曲线的拟合线性部分?如何查找曲线的线性部分
例如 我有什么:
data.lm
x y
1 1 1
2 2 8
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 5
9 9 2
10 10 7
rg.lm < - 流明(Y〜X,data.lm) rg.lm
Coefficients:
(Intercept) x
3.7333 0.1939
摘要(rg.lm)
Residuals:
Min 1Q Median 3Q Max
-3.4788 -1.1136 0.0061 1.2712 3.8788
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.7333 1.6111 2.317 0.0491 *
x 0.1939 0.2597 0.747 0.4765
Residual standard error: 2.358 on 8 degrees of freedom
Multiple R-squared: 0.06519, Adjusted R-squared: -0.05166
F-statistic: 0.5579 on 1 and 8 DF, p-value: 0.4765
我期待什么:
data.lm.ex < - unknown.function(data.lm) data.lm.前
x y
1 3 3
2 4 4
3 5 5
4 6 6
7 7 7
Anoth呃例子来自真实数据:
data.lm
time OD
1 0 2.175
2 30 2.134
3 60 2.189
4 90 2.141
5 120 2.854
6 150 3.331
7 180 3.642
8 210 4.333
9 240 4.987
10 270 5.093
11 300 4.943
12 330 5.198
13 360 4.804
摘要(LM(data.lm))$ r.squared
[1] 0.8981063
summary(lm(data.lm [4:9,]))$ r.squared
[1] 0.9886727
正如上面所示,线4之间的间隔到9具有比整个曲线绝对更高R^2。你能否让我知道用自动的方法来找到最高r^2的区间,并且至少有一定数量的点(由于2个点始终存在r^2 = 1.0)?
非常感谢。遗憾的是,这种解决方案仅适用于完全线性的配件。对于实际数据来说,R^2不可能是1.0。 –
在编辑的问题中添加了一个真实的例子。在你方便的时候,你能帮我找出答案吗? –
当我看到您提供的这些新数据时,我会看到三个线性部分。你对哪一个感兴趣? – akond