大家好,欢迎来到IT知识分享网。
均值、方差、平方差、均方差(标准差)的含义及区别如下:
- 均值(Mean):表示数据的中心位置或集中趋势,计算公式为 μ = ∑ i = 1 n x i n \mu = \frac{\sum_{i=1}^{n} x_i}{n} μ=n∑i=1nxi,其中 n n n 是数据的个数, x i x_i xi 是每个数据点。
- 方差(Variance):衡量数据与均值的离散程度,计算公式为 σ 2 = ∑ i = 1 n ( x i − μ ) 2 n \sigma^2 = \frac{\sum_{i=1}^{n} (x_i – \mu)^2}{n} σ2=n∑i=1n(xi−μ)2。
- 平方差(Sum of Squared Differences):表示数据点与某个特定值(如均值)之间的差的平方的总和,计算公式为 ∑ i = 1 n ( x i − μ ) 2 \sum_{i=1}^{n} (x_i – \mu)^2 ∑i=1n(xi−μ)2。
- 均方差(Standard Deviation):也称为标准差,是方差的平方根,表示数据的离散程度,计算公式为 σ = ∑ i = 1 n ( x i − μ ) 2 n \sigma = \sqrt{\frac{\sum_{i=1}^{n} (x_i – \mu)^2}{n}} σ=n∑i=1n(xi−μ)2。
- 协方差(Covariance):衡量两组数据之间相关性的指标,计算公式为 c o v ( X , Y ) = ∑ i = 1 n ( x i − μ x ) ( y i − μ y ) n − 1 cov(X, Y) = \frac{\sum_{i=1}^{n} (x_i – \mu_x)(y_i – \mu_y)}{n-1} cov(X,Y)=n−1∑i=1n(xi−μx)(yi−μy),其中 X X X 和 Y Y Y 是两组数据, μ x \mu_x μx 和 μ y \mu_y μy 分别是 X X X 和 Y Y Y 的均值。
在C++中,可以使用以下代码来计算这些统计量:
#include <iostream> #include <vector> #include <cmath> #include <numeric> #include <algorithm> double mean(const std::vector<double>& data) {
return std::accumulate(data.begin(), data.end(), 0.0) / data.size(); } double variance(const std::vector<double>& data) {
double mean_val = mean(data); return std::accumulate(data.begin(), data.end(), 0.0, [mean_val](double sum, double val) {
return sum + (val - mean_val) * (val - mean_val); }) / (data.size() - 1); } double sum_of_squared_differences(const std::vector<double>& data) {
double mean_val = mean(data); double sum = 0.0; for (const auto& val : data) {
sum += std::pow(val - mean_val, 2); } return sum; } double standard_deviation(const std::vector<double>& data) {
return std::sqrt(variance(data)); }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139554.html