3.29 FAQ-257 怎样对函数执行多元线性回归并获得解析解?

Last Update: 7/23/2018

如果一个方程中有多个线性相加的函数,你可以将其看做不同且独立的变量 (比如 x_1, x_2, x_3 \,, 等等) ,通过使用 Multiple Linear Regression 工具,你可以得到此方程的解析解,而不是使用 NLFit 工具得到一个迭代解。关键是要在工作簿中添加几列新列,并根据方程中的线性多项式进行填充列操作,然后对填充数据的新列执行多元线性回归分析。

假设你想要获得以下函数的解析解:

y=a*x+b*x^2+c*e^x \,

此函数可以变形为:

y=a*x_1+b*x_2+c*x_3 \,

其中, x_2=x^2 \,x_3=e^x\,.

我们需要先添加几列新列并根据两个函数 x^2 \,, e^x \, 分别进行列操作得到对应的函数值。然后对新列进行多元线性回归分析,并得到分析解。详细步骤如下:

  1. 新建一工作簿并导入 \Samples\Curve Fitting\ Exponential Growth.dat. 文件。
  2. 选择 B 列并右击单击选择 Insert 选项,操作两次,以在 B 列之后添加两列新列。
  3. 选择这两新列并右键单击,然后从弹出的快捷菜单中选择 Set As: X 选项,将新列的列绘图属性指定为 X
  4. 选择新列第二列并右击,从弹出的快捷菜单中选择 Set Column Values 。在 Set Column Values 对话框中,输入 col(A)^2 作为计算公式,单击 Apply 来填充第二列。
  5. 不要关闭 Set Values 对话框,在标题栏中选到第三列,这将直接可以设置第三列的值,这次输入 exp(col(A)) 作为计算公式,单击 OK 以应用。
  6. 选择所有列,转到菜单 Analysis: Fitting: Multiple Linear Regression 选项来打开 Multiple Regression 对话框。在 Fit Control 组中勾选 Fix Intercept 复选框,并确保 Fix Intercept at 编辑框中的数字是 0,单击 OK 来执行分析。
  7. 分析结果应该与下面图片展示的一样:
    MLRParameters1.png
    这表明最后结果分别是: a = -0.08256, b = 0.18566, c = 1.18432.

Keywords:regression, fitting, multiple linear regression, analytical solution, iterative solution,回归,拟合,多元线性回归,解析解,迭代解