我想使用一个数据集对点击链接所花费的钱进行回归,其中我注意到链接点击量在花费了一定的钱后趋于平稳。我想使用对数转换来更好地拟合这个平滑数据。
我的数据集如下所示:
link.clicks
[1] 34 60 54 49 63 100
MoneySpent
[1] 10.97 21.81 20.64 21.42 48.03 127.30我想预测MoneySpent每增加1美元,link.clicks的百分比变化。我的回归模型是:
regClicksLogLevel <- lm(log(link.clicks) ~ (MoneySpent), data = TwtrData)
summary(regClicksLogLevel)
visreg(regClicksLogLevel)但是,visreg生成的图形如下所示: 1:https://i.stack.imgur.com/eZqVG.png
当我将回归更改为:
regClicksLogLog <- lm(log(link.clicks) ~ log(MoneySpent), data = TwtrData)
summary(regClicksLogLog)
visreg(regClicksLogLog)我实际上得到了我正在寻找的拟合代码: 2:https://i.stack.imgur.com/MexwC.png
我之所以感到困惑,是因为我并不是想通过MoneySpent的%变化来预测link.clicks的%变化。
我试图通过MoneySpent中$单位的变化来预测link.clicks的百分比变化。
为什么我不能使用我的第一个回归regClicksLogLevel生成第二个图
发布于 2021-10-09 18:28:31
我猜这就是你要找的
library(tidyverse)
TwtrData = tibble(
link.clicks = c(34,60,54,49,63,100),
MoneySpent = c(10.97,21.81,20.64,21.42,48.03,127.30)
) %>% mutate(
perc.link.clicks = lag(link.clicks, default = 0)/link.clicks,
perc.MoneySpent = lag(MoneySpent, default = 0)/MoneySpent
)
regClicksLogLevel <- lm(perc.link.clicks ~ perc.MoneySpent, data = TwtrData)
summary(regClicksLogLevel)输出
Call:
lm(formula = perc.link.clicks ~ perc.MoneySpent, data = TwtrData)
Residuals:
1 2 3 4 5 6
-0.1422261 -0.0766939 -0.0839233 -0.0002346 0.1912170 0.1118608
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1422 0.1082 1.315 0.25890
perc.MoneySpent 0.9963 0.1631 6.109 0.00363 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1434 on 4 degrees of freedom
Multiple R-squared: 0.9032, Adjusted R-squared: 0.879
F-statistic: 37.32 on 1 and 4 DF, p-value: 0.003635这是图表
TwtrData %>% ggplot(aes(perc.MoneySpent, perc.link.clicks))+
geom_line()+
geom_smooth(method='lm',formula= y~x)+
scale_y_continuous(labels = scales::percent)+
scale_x_continuous(labels = scales::percent)

https://stackoverflow.com/questions/69499240
复制相似问题