У меня есть некоторые данные:
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. Как есть, две линейные модели должны показывать одинаковые значения? Что здесь не так, как мне получить правильные значения?
(моя конечная цель - иметь возможность строить интервалы прогнозирования)