以下是一个使用AnyLogic进行Z-score计算的示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
public class Main {
public static void main(String[] args) {
// 输入数据
List data = new ArrayList<>();
data.add(10.0);
data.add(12.0);
data.add(14.0);
data.add(16.0);
data.add(18.0);
// 计算平均值和标准差
DescriptiveStatistics stats = new DescriptiveStatistics();
data.forEach(stats::addValue);
double mean = stats.getMean();
double stdDev = stats.getStandardDeviation();
// 计算Z-score
List zScores = data.stream()
.map(x -> (x - mean) / stdDev)
.collect(Collectors.toList());
// 输出结果
System.out.println("Data: " + data);
System.out.println("Mean: " + mean);
System.out.println("Standard Deviation: " + stdDev);
System.out.println("Z-Scores: " + zScores);
}
}
这个示例使用Apache Commons Math库中的DescriptiveStatistics
类来计算平均值和标准差。然后使用流式操作计算每个数据点的Z-score。最后,输出原始数据、平均值、标准差和Z-scores。