估算总体标准差sigma = s/c4

sigma = s / c4 是一种用于估算总体标准差(sigma)的简单方法,其中:

  • s 是各组样本标准差的均值。
  • c4 是一个与样本容量相关的常数,通常根据样本容量的大小选择合适的值。

这个方法通常用于质量控制和过程监控,尤其在使用 X-S 控制图时。通过计算各组样本标准差的均值并除以适当的 c4 值,可以估算总体标准差,以便在质量控制中对过程的变异性进行评估和监控。请确保所使用的 c4 值与样本容量相符,以获得准确的估算结果。

-

当使用 sigma = s / c4 这种估算总体标准差的方法时,有一些要点需要深入了解:

  1. 样本标准差 (s): 这是每组样本的标准差,通常是用来度量每组数据集内部的离散程度。它可以通过统计工具或软件计算得出,确保使用适当的自由度(通常为 ddof=1)以进行Bessel修正。

  2. 常数 c4: c4 是一个与样本容量(每组的数据点数量)相关的常数。它的值通常可以在统计文献或表格中找到,或者根据特定的样本容量计算。不同的样本容量对应不同的 c4 值,所以您需要确保选择正确的 c4 值,以使估算尽可能准确。

  3. 适用性: 这种方法通常适用于样本容量较大的情况,特别是在质量控制和过程监控中,用于估算总体标准差。对于小样本容量或非正态分布的情况,这种方法可能不够准确。

  4. 质量控制应用: 通常,在质量控制中,使用 X-S 控制图,其中 X 图显示了每组样本的均值,而 S 图显示了每组样本的标准差。使用 sigma = s / c4 估算总体标准差有助于监控过程的变异性,并检测异常情况。

  5. 准确性与误差: 请注意,这种估算方法是一种近似估算,可能存在一定的误差。准确性取决于样本的大小、样本容量和数据的分布。在实际应用中,应根据需要的精度和置信度来选择适当的估算方法。

总之,sigma = s / c4 是一种简单但有用的方法,可用于估算总体标准差,特别在质量控制和过程监控中。确保了解常数 c4 的选择和适用性,以便在合适的情况下使用这个估算方法。

-

import numpy as np

# 准备数据,每组数据是一个NumPy数组
data = [
    np.array([28.1, 29.5, 30.2, 31.3, 30.5, 29.8, 30.2, 31.0, 28.9, 30.3]),
    np.array([27.8, 28.9, 29.7, 28.5, 30.0, 29.2, 29.4, 28.8, 29.6, 29.1]),
    np.array([30.2, 29.8, 31.1, 30.5, 29.9, 30.7, 30.3, 29.6, 30.0, 30.5]),
    np.array([29.0, 28.7, 29.4, 28.9, 29.3, 28.8, 29.2, 28.6, 29.1, 29.4]),
    np.array([31.5, 30.7, 31.0, 30.2, 30.9, 31.3, 30.8, 31.1, 30.6, 30.4])
]

# 计算各组样本标准差
group_std = [np.std(group, ddof=1) for group in data]

# 计算各组样本标准差的均值
average_group_std = np.mean(group_std)

# 将data数据扁平化成一个NumPy数组
flat_data = np.concatenate(data)
# 计算整体数据集扁平化样本标准差
# population_std = np.std(data,ddof=1)
population_std = np.std(flat_data, ddof=1)  # 使用Bessel修正

# 选择适当的 c4 值(与样本容量有关)
sample_size = len(data[0])  # 假设所有组的样本容量相同
# 根据样本容量选择 c4 值
c4_values = {
    2: 0.7979,
    3: 0.8862,
    4: 0.9213,
    5: 0.9400,
    6: 0.9515,
    7: 0.9594,
    8: 0.9650,
    9: 0.9693,
    10: 0.9727,
}
c4 = c4_values.get(sample_size, None)
print("sample_size样本容量: ", sample_size)
print("根据样本容量选择 c4 值: ",c4)

if c4 is None:
    print("请提供适当的 c4 值或扩展字典以包括所需的样本容量。")
else:
    # 步骤5:使用公式 sigma = (average_group_std) / c4 估算总体标准差
    estimated_population_std = average_group_std / c4

    print("各组样本标准差的均值 (s):", average_group_std)
    print("估算的总体标准差 (sigma):", estimated_population_std)


# 计算整体数据扁平化集样本标准差 population_std = np.std(data,ddof=1)
print("计算整体数据集(扁平化)样本标准差: ",population_std,np.std(data,ddof=1))


# sample_size样本容量:  10
# 根据样本容量选择 c4 值:  0.9727
# 各组样本标准差的均值 (s): 0.5474311211038614
# 估算的总体标准差 (sigma): 0.5627954365208815
# 计算整体数据集(扁平化)样本标准差:  0.9033294424697188 0.9033294424697188
# [Finished in 1.3s]

估算总体标准差sigma = s/c4_第1张图片

你可能感兴趣的:(python,开发语言)