Armv8 - 32 SIMD浮点编程相关技术详解
1. 最小二乘法拟合
简单线性回归是一种统计技术,用于建模两个变量之间的线性关系。其中一种流行的方法是最小二乘法拟合,它使用一组样本数据点来确定两个变量之间的最佳拟合曲线。在简单线性回归模型中,这条曲线是一条直线,其方程为 $y = mx + b$,其中 $x$ 是自变量,$y$ 是因变量,$m$ 是直线的斜率,$b$ 是直线在 $y$ 轴上的截距。
最小二乘法直线的斜率和截距通过一系列计算来确定,这些计算旨在最小化直线与样本数据点之间的平方偏差之和。计算出斜率和截距后,最小二乘法直线常用于根据已知的 $x$ 值预测未知的 $y$ 值。
相关计算公式如下:
- 斜率 $m$ 的计算公式:
- $m=\frac{n\sum_{i}x_iy_i-\sum_{i}x_i\sum_{i}y_i}{n\sum_{i}x_i^2 - (\sum_{i}x_i)^2}$
- 截距 $b$ 的计算公式:
- $b=\frac{\sum_{i}x_i^2\sum_{i}y_i-\sum_{i}x_i\sum_{i}x_iy_i}{n\sum_{i}x_i^2 - (\sum_{i}x_i)^2}$
可以发现,斜率和截距的分母是相同的,因此只需计算一次该值。并且,只需要计算四个简单的求和变量:
- $\sum_{i}x_i$
- $\sum_{i}y_i$
- $\sum_{i}x_iy_i$
- $\sum_{i}x_i^2$
以下是实现最小二乘法拟合算法的C++代码示例:
超级会员免费看
订阅专栏 解锁全文
2343

被折叠的 条评论
为什么被折叠?



