最小二乘法题目及答案,10道典型练习题巩固基础


1. 题目:给定一组数据点,使用最小二乘法拟合一条直线,并计算直线的斜率和截距。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,直线方程为$y = mx + b$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - mx_i - b)^2$。

对$m$和$b$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial m}\sum_{i=1}^{n}(y_i - mx_i - b)^2 &= 0 \\

\frac{\partial}{\partial b}\sum_{i=1}^{n}(y_i - mx_i - b)^2 &= 0

\end{aligned}$

解此方程组,得到:

$\begin{aligned}

m &= \frac{\sum_{i=1}^{n}(x_i y_i) - n \bar{x} \bar{y}}{\sum_{i=1}^{n}x_i^2 - n \bar{x}^2} \\

b &= \bar{y} - m \bar{x}

\end{aligned}$

其中,$\bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i$,$\bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i$。

2. 题目:给定一个二次函数$y = ax^2 + bx + c$,使用最小二乘法从一组数据点中拟合该函数。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - ax_i^2 - bx_i - c)^2$。

对$a, b, c$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial a}\sum_{i=1}^{n}(y_i - ax_i^2 - bx_i - c)^2 &= 0 \\

\frac{\partial}{\partial b}\sum_{i=1}^{n}(y_i - ax_i^2 - bx_i - c)^2 &= 0 \\

\frac{\partial}{\partial c}\sum_{i=1}^{n}(y_i - ax_i^2 - bx_i - c)^2 &= 0

\end{aligned}$

解此方程组,得到:

$\begin{aligned}

a &= \frac{n \sum_{i=1}^{n} x_i^2 y_i - \sum_{i=1}^{n} x_i \sum_{i=1}^{n} x_i y_i + \sum_{i=1}^{n} x_i^2 \sum_{i=1}^{n} y_i - \sum_{i=1}^{n} x_i^2 \sum_{i=1}^{n} x_i}{n \sum_{i=1}^{n} x_i^4 - (\sum_{i=1}^{n} x_i^2)^2} \\

b &= \frac{\sum_{i=1}^{n} x_i^2 \sum_{i=1}^{n} x_i - \sum_{i=1}^{n} x_i \sum_{i=1}^{n} x_i^2 y_i + n \sum_{i=1}^{n} x_i y_i - \sum_{i=1}^{n} x_i \sum_{i=1}^{n} y_i}{n \sum_{i=1}^{n} x_i^4 - (\sum_{i=1}^{n} x_i^2)^2} \\

c &= \frac{\sum_{i=1}^{n} \sum_{i=1}^{n} x_i^2 y_i - \sum_{i=1}^{n} x_i^2 \sum_{i=1}^{n} y_i}{n \sum_{i=1}^{n} x_i^2} - a \frac{\sum_{i=1}^{n} x_i^2}{n} - b \frac{\sum_{i=1}^{n} x_i}{n}

\end{aligned}$

3. 题目:给定一组数据点,使用最小二乘法拟合一个多项式,并计算多项式的系数。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,多项式方程为$y = a_0 + a_1 x + a_2 x^2 + \ldots + a_k x^k$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - a_0 - a_1 x_i - a_2 x_i^2 - \ldots - a_k x_i^k)^2$。

对$a_0, a_1, a_2, \ldots, a_k$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial a_0}\sum_{i=1}^{n}(y_i - a_0 - a_1 x_i - a_2 x_i^2 - \ldots - a_k x_i^k)^2 &= 0 \\

\frac{\partial}{\partial a_1}\sum_{i=1}^{n}(y_i - a_0 - a_1 x_i - a_2 x_i^2 - \ldots - a_k x_i^k)^2 &= 0 \\

&\vdots \\

\frac{\partial}{\partial a_k}\sum_{i=1}^{n}(y_i - a_0 - a_1 x_i - a_2 x_i^2 - \ldots - a_k x_i^k)^2 &= 0

\end{aligned}$

解此方程组,得到多项式的系数。

4. 题目:给定一组数据点,使用最小二乘法拟合一个指数函数,并计算函数的参数。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,指数函数方程为$y = a e^{b x}$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - a e^{b x_i})^2$。

对$a, b$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial a}\sum_{i=1}^{n}(y_i - a e^{b x_i})^2 &= 0 \\

\frac{\partial}{\partial b}\sum_{i=1}^{n}(y_i - a e^{b x_i})^2 &= 0

\end{aligned}$

解此方程组,得到:

$\begin{aligned}

a &= \frac{\sum_{i=1}^{n} y_i e^{-b x_i}}{\sum_{i=1}^{n} e^{-b x_i}} \\

b &= \frac{n \sum_{i=1}^{n} x_i y_i e^{-b x_i} - \sum_{i=1}^{n} x_i \sum_{i=1}^{n} y_i e^{-b x_i}}{\sum_{i=1}^{n} x_i^2 e^{-b x_i} - \sum_{i=1}^{n} x_i e^{-b x_i}}

\end{aligned}$

5. 题目:给定一组数据点,使用最小二乘法拟合一个对数函数,并计算函数的参数。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,对数函数方程为$y = a + b \ln(x)$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - a - b \ln(x_i))^2$。

对$a, b$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial a}\sum_{i=1}^{n}(y_i - a - b \ln(x_i))^2 &= 0 \\

\frac{\partial}{\partial b}\sum_{i=1}^{n}(y_i - a - b \ln(x_i))^2 &= 0

\end{aligned}$

解此方程组,得到:

$\begin{aligned}

a &= \bar{y} - b \frac{\sum_{i=1}^{n} \ln(x_i)}{n} \\

b &= \frac{n \sum_{i=1}^{n} (y_i - \bar{y}) \ln(x_i)}{\sum_{i=1}^{n} (\ln(x_i))^2 - n (\bar{\ln(x)})^2}

\end{aligned}$

6. 题目:给定一组数据点,使用最小二乘法拟合一个正弦函数,并计算函数的参数。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,正弦函数方程为$y = a \sin(b x + c)$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - a \sin(b x_i + c))^2$。

对$a, b, c$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial a}\sum_{i=1}^{n}(y_i - a \sin(b x_i + c))^2 &= 0 \\

\frac{\partial}{\partial b}\sum_{i=1}^{n}(y_i - a \sin(b x_i + c))^2 &= 0 \\

\frac{\partial}{\partial c}\sum_{i=1}^{n}(y_i - a \sin(b x_i + c))^2 &= 0

\end{aligned}$

解此方程组,得到:

$\begin{aligned}

a &= \frac{2}{\pi n} \sqrt{\frac{\sum_{i=1}^{n} y_i^2}{\sum_{i=1}^{n} \cos^2(b x_i + c)}} \\

b &= \frac{2 \pi n}{\pi^2 n^2 - 4 \sum_{i=1}^{n} \cos^2(b x_i + c)} \left( \frac{\sum_{i=1}^{n} x_i y_i \cos(b x_i + c)}{\sum_{i=1}^{n} y_i^2} - \frac{\sum_{i=1}^{n} x_i \sum_{i=1}^{n} y_i \cos(b x_i + c)}{\sum_{i=1}^{n} x_i^2 \sum_{i=1}^{n} y_i^2} \right) \\

c &= \text{使用数值方法求解}

\end{aligned}$

7. 题目:给定一组数据点,使用最小二乘法拟合一个双曲线,并计算函数的参数。

答案:

设数据点为$(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,双曲线方程为$y = \frac{a}{b x + c}$。

最小二乘法的目标是最小化$\sum_{i=1}^{n}(y_i - \frac{a}{b x_i + c})^2$。

对$a, b, c$分别求偏导,并令其为0,得到方程组:

$\begin{aligned}

\frac{\partial}{\partial a}\sum_{i=1}^{n}(y_i - \frac{a}{b x_i + c})^2 &= 0 \\

\frac{\partial}{\partial b}\sum_{i=1}^{n}(y_i - \frac{a}{b x_i + c})^2 &= 0 \\

\frac{\partial}{\partial c}\sum_{i=1}^{n}(y_i - \frac{a}{b x_i + c})^2 &= 0

\end{aligned}$

解此方程组,得到:

$\begin{aligned}

a &= \frac{n c \sum_{i=1}^{n} x_i y_i - b \sum_{i=1}^{n} y_i + c \sum_{i=1}^{n} x_i \sum_{i=1}^{n} y_i}{n \sum_{i=1}^{n} x_i^2 - (\sum_{i=1}^{n} x_i)^2} \\

b &= \frac{n \sum_{i=1}^{n} x_i^2 y_i - c \sum_{