函数近似与回归分析

这个在线计算器用几个简单的回归模型来逼近由一组数据点给出的未知函数。

这个页面的存在是由于以下各位的努力:

Timur

Timur

Wanghong

创建: 2021-11-29 03:33:46, 最后更新: 2021-11-29 03:33:46

函数近似问题是如何在定义明确的类别中选择一个函数,这个类与目标未知函数非常匹配(“近似”)。

这个计算器利用所提供的目标函数表数据,以点{x, f(x)}的形式,建立多个回归模型,比如:线性回归、二次回归、三次回归、幂回归、对数回归、双曲回归、ab-指数回归、指数回归。 结果可以使用相关系数、决定系数、平均相对误差(回归的标准误差)和在图表上直观地进行比较。 和往常一样,理论和公式在计算器下面给出。

PLANETCALC, 函数近似与回归分析

函数近似与回归分析

小数点后的数字: 4
线性回归
 
线性相关系数
 
确定系数
 
平均相对误差, %
 
二次回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
三次回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
乘方回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
ab-指数回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
对数回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
双曲回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
指数回归
 
相关系数
 
确定系数
 
平均相对误差, %
 
结果
这个文件很大。浏览器在加载和创建过程中可能会减速。

线性回归

方程:
\widehat{y}=ax+b

系数a
a&=\frac{\sum x_i \sum y_i- n\sum x_iy_i}{\left(\sum x_i\right)^2-n\sum x_i^2}

系数b
b&=\frac{\sum x_i \sum x_iy_i-\sum x_i^2\sum y_i}{\left(\sum x_i\right)^2-n\sum x_i^2}

线性相关系数
r_{xy}&=\frac{n\sum x_iy_i-\sum x_i\sum y_i}{\sqrt{\left(n\sum x_i^2-\left(\sum x_i\right)^2\right)\!\!\left(n\sum y_i^2-\left(\sum y_i\right)^2 \right)}}

确定系数
R^2=r_{xy}^2

回归标准误差
\overline{A}=\dfrac{1}{n}\sum\left|\dfrac{y_i-\widehat{y}_i}{y_i}\right|\cdot100\%

二次回归

方程:
\widehat{y}=ax^2+bx+c

方程组求a、b和c
\begin{cases}a\sum x_i^2+b\sum x_i+nc=\sum y_i\,,\\[2pt] a\sum x_i^3+b\sum x_i^2+c\sum x_i=\sum x_iy_i\,,\\[2pt] a\sum x_i^4+b\sum x_i^3+c\sum x_i^2=\sum x_i^2y_i\,;\end{cases}

相关系数
R= \sqrt{1-\frac{\sum(y_i-\widehat{y}_i)^2}{\sum(y_i-\overline{y})^2}},
其中
\overline{y}= \dfrac{1}{n}\sum y_i

确定系数
R^2

回归标准误差
\overline{A}=\dfrac{1}{n}\sum\left|\dfrac{y_i-\widehat{y}_i}{y_i}\right|\cdot100\%

三次回归

方程:
\widehat{y}=ax^3+bx^2+cx+d

方程组求a、b、c 和 d
\begin{cases}a\sum x_i^3+b\sum x_i^2+c\sum x_i+nd=\sum y_i\,,\\[2pt] a\sum x_i^4+b\sum x_i^3+c\sum x_i^2+d\sum x_i=\sum x_iy_i\,,\\[2pt] a\sum x_i^5+b\sum x_i^4+c\sum x_i^3+d\sum x_i^2=\sum x_i^2y_i\,,\\[2pt] a\sum x_i^6+b\sum x_i^5+c\sum x_i^4+d\sum x_i^3=\sum x_i^3y_i\,;\end{cases}

相关系数,确定系数,回归标准误差—公式与二次回归的情况相同。

乘方回归

方程:
\widehat{y}=a\cdot x^b

系数b
b=\dfrac{n\sum(\ln x_i\cdot\ln y_i)-\sum\ln x_i\cdot\sum\ln y_i }{n\sum\ln^2x_i-\left(\sum\ln x_i\right)^2 }

系数a
a=\exp\!\left(\dfrac{1}{n}\sum\ln y_i-\dfrac{b}{n}\sum\ln x_i\right)

相关系数,确定系数,回归标准误差,公式同上。

ab-回指数归

方程:
\widehat{y}=a\cdot b^x

系数b
b=\exp\dfrac{n\sum x_i\ln y_i-\sum x_i\cdot\sum\ln y_i }{n\sum x_i^2-\left(\sum x_i\right)^2 }

系数a
a=\exp\!\left(\dfrac{1}{n}\sum\ln y_i-\dfrac{\ln b}{n}\sum x_i\right)

相关系数、判定系数、回归标准误差都相同。

双曲回归

方程:
\widehat{y}=a + \frac{b}{x}

系数b
b=\dfrac{n\sum\dfrac{y_i}{x_i}-\sum\dfrac{1}{x_i}\sum y_i }{n\sum\dfrac{1}{x_i^2}-\left(\sum\dfrac{1}{x_i}\right)^2 }

系数a
a=\dfrac{1}{n}\sum y_i-\dfrac{b}{n}\sum\dfrac{1}{x_i}

相关系数、确定系数、回归标准误差同上。

对数回归

方程:
\widehat{y}=a + b\ln x

系数b
b=\dfrac{n\sum(y_i\ln x_i)-\sum\ln x_i\cdot \sum y_i }{n\sum\ln^2x_i-\left(\sum\ln x_i\right)^2 }

系数a
a=\dfrac{1}{n}\sum y_i-\dfrac{b}{n}\sum\ln x_i

相关系数、确定系数、回归标准误差同上。

指数回归

方程:
\widehat{y}=e^{a+bx}

系数b
b=\dfrac{n\sum x_i\ln y_i-\sum x_i\cdot\sum\ln y_i }{n\sum x_i^2-\left(\sum x_i\right)^2 }

系数a
a=\dfrac{1}{n}\sum\ln y_i-\dfrac{b}{n}\sum x_i

相关系数、确定系数、回归标准误差同上。

公式推导

让我们从问题开始:
我们有一个未知函数y=f(x),以表数据的形式给出(例如,从实验中得到的数据)。
我们需要找到一个已知类型(线性,二次等)的函数y=F(x),这些值应该尽可能接近表中相同点的值。在实践中,函数的类型是通过直观地比较表中点的数值和已知函数的图形来确定的。

因此,我们可以得到公式y=F(x),叫做经验公式(回归方程,函数近似),它允许我们对表格中不存在的x计算y的值。因此,经验公式 "平滑 "了y的值。

我们使用最小二乘法来获得最佳拟合的F的参数。 最小二乘意义下的最佳拟合使残差平方和最小,残差是观察值与模型提供的拟合值之间的差值。

因此,当我们需要找到函数F,比如残差平方和,S将是最小的
S=\sum\limits_i(y_i-F(x_i))^2\rightarrow min

让我们以线性回归F=ax+b为例来说明这个问题的解决方法。
我们需要找到a和b系数的最佳拟合值,因此S是a和b的函数。为了找到最小值,我们将找到偏导数为零的极值点。

利用复合函数的导数公式,我们可以得到以下公式:
\begin{cases} \sum [y_i - F(x_i, a, b)]\cdot F^\prime_a(x_i, a, b)=0 \\ \sum [y_i - F(x_i, a, b)]\cdot F^\prime_b(x_i, a, b)=0 \end{cases}

对函数 F(x,a,b)=ax+b 偏导数是
F^\prime_a=x,
F^\prime_b=1

用偏导数展开第一个公式,我们将得到下列方程组:
\begin{cases} \sum (y_i - ax_i-b)\cdot x_i=0 \\ \sum (y_i - ax_i-b)=0 \end{cases}

去掉括号后,我们将得到以下结果:
\begin{cases} \sum y_ix_i - a \sum x_i^2-b\sum x_i=0 \\ \sum y_i - a\sum x_i - nb=0 \end{cases}

从这些方程中,我们可以得到a和b的公式,与上面列出的公式相同。

使用同样方法,我们可以得到所有剩余类型的回归公式。

URL 复制到剪贴板
PLANETCALC, 函数近似与回归分析

评论