如何使用线性最小二乘回归方法,计算二元多项式中的系数

medvdt=Dmech+Daero=Am+BmV+CmV2+12×ρ×Af×Vr2×a0+a1Y+a2Y2+a3Y3+a4Y4

其中me,dv,dt,V,ρ,Vr,Y都是已知量。

可以在V=130,120,110,100,90,80,70,60,50,40,30,20km/h车速下,可以同时获取上述已知量。

请问,如何通过线性最小二乘回归方法,计算出来Am,Bm,Cm,a0,a1,a2,a3,a4。

最好有详细的公式。

Af也是已知的吗?如果是,就是一个多元线性回归的最小二乘法问题。

把多元线性回归方程写成矩阵形式为:

Y=Xw

其中,w=[Am,Bm,Cm,a0,a1,a2,a3,a4]^T,T表示转置。

X是一个12*8的矩阵,Y是一个12*1的矩阵,w是一个8*1的矩阵。

需要注意的是,Am前面的系数是1,相当于X的第一列是1。

多元线性回归的最小二乘法的目标函数为:

l(w)=(Xw-Y)^T(Xw-Y)

根据微积分极值定理,函数l关于w中的各个参数分别偏导,并令其等于0,这样会得到一个方程组,然后解这个方程组,可以得到参数w的值。

不过,一般都用矩阵运算,则得到w=(X^TX)^(-1)(X^T)Y(-1表示求逆)

写代码,将数据X、Y以矩阵的方式表示,然后代入以上式子,即可得到参数w,即Am,Bm,Cm,a0,a1,a2,a3,a4的值。

Java中有包可以实现矩阵运算。

Af也是已知量,现在就是需要个详细算法,最好是Java的流程

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632