#编写程序,输出一个由整数所构成的列表的中位数。说明:当元素数目为偶数时,输出中间两个数的均值。
可以使用系统内置的排序函数
可以参考下面代码试试
def get_median(data_list):
sorted(data_list)
length = len(data_list)
index = int(length / 2)
if length % 2 == 0:
return (data_list[index - 1] + data_list[index]) / 2
return data_list[index]
test_list = eval(input("请输入列表数据:"))
print(f"列表中位数为:{get_median(test_list)}")
import random
def get_middle(data):
"""计算中位数"""
mid_idx = len(data) // 2
if len(data) % 2 == 0:
return (data[mid_idx - 1] + data[mid_idx]) / 2
else:
return data[mid_idx]
data = [random.randint(1, 10) for i in range(10)]
data = [random.randint(1, 10) for i in range(9)]
print(get_middle(data))
有帮助的话,请点采纳该答案~
病态线性回归问题需要进行显著性检验,需要在自变量降维去线性之后进行显著性检验。
显著性检验(significance test)就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设(备择假设)是否合理,即判断总体的真实情况与原假设是否有显著性差异。或者说,显著性检验要判断样本与我们对总体所做的假设之间的差异是纯属随机误差,还是由我们所做的假设与总体真实情况之间不一致所引起的。 显著性检验是针对我们对总体所做的假设做检验,其原理就是“小概率事件实际不可能性原理”来接受或否定假设。
病态线性回归问题也需要利用样本信息来判断总体的参数或总体分布形式假设是否合理,判断总体的真实情况与原假设是否有显著性差异,因此病态线性回归问题中也需要进行显著性检验。
显著性检验目的是判断总体真实情况与原假设是否有显著性差异,其公式为
F=ESS/fERSS/fR=(N−n−1)ESSnRSS F=\frac{ESS/f_E}{RSS/f_R}=\frac{(N-n-1)ESS}{nRSS} F=RSS/fRESS/fE=nRSS(N−n−1)ESS
其中ESS,RSSESS,RSSESS,RSS只与真实情况与预测结果有关,与自变量维度无关,因此显著性检测位置只会影响fE,fRf_E,f_RfE,fR参数中自变量自由度nnn。病态线性回归问题中,自变量XN×n1X_{N\times n_1}XN×n1线性相关,为降低极小特征值带来的巨大预测误差,需要近似地用更少的一组向量ZN×n2,n2<n1Z_{N\times n_2},n_2<n_1ZN×n2,n2<n1线性表示(降维)。因此自变量实际自由度n=n2n=n_2n=n2,n2n_2n2是它的最大线性无关组所含向量数目,故显著性检验应在去线性(降维)之后进行。