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 的系数A和B。
1)最小二乘法求解系数
Y=AX+B
此时对应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)上述系数与常见形式转化
常见形式(来自:最小二乘法-维基百科 ):
此时对应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



