幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)

python获取留存曲线的幂函数系数并计算生命周期LT 中介绍了获取幂函数系数的两种方式,下文对第一种方法【lnx、lny对应的线性拟合,最小二乘法求解系数】进行公式推导。

幂函数:y=a*x^(-b)

两边求对数:lny=-blnx+lna

令:Y=lny,A=-b,X=lnx,B=lna

转化为一元线性方程:Y=AX+B

则:b=-A,a=e^B=e^(Y-AX)

故而问题转化成求一元线性方程Y=AX+B 的系数AB

1)最小二乘法求解系数

Y=AX+B

幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)_第1张图片

 幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)_第2张图片

 幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)_第3张图片

此时对应python公式如下:

    A = (n * sum(x*y) - sum(x)*sum(y)) / (n*sum(x * x)- sum(x)*sum(x))

    B = (sum(x*x)*sum(y) - sum(x)*sum(x*y)) / (n*sum(x * x)- sum(x)*sum(x))

2)上述系数与常见形式转化

常见形式(来自:最小二乘法-维基百科 ):

幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)_第4张图片

 幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)_第5张图片

 幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)_第6张图片

此时对应python公式如下(常见形式)

    x = np.array(list(map(lnhandle, fields_avg)))

    y = np.array(list(map(lnhandle, result_average)))


    x_mean = np.mean(x)

    y_mean = np.mean(y)


    m1 = 0

    m2 = 0

    for xi, yi in zip(x, y):

        m1 += (xi - x_mean) * (yi - y_mean)

        m2 += (xi - x_mean) ** 2


b = m1 / m2

a = math.exp(y_mean - b * x_mean)


————————————————

版权声明:本文为CSDN博主「Backup and share」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/ISIS7Protessional/article/details/115094852

你可能感兴趣的:(数据分析基础,python,线性回归,最小二乘法)