为什么两个具有不同基础的 lm log 模型会产生相同的预测?
Why are two lm log models with different bases produce the same predictions?
我正在尝试使用 lm() 和 predict() 函数预测值,两个不同的函数产生相同的值
考虑 data.frame
d <- structure(list(sample_number = 1:9,
cumSum = c(200.903, 296.329, 370.018, 431.59, 485.14, 533.233, 576.595, 616.536, 654)),
class = "data.frame", row.names = c(NA, 9L))
我正在制作两个不同底座的独立模型。型号其实不一样
lmEBase2 <- lm(cumSum~log(sample_number, base = 2),data=d)
lmEBase3 <- lm(cumSum~log(sample_number, base = 3),data=d)
然而,预测是一样的
logPredBase2 <- predict(lmEBase2, newdata=data.frame(sample_number=1:20))
logPredBase3 <- predict(lmEBase3, newdata=data.frame(sample_number=1:20))
plot (d$sample_number, d$cumSum, xlim = c(0, 20), ylim = c(0, 1000), type = "b")
lines (1:20, logPredBase2)
lines (1:20, logPredBase3, col = "red")
为什么?
我希望不同对数基数的对数曲线形状不同,如维基百科中所示
当我们做线性回归时,我们用下面的公式拟合一条直线

其中




这证明截距相等的原因。
同样,




这就是为什么 229.4*log(2,base = 3) = 144.7
其中 229.4
是第二次拟合的系数,144.7
是第一次拟合的系数。并且截距相等。
这解释了执行的两个回归是如何相关的。
现在如果 Fit1 是,

而 Fit 2 是,

再次利用基数的变化可以看出Fit2等于Fit1
因为我们只用了基数的变化,所以不管我们用什么基数,所有的拟合都是一样的。
我正在尝试使用 lm() 和 predict() 函数预测值,两个不同的函数产生相同的值
考虑 data.frame
d <- structure(list(sample_number = 1:9,
cumSum = c(200.903, 296.329, 370.018, 431.59, 485.14, 533.233, 576.595, 616.536, 654)),
class = "data.frame", row.names = c(NA, 9L))
我正在制作两个不同底座的独立模型。型号其实不一样
lmEBase2 <- lm(cumSum~log(sample_number, base = 2),data=d)
lmEBase3 <- lm(cumSum~log(sample_number, base = 3),data=d)
然而,预测是一样的
logPredBase2 <- predict(lmEBase2, newdata=data.frame(sample_number=1:20))
logPredBase3 <- predict(lmEBase3, newdata=data.frame(sample_number=1:20))
plot (d$sample_number, d$cumSum, xlim = c(0, 20), ylim = c(0, 1000), type = "b")
lines (1:20, logPredBase2)
lines (1:20, logPredBase3, col = "red")
为什么?
我希望不同对数基数的对数曲线形状不同,如维基百科中所示
当我们做线性回归时,我们用下面的公式拟合一条直线
其中
这证明截距相等的原因。
同样,
这就是为什么 229.4*log(2,base = 3) = 144.7
其中 229.4
是第二次拟合的系数,144.7
是第一次拟合的系数。并且截距相等。
这解释了执行的两个回归是如何相关的。
现在如果 Fit1 是,
而 Fit 2 是,
再次利用基数的变化可以看出Fit2等于Fit1
因为我们只用了基数的变化,所以不管我们用什么基数,所有的拟合都是一样的。