Java 计算相对标准偏差
什么是标准差和相对标准差?
标准差是统计学中常用的一种度量数据离散程度的指标,它用来衡量一组数据的平均值与每个数据的差距。 标准差越大,说明数据越分散;标准差越小,说明数据越集中。
相对标准差是标准差的一种归一化处理,用来比较不同数据集的离散程度。它的计算方法是将标准差除以数据集的平均值,然后乘以100%,得到一个百分比的值。
标准差和相对标准差的计算公式
标准差的计算公式如下:
标准差 = sqrt(Σ(xi-μ)^2 / N)
其中,xi 表示第 i 个数据,μ 表示数据集的平均值,N 表示数据的个数。
相对标准差的计算公式如下:
相对标准差 = (标准差 / 平均值) * 100%
Java 实现
下面是一个使用 Java 实现计算相对标准差的示例代码。
import java.util.Arrays;
public class RelativeStandardDeviation {
public static double calculateStandardDeviation(double[] data) {
double sum = 0.0;
double mean = calculateMean(data);
for (double num : data) {
sum += Math.pow(num - mean, 2);
}
return Math.sqrt(sum / data.length);
}
public static double calculateMean(double[] data) {
double sum = 0.0;
for (double num : data) {
sum += num;
}
return sum / data.length;
}
public static double calculateRelativeStandardDeviation(double[] data) {
double standardDeviation = calculateStandardDeviation(data);
double mean = calculateMean(data);
return (standardDeviation / mean) * 100;
}
public static void main(String[] args) {
double[] data = {5, 10, 15, 20, 25}; // 示例数据
double standardDeviation = calculateStandardDeviation(data);
double relativeStandardDeviation = calculateRelativeStandardDeviation(data);
System.out.println("标准差: " + standardDeviation);
System.out.println("相对标准差: " + relativeStandardDeviation + "%");
}
}
这段代码中,calculateStandardDeviation
方法用于计算标准差,calculateMean
方法用于计算平均值,calculateRelativeStandardDeviation
方法用于计算相对标准差。在 main
方法中,我们定义了一个示例数据集,并使用这些方法计算得出标准差和相对标准差。
甘特图
下面是使用 mermaid 语法绘制的甘特图:
gantt
dateFormat YYYY-MM-DD
title Java 计算相对标准偏差示例代码甘特图
section 代码编写
编写代码 :done, 2022-01-01, 1d
section 单元测试
编写测试用例 :done, 2022-01-02, 1d
运行测试 :done, 2022-01-03, 1d
section 示例运行
数据准备 :done, 2022-01-04, 1d
计算标准差和相对标准差 :done, 2022-01-05, 1d
流程图
下面是使用 mermaid 语法绘制的流程图:
flowchart TD
subgraph 数据准备
A(定义示例数据集)
end
subgraph 计算标准差和相对标准差
B(计算标准差)
C(计算平均值)
D(计算相对标准差)
end
A --> B
A --> C
B --> D
C --> D
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#f9f,stroke:#333,stroke-width:2