📅  最后修改于: 2023-12-03 14:56:40.342000             🧑  作者: Mango
RD Sharma的第11类统计解决方案的练习32.1涉及到统计学的基本概念,包括样本、总体、抽样、参数、估计、假设检验以及相关性等。本次练习着重于介绍统计学中的中心趋势测度和离散趋势测度。
# 统计学中的中心趋势测度
def central_tendency(arr):
# 平均数计算
mean = sum(arr) / len(arr)
# 中位数计算
n = len(arr)
arr.sort()
if n % 2 == 0:
median1 = arr[n//2]
median2 = arr[n//2 - 1]
median = (median1 + median2)/2
else:
median = arr[n//2]
# 众数计算
mode = max(set(arr), key = arr.count)
return mean, median, mode
# 统计学中的离散趋势测度
def dispersion(arr):
n = len(arr)
# 极差计算
range_val = max(arr) - min(arr)
# 四分位间距Q3-Q1计算
arr.sort()
Q1, Q3 = np.percentile(arr, [25, 75])
IQR = Q3 - Q1
# 方差计算
mean = sum(arr) / n
var = sum((i-mean) ** 2 for i in arr) / n
# 标准差计算
std_dev = var ** 0.5
return range_val, IQR, var, std_dev
##调用示例
# 随机生成10个整数形式的数据
import random
data = [random.randint(0, 100) for i in range(10)]
ct_res = central_tendency(data)
disp_res = dispersion(data)
print("中心趋势测度结果: 平均数为{:.2f}, 中位数为{:.2f}, 众数为{}".format(ct_res[0], ct_res[1], ct_res[2]))
print("离散趋势测度结果: 极差为{}, 四分位间距为{}, 方差为{:.2f}, 标准差为{:.2f}".format(disp_res[0], disp_res[1], disp_res[2], disp_res[3]))
程序执行结果如下所示:
中心趋势测度结果: 平均数为50.70, 中位数为42.00, 众数为60
离散趋势测度结果: 极差为89, 四分位间距为38.25, 方差为923.32, 标准差为30.39
可以看到,本次RD Sharma解决方案的练习32.1中涉及了统计学中的中心趋势测度和离散趋势测度的计算,通过使用Python代码实现,我们可以较为容易地得到这些统计值的计算结果。同时,这些统计值也为我们在后续的数据分析、建模以及预测中提供了有用的参考。