怎样理解weighted quantile sketch怎样导出图片

机器学习(6)
xgboost原理
xgboost是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包,比常见的工具包快10倍以上。在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,其中包括两个以上kaggle比赛的夺冠方案。在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN, MPI, Sungrid Engine等各个平台上面运行,并且保留了单机并行版本的各种优化,使得它可以很好地解决于工业界规模的问题。
花了几天时间粗略地看完了xgboost原论文和作者的slide讲解,仅仅是入门入门入门笔记。给我的感觉就是xgboost算法比较复杂,针对传统GBDT算法做了很多细节改进,包括损失函数、正则化、切分点查找算法优化、稀疏感知算法、并行化算法设计等等。本文主要介绍xgboost基本原理以及与传统gbdt算法对比总结,后续会基于python版本做了一些实战调参试验。想详细学习xgboost算法原理建议通读作者原始论文与slide讲解。
相关文献资料:&
精彩博文:&
补充!LightGBM!:
微软出了个LightGBM,号称性能更强劲,速度更快。简单实践了一波,发现收敛速度要快一些,不过调参还不6 ,没有权威。看了GitHub上的介绍以及知乎上的一些回答,大致理解了性能提升的原因。&
主要是两个:①histogram算法替换了传统的Pre-Sorted,某种意义上是牺牲了精度(但是作者声明实验发现精度影响不大)换取速度,直方图作差构建叶子直方图挺有创造力的。(xgboost的分布式实现也是基于直方图的,利于并行)②带有深度限制的按叶子生长 (leaf-wise) 算法代替了传统的(level-wise) 决策树生长策略,提升精度,同时避免过拟合危险。
细节大家直接看作者的解释以及GitHub上的介绍吧,还是挺好理解的~&
一、xgboost基本原理介绍
1.提升方法是一种非常有效的机器学习方法,在前几篇笔记中介绍了提升树与GBDT基本原理,xgboost(eXtreme Gradient Boosting)可以说是提升方法的完全加强版本。xgboost算法在各大比赛中展现了强大的威力,引用原论文中的一段描述:
The impact of the system has been widely recognized in a number of machine learning and data mining challenges. Take the challenges hosted by the machine learning competition site Kaggle for example. Among the 29 challenge winning solutions published at Kaggle’s
blog during 2015, 17 solutions used XGBoost. Among these solutions, eight solely used XGBoost to train the model,while most others combined XGBoost with neural nets in ensembles. For comparison, the second most popular method,deep neural nets, was used in
11 solutions. The success of the system was also witnessed in KDDCup 2015, where XGBoost was used by every winning team in the top-10.Moreover, the winning teams reported that ensemble methods outperform a well-configured XGBoost by only a small amount.
2.Regression Tree and Ensemble (What are we Learning,得到学习目标)&
(1).Regression Tree (CART)回归树&
(2).Regression Tree Ensemble 回归树集成&
在上面的例子中,我们用两棵树来进行预测。我们对于每个样本的预测结果就是每棵树预测分数的和。
(3).Objective for Tree Ensemble 得到学习目标函数&
这里是构造一个目标函数,然后我们要做的就是去尝试优化这个目标函数。读到这里,感觉与gbdt好像没有什么区别,确实如此,不过在后面就能看到他们的不同了(构造(学习)模型参数)。
3.Gradient Boosting (How do we Learn,如何学习)&
(1).So How do we Learn?&
目标函数:&
We can not use methods such as SGD, to find f (since they are&
trees, instead of just numerical vectors)&
Solution: Additive Training (Boosting)&
Start from constant prediction, add a new function each time&
(2).Additive Training
o How do we decide which f to add?&
 Optimize the objective!! 目标优化&
(3).Taylor Expansion Approximation of Loss 泰勒近似展开
把平方损失函数的一二次项带入原目标函数,你会发现与之前那张ppt的损失函数是一致的
(4).Our New Goal&
从这里就可以看出xgboost的不同了,目标函数保留了泰勒展开的二次项。
(5).Refine the definition of tree 重新定义每棵树
o We define tree by a vector of scores in leafs, and a leaf index&
mapping function that maps an instance to a leaf
(6).Define the Complexity of Tree 树的复杂度项
o Define complexity as (this is not the only possible definition)
从图中可以看出,xgboost算法中对树的复杂度项增加了一个L2正则化项,针对每个叶结点的得分增加L2平滑,目的也是为了避免过拟合。
(7).Revisit the Objectives&
注意,这里优化目标的n-&T,T是叶子数。???&
(8).The Structure Score 这个score你可以理解成类似于信息增益的一个指标,在切分点查找算法中用到。&
(9)切分点查找算法(贪心算法)&
上图中G都是各自区域内的gi总和,此外,作者针对算法设计对特征进行了排序,有兴趣的可以阅读原始论文,这里不做详解。
(10)小结一下: Boosted Tree Algorithm&
二、xgboost特点(与gbdt对比)
说明一下:这部分内容参考了知乎上的一个问答—,答主是,根据他的总结我自己做了一理解和补充。
1.传统GBDT以CART作为基分类器,xgboost还支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题)。&—可以通过booster [default=gbtree]设置参数:gbtree: tree-based models/gblinear: linear models
2.传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。顺便提一下,xgboost工具支持自定义代价函数,只要函数可一阶和二阶求导。&—对损失函数做了改进(泰勒展开,一阶信息g和二阶信息h,上一章节有做介绍)
3.xgboost在代价函数里加入了正则项,用于控制模型的复杂度。正则项里包含了树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和。从Bias-variance tradeoff角度来讲,正则项降低了模型variance,使学习出来的模型更加简单,防止过拟合,这也是xgboost优于传统GBDT的一个特性&
—正则化包括了两个部分,都是为了防止过拟合,剪枝是都有的,叶子结点输出L2平滑是新增的。
4.shrinkage and column subsampling —还是为了防止过拟合,论文2.3节有介绍,这里答主已概括的非常到位
(1)shrinkage缩减类似于学习速率,在每一步tree boosting之后增加了一个参数n(权重),通过这种方式来减小每棵树的影响力,给后面的树提供空间去优化模型。
(2)column subsampling列(特征)抽样,说是从随机森林那边学习来的,防止过拟合的效果比传统的行抽样还好(行抽样功能也有),并且有利于后面提到的并行化处理算法。
5.split finding algorithms(划分点查找算法):—理解的还不够透彻,需要进一步学习&
(1)exact greedy algorithm—贪心算法获取最优切分点&
(2)approximate algorithm—&近似算法,提出了候选分割点概念,先通过直方图算法获得候选分割点的分布情况,然后根据候选分割点将连续的特征信息映射到不同的buckets中,并统计汇总信息。详细见论文3.3节&
(3)Weighted Quantile Sketch—分布式加权直方图算法,论文3.4节&
这里的算法(2)、(3)是为了解决数据无法一次载入内存或者在分布式情况下算法(1)效率低的问题,以下引用的还是wepon大神的总结:
可并行的近似直方图算法。树节点在进行分裂时,我们需要计算每个特征的每个分割点对应的增益,即用贪心法枚举所有可能的分割点。当数据无法一次载入内存或者在分布式情况下,贪心算法效率就会变得很低,所以xgboost还提出了一种可并行的近似直方图算法,用于高效地生成候选的分割点。
6.对缺失值的处理。对于特征的值有缺失的样本,xgboost可以自动学习出它的分裂方向。&—稀疏感知算法,论文3.4节,Algorithm 3: Sparsity-aware Split Finding
7.Built-in Cross-Validation(内置交叉验证)
XGBoost allows user to run a cross-validation at each iteration of the boosting process and thus it is easy to get the exact optimum number of boosting iterations in a single run.&
This is unlike GBM where we have to run a grid-search and only a limited values can be tested.
8.continue on Existing Model(接着已有模型学习)
User can start training an XGBoost model from its last iteration of previous run. This can be of significant advantage in certain specific applications.&
GBM implementation of sklearn also has this feature so they are even on this point.
9.High Flexibility(高灵活性)
**XGBoost allow users to define custom optimization objectives and evaluation criteria.&
This adds a whole new dimension to the model and there is no limit to what we can do.**
10.并行化处理&—系统设计模块,块结构设计等
xgboost工具支持并行。boosting不是一种串行的结构吗?怎么并行的?注意xgboost的并行不是tree粒度的并行,xgboost也是一次迭代完才能进行下一次迭代的(第t次迭代的代价函数里包含了前面t-1次迭代的预测值)。xgboost的并行是在特征粒度上的。我们知道,决策树的学习最耗时的一个步骤就是对特征的值进行排序(因为要确定最佳分割点),xgboost在训练之前,预先对数据进行了排序,然后保存为block结构,后面的迭代中重复地使用这个结构,大大减小计算量。这个block结构也使得并行成为了可能,在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行。
此外xgboost还设计了高速缓存压缩感知算法,这是系统设计模块的效率提升。&
当梯度统计不适合于处理器高速缓存和高速缓存丢失时,会大大减慢切分点查找算法的速度。&
(1)针对 exact greedy algorithm采用缓存感知预取算法&
(2)针对 approximate algorithms选择合适的块大小
http://blog.csdn.net/sb/article/details/
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4556次
排名:千里之外
原创:50篇
转载:37篇
(1)(42)(34)(9)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'计费方式:
搜索引擎:
建筑及装修
化工及材料
广告及包装
旅游及票务
交易总额:?-
本月佣金:?-元
今日佣金:?-元
优化师数:-名
商户数:-名
网站数:-个
关键词数:-个
您的位置:
& 怎样理解weighted quantile sketch
怎样理解weighted quantile sketch
提问者:IT大鹏&&|&&
分类:其他&&|&&
浏览30次&&|&&
悬赏分:3积分
核心思想: 通过特征的分布,按照分布式加权直方图算法确定一组候选分裂点,通过遍历所有的候选分裂点来找到最佳分裂点。 在寻找split point的时候,不会枚举所有的特征值,而会对特征值进行聚合统计,然后形成若干个bucket(桶),只将bucket边界上的特征值作为split point的候选,从而获得性能提升。 Weighted Quantile Sketch—分布式加权直方图算法 如何找Sk 这里写图片描述 统计每个特征里面点的权值确定候选切割点(理解为按照一定顺序排成直方图相邻候选点不超过阈值控制直方图每个宽度) 参考 处理稀疏特征分裂算法 这里写图片描述 对于稀疏性的离散特征,在寻找split point的时候,不会对该特征为missing的样本进行遍历统计,只对该列特征值为non-missing的样本上对应的特征值进行遍历,通过这个工程技巧来减少了为稀疏离散特征寻找split point的时间开销。在逻辑实现上,为了保证完备性,会分别处理将missing该特征值的样本分配到左叶子结点和右叶子结点的两种情形。可以为缺失值或者指定的值指定分支的默认方向,这能大大提升算法的效率,paper提到50倍。 并行化处理 在训练之前,预先对每个特征内部进行了排序找出候选切割点,然后保存为block结构,后面的迭代中重复地使用这个结构,大大减小计算量。在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行,即在不同的特征属性上采用多线程并行方式寻找最佳分割点。 特征列排序后以块的形式存储在内存中,在迭代中可以重复使用;虽然boosting算法迭代必须串行,但是在处理每个特征列时可以做到并行。 优化导致每个样本的梯度信息在内存中不连续,直接累加有可能会导致cache-miss,所以xgboost先将样本的统计信息取到线程的内部buffer,然后再进行小批量的累加。 按照特征列方式存储能优化寻找最佳的分割点,但是当以行计算梯度数据时会导致内存的不连续访问,严重时会导致cache miss,降低算法效率。paper中提到,可先将数据收集到线程内部的缓存中,然后再计算,提高算法的效率。 参数 自定义损失函数 损失函数举例 这里写图片描述 针对Logistic loss求一阶二阶梯度 这里写图片描述 代码示例 #!/usr/bin/python import numpy as np import xgboost as xgb ### # 定制损失函数 print ('开始运行示例,使用自定义的目标函数') dtrain = xgb.DMatrix('../data/agaricus.txt.train') dtest = xgb.DMatrix('../data/agaricus.txt.test') param = {'max_depth': 2, 'eta': 1, 'silent': 1} watchlist = [(dtest, 'eval'), (dtrain, 'train')] num_round = 2 # 用户定义目标函数,给出预测,返回梯度和二阶梯度 def logregobj(preds, dtrain): labels = dtrain.get_label() preds = 1.0 / (1.0 + np.exp(-preds)) grad = preds - labels hess = preds * (1.0-preds) return grad, hess # 用户定义的评估函数,返回一个对指标名称和结果 # 当你做定制的损失函数,默认的预测价值可能使评价指标不正常工作,所以要自定义评估函数 def evalerror(preds, dtrain): labels = dtrain.get_label() return 'error', float(sum(labels != (preds > 0.0))) / len(labels) # 训练定制的目标 bst = xgb.train(param, dtrain, num_round, watchlist, logregobj, evalerror) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Xgboost参数 官方 常用参数: 一般参数: booster[default=gbtree]选择基分类器 gbtree、gblinear 树或线性分类器 silent [default=0] 是否输出详细信息 0不输出 1输出 nthread [default to maximum number of threads available if not set]线程数默认最大 Tree Booster参数: 1. eta [default=0.3]:shrinkage参数,用于更新叶子节点权重时,乘以该系数,避免步长过大。参数值越大,越可能无法收敛。把学习率 eta 设置的小一些,小学习率可以使得后面的学习更加仔细。 2. min_child_weight [default=1]:这个参数默认是 1,是每个叶子里面 h 的和至少是多少,对正负样本不均衡时的 0-1 分类而言,假设 h 在 0.01 附近,min_child_weight 为 1 意味着叶子节点中最少需要包含 100 个样本。这个参数非常影响结果,控制叶子节点中二阶导的和的最小值,该参数值越小,越容易 overfitting。 3. max_depth [default=6]: 每颗树的最大深度,树高越深,越容易过拟合。 4. gamma [default=0]:在树的叶子节点上作进一步分区所需的最小损失减少。越大,算法越保守。[0,∞] 5. max_delta_step [default=0]:这个参数在更新步骤中起作用,如果取0表示没有约束,如果取正值则使得更新步骤更加保守。可以防止做太大的更新步子,使更新更加平缓。 通常,这个参数是不需要的,但它可能有助于逻辑回归时,类是非常不平衡。设置它的值为1-10可能有助于控制更新。 6. subsample [default=1]:样本随机采样,较低的值使得算法更加保守,防止过拟合,但是太小的值也会造成欠拟合。 7. colsample_bytree [default=1]:列采样,对每棵树的生成用的特征进行列采样.一般设置为: 0.5-1 8. lambda [default=1]:控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。 9. alpha [default=0]:控制模型复杂程度的权重值的 L1 正则项参数,参数值越大,模型越不容易过拟合。 10. scale_pos_weight [default=1]如果取值大于0的话,在类别样本不平衡的情况下有助于快速收敛。 11. tree_method[default=’auto’]可选 {‘auto’, ‘exact’, ‘approx’} 贪心算法(小数据集)/近似算法(大数据集) 学习任务参数: objective [ default=reg:linear ]定义最小化损失函数类型 最常用的值有: binary:logistic 二分类的逻辑回归,返回预测的概率(不是类别)。 multi:softmax 使用softmax的多分类器,返回预测的类别(不是概率)。 在这种情况下,你还需要多设一个参数:num_class(类别数目)。 multi:softprob 和multi:softmax参数一样,但是返回的是每个数据属于各个类别的概率。 seed [ default=0 ]随机种子 eval_metric[根据目标objective默认] 对于有效数据的度量方法。 对于回归问题,默认值是rmse,对于分类问题,默认值是error。 典型值有: rmse 均方根误差( ∑Ni=1?2N???????√ ) mae 平均绝对误差( ∑Ni=1|?|N ) logloss 负对数似然函数值 error 二分类错误率(阈值为0.5) merror 多分类错误率 mlogloss 多分类logloss损失函数 auc 曲线下面积 命令行参数: num_round 迭代次数/树的个数 GBDT与XGBoost区别 目标函数通过二阶泰勒展开式做近似。传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。注:支持自定义代价函数,只要函数可一阶和二阶求导。 定义了树的复杂度,即xgboost在代价函数里加入了正则项,用于控制模型的复杂度,正则项里包含了树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和。代替了剪枝。 分裂结点处通过结构打分和分割损失动态生长。结构分数代替了回归树的误差平方和。 分裂结点特征分割点选取使用了近似算法-可并行的近似直方图算法。树节点在进行分裂时,我们需要计算每个特征的每个分割点对应的增益,即用贪心法枚举所有可能的分割点。当数据无法一次载入内存或者在分布式情况下,贪心算法效率就会变得很低,所以xgboost还提出了一种可并行的近似直方图算法,用于高效地生成候选的分割点。用于加速和减小内存消耗。 可以处理稀疏、缺失数据(节点分裂算法能自动利用特征的稀疏性),可以学习出它的分裂方向,加快稀疏计算速度。 列抽样(column subsampling)[传统GBDT没有],Shrinkage(缩减),相当于学习速率(xgboost中的eta)[传统GBDT也有] 支持并行化处理。xgboost的并行是在特征粒度上的,在训练之前,预先对特征进行了排序,然后保存为block结构,后面的迭代中重复地使用这个结构,大大减小计算量。在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行,即在不同的特征属性上采用多线程并行方式寻找最佳分割点。 传统GBDT以CART作为基分类器,xgboost还支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题)。通过booster [default=gbtree]设置参数:gbtree: tree-based models/gblinear: linear models。
服务热线:400-
投诉电话:7
地址:浙江省杭州市西湖区文三路90号东部软件园科技广场315-318室
官方手机版
官方公众号
copyright 2016(版权所有 杭州志卓科技股份有限公司 浙ICP备号-86&& Quantile regression
Quantile regression
Including median, minimization of sums of absolute deviations
Koenker and Bassett or bootstrapped standard errors
Stata’s qreg command fits quantile (including median)
regression models, also known as least-absolute value (LAV) models, minimum
absolute deviation (MAD) models, and L1-norm models.
Median regression estimates the median of the dependent variable,
conditional on the values of the independent variable.
This is similar to
least-squares regression, which estimates the mean of the dependent
Said differently, median regression finds the regression plane
that minimizes the sum of the absolute residuals rather than the sum of the
squared residuals.
. webuse auto
(1978 Automobile Data)
. qreg price weight length foreign
WLS sum of weighted deviations =
1: sum of abs. weighted deviations =
2: sum of abs. weighted deviations =
3: sum of abs. weighted deviations =
4: sum of abs. weighted deviations =
5: sum of abs. weighted deviations =
alternate solutions exist
6: sum of abs. weighted deviations =
7: sum of abs. weighted deviations =
8: sum of abs. weighted deviations =
Median regression
Number of obs =
Raw sum of deviations
142205 (about 4934)
Min sum of deviations
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
By default, qreg performs median regression—the estimates above
were obtained by minimizing the sums of the absolute residuals.
By comparison, the results from least-squares regression are
. regress price weight length foreign
Number of obs =
-------------+------------------------------
Residual |
-------------+------------------------------
Adj R-squared =
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
qreg can also estimate the regression plane for quantiles other than
the 0.5 (median).
For instance, the following model describes the 25th
percentile (.25 quantile) of price:
. qreg price weight length foreign, quantile(.25)
WLS sum of weighted deviations =
1: sum of abs. weighted deviations =
2: sum of abs. weighted deviations =
3: sum of abs. weighted deviations =
4: sum of abs. weighted deviations =
5: sum of abs. weighted deviations =
6: sum of abs. weighted deviations =
7: sum of abs. weighted deviations =
8: sum of abs. weighted deviations =
9: sum of abs. weighted deviations =
Iteration 10: sum of abs. weighted deviations =
.25 Quantile regression
Number of obs =
Raw sum of deviations
83825.5 (about 4187)
Min sum of deviations 69603.55
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
The following describes the 75th percentile (.75 quantile):
. qreg price weight length foreign, quantile(.75)
WLS sum of weighted deviations =
1: sum of abs. weighted deviations =
2: sum of abs. weighted deviations =
3: sum of abs. weighted deviations =
4: sum of abs. weighted deviations =
5: sum of abs. weighted deviations =
6: sum of abs. weighted deviations =
7: sum of abs. weighted deviations =
.75 Quantile regression
Number of obs =
Raw sum of deviations
(about 6342)
Min sum of deviations 98395.94
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
In addition to Koenker and Basset standard errors, Stata can provide
bootstrapped standard errors, using the
. set seed 1001
. bsqreg price weight length foreign
(fitting base model)
(bootstrapping ....................)
Median regression, bootstrap(20) SEs
Number of obs =
Raw sum of deviations
142205 (about 4934)
Min sum of deviations
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
The coefficient estimates are the same as those in the first example.
standard errors, and, therefore, the t statistics, significance levels, and
confidence intervals differ.
Stata can also perform simultaneous-quantile regression.
Previously, we ran
separate regressions for the .25, .5, and .75 quantiles.
simultaneous-quantile regression, we can estimate all the effects
simultaneously:
. set seed 1001
. sqreg price weight length foreign, q(.25 .5 .75)
(fitting base model)
(bootstrapping ....................)
Simultaneous quantile regression
Number of obs =
bootstrap(20) SEs
.25 Pseudo R2 =
.50 Pseudo R2 =
.75 Pseudo R2 =
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
-------------+----------------------------------------------------------------
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
We can test whether the effect of weight is the same at the 25th and 75th
percentiles:
. test[q25]weight = [q75]weight
[q25]weight - [q75]weight = 0
Prob & F =
We can obtain a confidence interval for the difference in the effect of
weight at the 25th and 75th percentiles:
. lincom [q75]weight-[q25]weight
( 1) - [q25]weight + [q75]weight = 0
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
Stata also performs interquantile regression, which focuses on one quantile
comparison:
. set seed 1001
. iqreg price weight length foreign, q(.25 .75)
(fitting base model)
(bootstrapping ....................)
.75-.25 Interquantile regression
Number of obs =
bootstrap(20) SEs
.75 Pseudo R2 =
.25 Pseudo R2 =
------------------------------------------------------------------------------
[95% Conf. Interval]
-------------+----------------------------------------------------------------
------------------------------------------------------------------------------
References
sg11.1: Quantile regression with bootstrapped standard errors.
9: 19–21. Reprinted in , vol. 2,
pp. 137–150.
Gould, W., and W. H. Rogers.
Quantile regression as an alternative to robust regression.
Proceedings of the Statistical Computing Section.
Alexandria, VA: American Statistical Association.
Rogers, W. H.
sg11: Quantile regression standard errors.
9: 16–19.
Reprinted in , vol. 2, pp. 133–137.
Calculation of quantile regression standard errors.
13: 18–19.
Reprinted in ,
vol. 3, pp. 77–78.
(C) Copyright
StataCorp LP}

我要回帖

更多关于 sketch 怎样制作纹理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信