gpt4 book ai didi

r - Excel 中的幂律比 R 好用吗?

转载 作者:行者123 更新时间:2023-12-04 11:45:11 25 4
gpt4 key购买 nike

我正在尝试对一些数据进行建模。我在 Excel 上的运气比 R 好,但 Excel 解决方案无法扩展,所以我需要弄清楚如何在 R 中做到这一点。

Excel 会将趋势线映射到数据,而幂曲线会产生合理的 y = 0.6462x^-0.542。

当我将相同的数据放入 R 并尝试使用 poweRlaw 包中的连续幂律对其进行建模时,我得到类似 y = 0.14901x^-3.03671 的信息。截距太小,而 alpha 太大。

# 14 days of % of users retained
y = c(0.61431 , 0.42585 , 0.35427 , 0.33893 , 0.28853 , 0.26004 , 0.2352 , 0.20087 , 0.17969 , 0.1848 , 0.17311 , 0.17092 , 0.15777 , 0.14901)

y.pl = conpl$new(y)
y.pl_est = estimate_xmin(c_pl)
y.pl_est

# $KS
# 0.1068587
#
# $xmin
# 0.14901
#
# $pars
# 3.03673
#
# $ntail
# 14

Image shows how the models built from 14-days of data with Excel and R conpl() match up to the Actuals out to day 60

有没有办法使用 lmglm 来做一个功率曲线,给出合理的截距和 alpha?

最佳答案

我没有使用过 poweRlaw 包,但 R 的基础 nls(非线性最小二乘法)函数给出的结果类似于你使用 Excel 得到的结果。如果有区别,在检查我的代码是否有错误后,我的第一个想法是“对 Excel 来说更糟”:)。

# Data
dat = data.frame(x=1:14,
y = c(0.61431 , 0.42585 , 0.35427 , 0.33893 , 0.28853 , 0.26004 , 0.2352 , 0.20087 , 0.17969 , 0.1848 , 0.17311 , 0.17092 , 0.15777 , 0.14901))

# Model
m1 = nls(y ~ a*x^b, list(a=1,b=1), data=dat)
summary(m1)

Formula: y ~ a * x^b

Parameters:
Estimate Std. Error t value Pr(>|t|)
a 0.62104 0.01307 47.51 4.94e-15 ***
b -0.51460 0.01525 -33.74 2.92e-13 ***

# Plot nls model
curve(coef(m1)[1]*x^coef(m1)[2], from=1, to=14)

# Add curve for Excel model in red
curve(0.6462*x^(-0.542), from=1, to=14, col="red", lty=2, add=TRUE)

# Add data points
points(dat$x, dat$y)

enter image description here

关于r - Excel 中的幂律比 R 好用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623121/

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