admin管理员组文章数量:1441243
方差性和协方差性计算公式以及java示例
方差性(Variance)
定义
方差是衡量随机变量或一组数值与其平均数(即数学期望)之间的偏离程度的量。统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。
计算公式
方差的公式有两种常见的形式,它们分别基于总体和样本。 总体方差: 如果 X 是一个随机变量,且其总体均值为 μ,那么总体方差的
公式为:
其中,N 是总体的容量,xi是 X 的第 i 个观测值。
样本方差: 如果我们有一个大小为 n 的样本 x,且其样本均值为
,那么样本方差
的公式为:
注意这里分母是 n−1 而不是 n。这是因为在计算样本方差时,我们通常希望估计的是总体的方差。使用 n−1 作为分母可以得到一个无偏的估计量(即估计的期望值等于真实的总体方差)。
在实际应用中,当我们谈论一个数据集的方差时,我们通常指的是样本方差。
代码语言:javascript代码运行次数:0运行复制public class VarianceCalculator {
public static double calculateVariance(double[] data) {
if (data == null || data.length == 0) {
throw new IllegalArgumentException("Data array must not be null or empty");
}
int n = data.length;
double sum = 0.0;
for (double num : data) {
sum += num;
}
double mean = sum / n;
double variance = 0.0;
for (double num : data) {
variance += Math.pow(num - mean, 2);
}
variance /= (n - 1); // 使用样本方差公式
return variance;
}
public static void main(String[] args) {
double[] data = {1.0, 2.0, 3.0, 4.0, 5.0};
double variance = calculateVariance(data);
System.out.println("Variance: " + variance);
}
}
协方差性(Covariance)
定义
协方差(Covariance)是一个用于衡量两个随机变量之间关系的统计量。具体地,协方差表示了两个随机变量总体误差的期望。如果两个随机变量的协方差为正,则这两个随机变量倾向于同时增加或减少,即它们正相关;如果协方差为负,则一个随机变量增加时,另一个随机变量倾向于减少,即它们负相关;如果协方差为零,则两个随机变量之间不存在线性关系。
计算公式
对于两组数据 X
和 Y
,其协方差 Cov(X,Y) 的公式为:
Cov(X,Y)=E[(X−E[X])(Y−E[Y])] 其中 E[X] 和 E[Y] 分别是 X 和 Y 的数学期望(或均值),而 E[(X−E[X])(Y−E[Y])] 表示两个随机变量与其各自均值之差的乘积的数学期望。
在实际应用中,如果我们有一组 n 个样本点
,那么样本协方差
的公式为:
其中
和
分别是 X 和 Y 的样本均值。注意,这里分母使用了 n−1 而不是 n,这是为了得到一个无偏的估计量。
协方差的值可以为正、负或零,其绝对值越大表示两个随机变量之间的线性关系越强。但是,协方差本身受到随机变量量纲的影响,因此在某些情况下,使用相关系数(Correlation Coefficient)来量化两个变量之间的关系可能更为合适。
Java 示例
代码语言:javascript代码运行次数:0运行复制public class CovarianceCalculator {
public static double calculateCovariance(double[] xData, double[] yData) {
if (xData == null || yData == null || xData.length != yData.length || xData.length == 0) {
throw new IllegalArgumentException("Data arrays must not be null, have the same length, and not be empty");
}
int n = xData.length;
double sumX = 0.0, sumY = 0.0;
for (int i = 0; i < n; i++) {
sumX += xData[i];
sumY += yData[i];
}
double meanX = sumX / n;
double meanY = sumY / n;
double covariance = 0.0;
for (int i = 0; i < n; i++) {
covariance += (xData[i] - meanX) * (yData[i] - meanY);
}
covariance /= (n - 1); // 使用样本协方差公式
return covariance;
}
public static void main(String[] args) {
double[] xData = {1.0, 2.0, 3.0, 4.0, 5.0};
double[] yData = {2.0, 3.0, 5.0, 7.0, 11.0};
double covariance = calculateCovariance(xData, yData);
System.out.println("Covariance: " + covariance);
}
}
这两个示例分别展示了如何使用 Java 计算一组数据的方差和两组数据之间的协方差。注意,
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-05-16,如有侵权请联系 cloudcommunity@tencent 删除数学统计javadouble数据本文标签: 方差性和协方差性计算公式以及java示例
版权声明:本文标题:方差性和协方差性计算公式以及java示例 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747911065a2775793.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论