繁体   English   中英

具有低r平方值的非线性回归问题

[英]Problem with non-linear regression with low r-squared value

我试图在数据集中拟合非线性回归线,但拟合线看起来奇怪,因为它是从y轴的中部开始的,因此R平方的值也很低(蓝线r2 = 50)。 我认为,如果可以将其修改为红线,则可能会导致更好的r平方。 那正确吗?

数据:

    x <- c(72925.54, 1169812.77, 62098.7, 567929.36, 46506.39, 275755.22, 
31651.06, 17552.06, 6065.29, 52617.75, 32729.35, 50706.11, 6169.27, 
4360.01, 26799.12, 20747.9, 15518.09, 26800.22, 67470.81, 613530.49, 
4813.84, 17286.46, 1537712.05, 1466311.98, 18952.34, 49014.31, 
1408119.34, 160026.59, 17802.44, 447694.5, 18220.26, 13113.15, 
10206.27, 415138.24, 1572750.08, 140690.08, 16414.01, 51985.79, 
2025197.14)

    y <- c(30.66, 48.66, 49.92, 14.63, 7.77, 35.79, 25.1, 4.59, 8.26, 
8.99, 33.49, 15.94, 6.32, 11.78, 10.77, 28.08, 9.33, 37.26, 53.99, 
25.72, 40.54, 44.26, 48.62, 26.07, 28.32, 36.21, 53.59, 33.42, 
39.2, 70.21, 39.16, 34.65, 36.5, 55.87, 47.59, 46.09, 34.38, 
29.79, 53.1)

#my df
df <- data.frame(x,y)

脚本:

library(ggplot2)
p2 <- df %>%
  ggplot(aes(x, y)) +
  xlab("x axis") + ylab("y axis") +
  geom_point(color = 'black', alpha = 0.5, size=2) +
  geom_smooth(se = FALSE, method = "lm", formula = y ~ (log(x)), colour = 'blue', size = 2)+
  theme_tq() +
  labs(title = "Plot 1")

p2

#calculating r-squared
yy <- predict(lm(y ~ log(x), data = df))
r2 <- cor(y, yy)^2

谢谢你的帮助。

在此处输入图片说明

我的方程式搜索使用参数a = -1.6833016837382591E + 01和b = 4.4249791262770692E + 00生成了两参数方程式“ y = a + b * ln(x)”,得出RMSE = 14.1和R-平方= 0.241

情节

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM