关于k分位数

题目:对一个含有n个元素的集合来说,所谓的k分位数,就是能把已排序的集合分成k个大小相等的集合的“k-1个顺序统计量”。请给出一个能求出含有n个元素(无序)的集合的k分位数的O(nlgk)时间的算法。

 

分析:

k_select(a[n],k)

{

   if(k == 0)

      return ;

    m = bit_select(a[n],2);//寻找中位数,m为中位数,时间复杂度为O(n)

    将a[n]根据m划分为两块,m作为中间位置存在,左边的比它小,右边的比它大,O(n)

    m1 = k_select(a[1,m-1],k/2);

    m2 = k_select(a[m+1,……n],k/2);

   
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
无条件分位数回归(Unconditional Quantile Regression)是一种非参数的回归方法,与传统的最小二乘法回归相比,可以更好地对数据中的尾部和异常值进行建模。 在MATLAB中,可以使用qregress函数进行无条件分位数回归分析。该函数是由Econometrics Toolbox提供的,可以估计不同分位数下的回归系数。 使用qregress函数,首先需要准备好自变量(X)和因变量(Y)的数据。X可以是一个n行k列的矩阵,表示n个样本的k个自变量;Y可以是n行1列的向量,表示n个样本的因变量。 然后,可以使用qregress函数进行回归分析。函数的输入参数包括自变量X、因变量Y和所需的分位数分位数应以浮点数形式表示,例如0.25表示25%分位数,0.5表示中位数,0.75表示75%分位数等。函数将返回一个包含各分位数下的回归系数的矩阵。 例如,假设我们有一个包含100个样本的数据集,其中X是一个包含两个自变量的矩阵,Y是一个包含因变量的向量。我们希望估计25%和75%分位数下的回归系数,可以使用以下代码: X = [ones(100,1) X]; % 在X矩阵前加上一列1,表示常数项 quantiles = [0.25 0.75]; % 所需的分位数 coefficients = qregress(X, Y, quantiles); % 进行分位数回归分析 coefficients矩阵将包含两行,每行对应一个分位数。每一行中的每个元素代表一个自变量的回归系数。 综上所述,MATLAB中的无条件分位数回归可以通过qregress函数实现,根据输入的自变量X、因变量Y和所需的分位数,函数将返回各分位数下的回归系数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值