标签: quantile

在R/GGPLOT2中绘制百分点指示

我有一个两列数据帧的基本图(x ="Periods"和y ="Range").

在此输入图像描述

library (ggplot2)
qplot (Periods, Range, data=twocoltest, color=Periods, size = 3,) + geom_jitter(position=position_jitter(width=0.2))
Run Code Online (Sandbox Code Playgroud)

我试图在下面的每个时期添加一条水平线,该水平线占该时期所有观测值的90%.(它不必是水平线,每个时期的任何视觉指示就足够了).

任何帮助将不胜感激.

r line horizontal-line ggplot2 quantile

5
推荐指数
1
解决办法
2228
查看次数

如何计算给定CDF的逆高斯分布?

我想计算给定CDF 的逆高斯分布的参数mu和lambda .

通过"给定CDF",我的意思是我已经为数据Ie提供了数据和(估计的)分位数

Quantile - Value

0.01 - 10

0.5 - 12

0.7 - 13
Run Code Online (Sandbox Code Playgroud)

现在我想找出这个数据的逆高斯分布,这样我就可以根据我的分布查找值11的分位数.

我怎样才能找到mu和lambda的值?

我能想到的唯一解决方案是使用梯度下降来找到最好的mu和lambda,使用RMSE作为误差测量.

是不是有更好的解决方案?

评论:Matlab的MLE算法不是一个选项,因为它不使用分位数据.

statistics matlab distribution gaussian quantile

5
推荐指数
1
解决办法
1756
查看次数

如何用R中的第5和第95百分位值替换异常值

我想替换我的相对较大的R数据集中的所有值,这些数据集的值分别高于95和低于第5百分位数,并且分别具有那些百分位数值.我的目标是避免完全从数据中简单地裁剪这些异常值.

任何建议将不胜感激,我找不到任何其他地方如何做到这一点的信息.

r dataset outliers quantile

5
推荐指数
2
解决办法
2万
查看次数

matlab中用于分位数的equavelent python命令

我正在尝试将我在matlab中的一些代码复制到python中.我发现matlab中的分位数函数在python中没有"完全"对应的.我发现最接近的是python的mquantiles.例如

对于matlab:

 quantile( [ 8.60789925e-05, 1.98989354e-05 , 1.68308882e-04, 1.69379370e-04],  0.8)
Run Code Online (Sandbox Code Playgroud)

得到: 0.00016958

对于python:

scipy.stats.mstats.mquantiles( [8.60789925e-05, 1.98989354e-05, 1.68308882e-04, 1.69379370e-04], 0.8)
Run Code Online (Sandbox Code Playgroud)

0.00016912

有谁知道如何完全复制matlab的分位数?非常感谢.

python matlab quantile

5
推荐指数
2
解决办法
2042
查看次数

绘制分位数回归线

在Stata中,是否可以绘制分位数回归线?我知道标准的OLS回归线可以添加到散点图中,但我不清楚如何添加其他类型的回归线.

如果不可能,可以绘制我在mx + b格式中指定的行吗?然后我可以从分位数回归输出中获取斜率和截距项并手动绘制它们.

谢谢您的帮助!

plot regression quantile stata

5
推荐指数
1
解决办法
2468
查看次数

从分位数回归/摘要()中提取R ^ 2

我正在使用该quantreg包在R中运行以下分位数回归:

bank <-rq(gekX~laggekVIXclose+laggekliquidityspread+lagdiffthreeMTBILL+
lagdiffslopeyieldcurve+lagdiffcreditspread+laggekSPret, tau=0.99)
Run Code Online (Sandbox Code Playgroud)

并通过提取系数和摘要统计

bank$coefficients
summary(bank)
Run Code Online (Sandbox Code Playgroud)

我得到的结果是

Call: rq(formula = gekX ~ laggekVIXclose + laggekliquidityspread + 
lagdiffthreeMTBILL + lagdiffslopeyieldcurve + lagdiffcreditspread + 
laggekSPret, tau = 0.99)

tau: [1] 0.99

Coefficients:
                       Value    Std. Error t value  Pr(>|t|)
(Intercept)            -0.03005  0.01018   -2.95124  0.00319
laggekVIXclose          0.00471  0.00069    6.81515  0.00000
laggekliquidityspread  -0.01295  0.01619   -0.79976  0.42392
lagdiffthreeMTBILL     -0.12273  0.12016   -1.02136  0.30717
lagdiffslopeyieldcurve -0.13100  0.06457   -2.02876  0.04258
lagdiffcreditspread    -0.21198  0.15659   -1.35377  0.17592
laggekSPret            -0.01205  0.46559   -0.02588  0.97936
Run Code Online (Sandbox Code Playgroud)

但是,我想知道R ^ 2 /调整后的R ^ …

r quantile quantreg

5
推荐指数
2
解决办法
4852
查看次数

获得与每个四分位数相对应的观察

q <- quantile(faithful$eruptions)
> q
     0%     25%     50%     75%    100% 
1.60000 2.16275 4.00000 4.45425 5.10000 
Run Code Online (Sandbox Code Playgroud)

我得到以下结果,数据集在R中提供.

 head(faithful)
  eruptions waiting
1     3.600      79
2     1.800      54
3     3.333      74
4     2.283      62
5     4.533      85
6     2.883      55
Run Code Online (Sandbox Code Playgroud)

我想要一个包含数据的数据帧和一个额外的列,用于指出每个观察所属的分位数.例如,最终数据集应如下所示

     eruptions waiting Quartile
1     3.600      79      Q1
2     1.800      54      Q2
3     3.333      74
4     2.283      62
5     4.533      85
6     2.883      55
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

r quantile dataframe

5
推荐指数
1
解决办法
1817
查看次数

如何在数据帧上应用分位数

我有一个data.frame,我想在其上应用分位数,使数据看起来更简单:

> head(Quartile)
             GSM1321374 GSM1321375 GSM1321376 GSM1321377 GSM1321378 GSM1321379
1415670_at    11.203302  11.374616  10.876187   11.23639   11.02051  10.926481
1415671_at    11.196427  11.492769  11.493717   11.01683   11.15016  11.576188
1415672_at    11.550974  11.267559  11.800991   11.57551   10.93359  11.222779
1415673_at    11.293390  10.978280  11.367316   10.45135   10.35822  10.234964
1415674_a_at   9.254073  10.572670   9.361991   11.26998   10.21125  10.245857
1415675_at     9.922985   9.228195   9.798156   10.02844   10.19928   9.749947
Run Code Online (Sandbox Code Playgroud)

我应用了以下功能,它完成了这项工作.

quantfun <- function(x) as.integer(cut(x, quantile(x, probs=0:4/4), include.lowest=TRUE))
a <- apply(Quartile,1,quantfun)
b <- t(a)
colnames(b) <- colnames(Quartile)
Run Code Online (Sandbox Code Playgroud)

输出是:

> head(b)
             GSM1321374 GSM1321375 GSM1321376 GSM1321377 GSM1321378 GSM1321379
1415670_at            3          4 …
Run Code Online (Sandbox Code Playgroud)

r quantile dataframe

5
推荐指数
1
解决办法
2717
查看次数

使用stat_quantile时ggplot2中的置信区间带?

我想将中值样条和相应的置信区间带添加到ggplot2散点图中.我正在使用'quantreg'包,更具体地说是rqss函数(Additive Quantile Regression Smoothing).

ggplot2我能够添加中值样条曲线,但不是置信区间带:

fig = ggplot(dd, aes(y = MeanEst, x = N, colour = factor(polarization)))
fig + stat_quantile(quantiles=0.5, formula = y ~ qss(x), method = "rqss") +
  geom_point()
Run Code Online (Sandbox Code Playgroud)

ggplot2中位样条

quantreg-package本身自带的绘图功能; plot.rqss.我可以在哪里添加置信区间(bands=TRUE):

plot(1, type="n", xlab="", ylab="", xlim=c(2, 12), ylim=c(-3, 0)) # empty plot
plotfigs = function(df) {
  rqss_model = rqss(df$MeanEst ~ qss(df$N))
  plot(rqss_model, bands=TRUE, add=TRUE, rug=FALSE, jit=FALSE)
  return(NULL)
}
figures = lapply(split(dd, as.factor(dd$polarization)), plotfigs)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然而,quantreg-package …

r smoothing ggplot2 quantile quantreg

5
推荐指数
1
解决办法
897
查看次数

Pandas:groupby 然后检索 IQR

我对 Pandas 很陌生,我正在尝试做以下事情:

我有两个数据框commsarts看起来像这样(除了它们与其他列的广告更长的事实)

通讯:

ID    commScore           
10       5                
10       3                  
10      -1                 
11       0                
11       2              
12       9      
13      -2     
13      -1     
13       1      
13       4
Run Code Online (Sandbox Code Playgroud)

艺术:

ID    commNumber
10        3 
11        2    
12        1
13        4      
Run Code Online (Sandbox Code Playgroud)

我需要comms按 ID 进行分组,然后保存(显然在正确的 ID 行中)每个 ID 的 commScore 分布的arts四分位数范围 ( IQR )。

我已经尝试过使用groupby,aggmap ,但由于我的概念pandas非常有限,所以我无法做我正在寻找的事情。

有没有人有办法解决吗?

谢谢

安德里亚

python quantile dataframe pandas pandas-groupby

4
推荐指数
1
解决办法
7035
查看次数