gpt4 book ai didi

R 在幂回归中 stat_smooth 和 lm(使用对数)之间的区别?

转载 作者:行者123 更新时间:2023-12-04 09:51:50 28 4
gpt4 key购买 nike

我有一些数据:

library(ggplot2)    
x <-c(2600248.25,1303899.14285714,1370136.33333333,353105.857142857, 145446.952380952,299032,75142.2631578947,40381.1818181818,6133.93103448276,975.234567901235,779.341463414634)
y <- c(4,7,6,14,21,9,19,22,29,81,41)

我试图对它进行回归和绘图。我的问题是我想进行回归并根据我的数据绘制它,但是当我对日志值使用 lm 时,预测和绘制与 stat_smooth 相比,我得到了一些不同的结果。考虑代码:
    fit0 <- lm(log(y) ~ log(x))
summary(fit0)

newx <- x
lm.fit <- predict(fit0, newdata = data.frame(x=newx), interval = "confidence")
df <- as.data.frame(cbind(x,y,lm.fit))

p <- ggplot(df, aes(x,y)) + geom_point() + geom_smooth(method = "lm", formula ="y~x") + scale_x_log10() + scale_y_log10()

p <- p + geom_line(aes(y=fit)) # result too low
p <- p + geom_line(aes(y=10^fit)) # result too high

正如所见,我已经尝试过使用日志结果并使用 10^x 转换回来。按原样,两个线性模型应该显示相同的值吗?这里有什么问题,我如何获得正确的值?

(我的最终目标是能够绘制预测区间)

最佳答案

您在 log10 上使用了 ggplot 比例,但在计算中使用了 log。在 R 中仅使用 log() 意味着您使用的是自然对数。当您改用 log10() 时,您会发现 geom_smoothlm 没有区别。由于 ggplot 只是调用 lm 例程,因此预期输出相同。

library(ggplot2)    
x <-c(2600248.25,1303899.14285714,1370136.33333333,353105.857142857, 145446.952380952,299032,75142.2631578947,40381.1818181818,6133.93103448276,975.234567901235,779.341463414634)
y <- c(4,7,6,14,21,9,19,22,29,81,41)

fit0 <- lm(log10(y) ~ log10(x))
summary(fit0)

newx <- x
fit <- predict(fit0, newdata = data.frame(x=newx), interval = "confidence")
df <- as.data.frame(cbind(x,y))

p <- ggplot(df, aes(x,y)) + geom_point() + geom_smooth(method = "lm", formula ="y~x") + scale_x_log10() + scale_y_log10()
p <- p + geom_line(aes(y=10^fit[,1]))
p

黑线和蓝线重叠,很难看清。尽管如此,这是输出图:
output

有关更多信息,请查看 documentation

log computes logarithms, by default natural logarithms, log10 computes common (i.e., base 10) logarithms, and log2 computes binary (i.e., base 2) logarithms. The general form log(x, base) computes logarithms with base base.

关于R 在幂回归中 stat_smooth 和 lm(使用对数)之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62005438/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com