化工过程导论/基本统计与数据分析
在进行实验时,通常会多次运行实验,尤其是在实验成本较低的情况下。科学家多次运行实验是为了消除测量中出现的随机误差(例如,用尺子测量时需要估算两个刻度线之间的长度),从而获得更精确的测量结果。然而,问题依然存在:如何将所有数据整合到一个更易于使用的数据集中?
假设您有 n 个在相同条件下获得的数据点,并且您希望将其整合到尽可能少的几个数据点中。一个有用的方法是使用某个集中值,该值在某种程度上“位于”所有原始数据点之间。事实上,这就是数据集的平均值。
根据数据分布的假设,计算数据集平均值的方法有很多种。最常用的方法之一是使用算术平均值,其定义为
其他类型的平均值包括w:几何平均值,当数据分布非常广泛(例如指数分布)时,应该使用该平均值,以及在传输现象中经常出现的“对数平均值”。
获得平均值后,您可以了解数据点“聚集”在哪个值附近,但它无法告诉您数据点在中心周围的分布情况。为此,需要使用另一个统计变量,称为标准差。标准差本质上是数据点与其平均值之间的平均距离。距离用平方距离表示,以防止负偏差减弱正偏差的影响。
标准差 的数学公式为
分母是 n-1 而不是 n,因为统计学家发现它在少量实验的情况下可以提供更好的结果;有关此方面的更详细解释,请参阅w:标准差。
在恒定条件下测量的某个数据集的标准差是衡量该数据集精确程度的指标。由于这个原因,标准差通常与平均值一起使用以报告实验结果。通常,结果报告为
如果假设某个分布,那么了解平均值和标准差可以帮助我们估计变量的实际值在某个范围内的概率,前提是数据中没有系统偏差。如果存在系统偏差(例如使用损坏的设备、疏忽等),那么任何统计方法都无法预测其影响。
假设您有一组在不同条件下获得的数据点 (),您从图形中怀疑可以合理地通过一条直线来估计这些数据点的趋势。您绘制的任何直线都将具有(或可以写成)以下形式
,其中 m 是直线的斜率,b 是 y 轴截距。
我们想要找到可以用来估计数据模式的最佳直线。这条直线将最有用地用于对我们已知点进行插值,以及对未知值进行外推(只要它们与测量值接近)。在最常用的度量中,拟合的“好坏”由直线与数据点之间的垂直距离 () 决定,该距离称为残差
为了使残差标准化,使其在正负值之间不相互抵消(从而有助于避免统计偏差),在进行最小二乘回归时,我们通常关注的是的平方。我们使用平方项而不是绝对值,因为函数是可微分的,如果您还没有学过微积分,不用担心这一点。
为了考虑所有数据点,我们只需最小化平方残差的总和
利用微积分,我们可以对它关于m和b求导,并求解方程,得到m和b的值,使其最小化平方和(因此这种技术的另一个名称是:最小二乘回归。公式如下,其中n是您要回归的总数据点数[1]
线性回归示例
[edit | edit source]示例:
假设你想测量你到学校的路线有多快,但不是直接看汽车的速度表。相反,你查看地图并读取每个交叉路口之间的距离,然后测量走完每个距离所需的时间。假设结果如表所示。你从家出发时离家多远?你平均速度的最佳估计是多少?
t(分钟) | D(码) |
---|---|
1.1 | 559.5 |
1.9 | 759.5 |
3.0 | 898.2 |
3.8 | 1116.3 |
5.3 | 1308.7 |
我们应该对任何这样的数据做的第一件事是将其绘制成图表,看看线性拟合是否合理。绘制此数据后,我们可以通过观察发现,线性拟合似乎是合理的。
现在我们需要计算回归公式中的所有值,为了手工计算,我们设置一个表
试验 | t | t^2 | D | D^2 | t*D |
---|---|---|---|---|---|
1 | 1.1 | 1.21 | 559.5 | 313040 | 615.45 |
2 | 1.9 | 3.61 | 759.5 | 576840 | 1443.05 |
3 | 3.0 | 9.00 | 898.2 | 806763 | 2694.6 |
4 | 3.8 | 14.44 | 1116.3 | 1246126 | 4241.94 |
5 | 5.3 | 28.09 | 1308.7 | 1712695 | 6936.11 |
总计 | 15.1 | 56.35 | 4642.2 | 4655464 | 15931.15 |
现在我们有了这些数据,就可以将其代入线性回归方程
所以
因此,最佳拟合线的方程为
将此图与数据一起绘制,看起来像这样
如何判断回归效果如何
[edit | edit source]在前面的例子中,我们直观地判断是否可以进行线性拟合,但是肯定有可能出现不太直观的例子!如果数据有一些轻微的曲线,它是否仍然“足够接近”以至于有用?虽然最终还是需要在看到拟合线图与数据对比后进行主观判断,但是有一个叫做 **相关系数** (r) 的数学工具可以帮助我们,它可以用多种不同的方式定义。其中一种方式如下 [1]
可以证明,这个值始终介于 -1 和 1 之间。它越接近 1(或 -1),线性拟合越合理。一般来说,数据点越多,r 需要越小才能成为好的拟合,但是一个好的经验法则是在寻找较高的值(高于 0.85 或 0.9),然后绘制图形以查看图形是否合理。有时会,有时不会,这个方法并非万无一失。
在上面的例子中,我们有
因此,数据与线性模型高度相关。
线性化
[edit | edit source]一般来说
[edit | edit source]无论何时需要将一个或多个参数拟合到数据中,最好先尝试 **线性化** 该函数,因为线性回归比非线性回归效率更高,准确性也更高。任何线性化的目标都是将函数简化为以下形式:
此方法与“标准”线性回归的区别在于,变量 1 和变量 2 可以是 x 和 y 的 **任何函数**,只要它们没有以任何方式组合(即,你不能有 作为其中一个变量)。该技术可以扩展到使用称为 w:多元线性回归 的方法进行多个变量,但由于这种方法更难执行,因此本节将重点介绍二维回归。
幂律
[edit | edit source]为了了解线性化的一些强大功能,让我们假设我们有两个变量 x 和 y,它们之间存在幂律关系
其中 A 和 b 是常数。如果我们有将 y 的变化与 x 的变化联系起来的数据,我们想知道 a 和 b 的值。如果方程保持当前形式,这很难做到,但我们可以将其更改为线性型函数!
这里的诀窍是我们需要消除指数 b,为此我们需要对等式两边取自然对数
使用对数定律,我们可以简化等式的右边,得到以下结果
这个等式的巧妙之处在于,它在某种程度上是线性的。如果我们绘制 ln(y) 与 ln(x) 的关系图,我们会得到一条斜率为 b,纵截距为 ln(A) 的直线。
指数函数
[edit | edit source]线性化的另一个常见应用是指数函数,其中 x 和 y 之间的关系可以用以下形式表示
这适用于任何底数,但实践中最常见的底数是欧拉常数 e。同样,我们对等式的两边取自然对数,以消除指数。
这次,绘制 ln y 与 x 的关系图,我们会得到一条斜率为 ln(b),纵截距为 ln(A) 的直线。
线性插值
[edit | edit source]通常,当您在图表上查找属性时,您会查找介于两个图表条件之间的条件。例如,如果您要查找 10 MPa 和 430oC 下蒸汽的比焓,您会在蒸汽表中看到类似这样的内容:[2]
T (oC) | H |
---|---|
400 | 2832.4 |
450 | 2943.4 |
您如何确定中间值?我们无法准确地知道,但我们可以假设 H(T) 是一个线性函数。如果我们假设它是线性的,那么我们可以很容易地找到中间值。首先,我们建立一个表格,其中包含未知值,如下所示
T (oC) | H |
---|---|
400 | 2832.4 |
430 | x |
450 | 2943.4 |
然后,由于我们假设 T 和 H 之间的关系是线性的,并且直线的斜率是一个常数,点 3 和 2 之间的斜率必须等于点 3 和 1 之间的斜率。
因此,我们可以写出
解得 x = 2899 kJ/kg
相同的方法可用于在两个表格值之间找到给定 H 的未知 T。
通用公式
[edit | edit source]为了推导出更通用的公式(虽然我总是从头开始推导,但拥有一个公式也很不错),让我们用变量替换数字,并为它们赋予更通用的符号
x | y |
---|---|
将点 3 和 2 之间的斜率等于点 3 和 1 之间的斜率,得到
然后可以根据需要求解该方程以得到 x* 或 y*。
需要记住的是,线性插值并不精确。其不精确程度取决于两个主要因素:
- x 和 y 之间的真实关系是什么(曲线越弯曲,线性近似越差)
- 表中连续 x 值之间的差值(距离越小,几乎任何函数都越接近一条直线)
因此,如果间距非常大,不建议使用线性插值。但是,如果没有其他近似方法可用,线性插值通常是唯一的选择,或者可以使用其他形式的插值(根据实际函数的不同,其准确性可能一样低)。
另请参见 w:插值。
[1]: Smith, Karl J. The Nature of Mathematics. Pacific Grove, California: Brooks/Cole Publishing company, 6e, p. 683
[2]: Sandler, Stanley I. Chemical, Biochemical, and Engineering Thermodynamics. University of Delaware: John Wiley and Sons, 4e, p. 923