有没有办法计算两个变量中多项式模型的参数.它们是独立的,因此:
z = a + bx + cx^2 + dy + ey^2
我被告知你可以使用numpy.polyfit,但它只能支持两个变量而不是我需要的三个变量.我的数据当前存储在三个numpy数组中,这样数组中每个数据的索引与其他变量中该索引处的数据相关联.即
Y = [1 2 3 4 5]
X = [3 5 7 9 11]
Z = [2 4 6 2 6]
1与3和2相关; 2与5和4相关,依此类推.
我该如何处理这个问题?
最佳答案 polyfit假设一个变量.但是,您想要做的是求解一般的线性方程组.
用线性代数表达问题
你有一个等式:
z = a + bx + cx^2 + dy + ey^2
并且观察到x,y和z的5个点.这给了我们5个方程式:
z1 = a + bx1 + cx1^2 + dy1 + ey1^2
z2 = a + bx2 + cx2^2 + dy2 + ey2^2
z3 = a + bx3 + cx3^2 + dy3 + ey3^2
z4 = a + bx4 + cx4^2 + dy4 + ey4^2
z5 = a + bx5 + cx5^2 + dy5 + ey5^2
最容易将其视为线性代数问题.我们可以将方程组重写为矩阵乘法:
|z1| |1 x1 x1^2 y1 y1^2| |a|
|z2| |