标签: cdf

ggplot:调整alpha/fill两个因子cdf

我有一些问题让我的ggplot alpha对我的情节来说足够黑暗.

示例代码:

ggplot(mtcars, aes(x=mpg, color=factor(gear), alpha=factor(carb))) + stat_ecdf()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如您所见,无论何时carb == 1,都很难看到情节元素.在我的真实世界数据集中,颜色因子有四个级别,而alpha因子有两个级别.我希望alpha的颜色略浅一些,但比那个例子中的颜色更明显.

alpha r ggplot2 cdf

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

在Python中向量化多元标准CDF(累积密度函数)

如何在Python中向量化多元标准CDF(累积密度函数)?

在查看这篇文章时,我发现有一个“移植”到Python的多变量CDF的Fortran实现。这意味着我可以轻松评估一种特定情况下的CDF。

但是,我很难有效地将此功能应用于多个条目。

具体来说,我需要“向量化”的函数有4个参数:

  • 积分的下界(矢量)
  • 积分的上限(向量)
  • 正常随机变量(向量)的均值
  • 正常随机变量(矩阵)的协方差矩阵

但是,我试图多次多次对1000多个元素进行有效评估。

这是一些代码来说明我的问题。在下面的示例中,我仅使用随机数据来说明我的观点。

import time
import numpy as np
from scipy.stats.mvn import mvnun # library that calculates MVN CDF

np.random.seed(666)

iters = 1000 # number of times the whole dataset will be evaluated
obs = 1500 # number of elements in the dataset
dim = 2 # dimension of multivariate normal distribution

lower = np.random.rand(obs,dim)
upper = lower + np.random.rand(obs,dim)
means = np.random.rand(obs,dim)

# Creates a symmetric matrix - used for …
Run Code Online (Sandbox Code Playgroud)

python statistics normal-distribution vectorization cdf

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

r:ecdf over histogram

在R中,ecdf我可以绘制经验累积分布函数

plot(ecdf(mydata))
Run Code Online (Sandbox Code Playgroud)

并且hist我可以绘制我的数据的直方图

hist(mydata)
Run Code Online (Sandbox Code Playgroud)

如何在同一个图中绘制直方图和ecdf?

编辑

我尝试做出类似的东西

https://mathematica.stackexchange.com/questions/18723/how-do-i-overlay-a-histogram-with-a-plot-of-cdf

plot r histogram cdf

4
推荐指数
2
解决办法
5561
查看次数

给出R中可以处理的离散CDF的分位数函数

例如,我有一个带CDF的离散函数,如下所示:

cdf <- c(0.00, 0.35, 0.71, 0.92, 1.00, 1.00, 1.00, 1.00)
Run Code Online (Sandbox Code Playgroud)

我可以使用以下行创建一种分位数函数...

result <- which(cdf == min(cdf[cdf > x]))
Run Code Online (Sandbox Code Playgroud)

...其中x是累积概率.例如,qfunction(0.9)= 4,qfunction(0.99)= 5.

这个解决方案似乎很好(虽然不优雅),直到我想处理矢量.因此,如果x = c(0.9,0.99),我的函数就会崩溃.这似乎是人们在R中做了很多事情,但我还没有找到解决方案.R不是我的主要语言.

任何帮助,将不胜感激.

r cdf

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

R ggplot:加权CDF

我想用加权CDF绘图ggplot.一些旧的非SO讨论(例如2012年的这一讨论)表明这是不可能的,但我认为我会重新加入.

例如,请考虑以下数据:

df <- data.frame(x=sort(runif(100)), w=1:100)
Run Code Online (Sandbox Code Playgroud)

我可以展示一个未加权的CDF

ggplot(df, aes(x)) + stat_ecdf()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我怎么称重w呢?对于这个例子,我希望x^2看起来有一个功能,因为较大的数字具有较高的权重.

r ggplot2 cdf

4
推荐指数
2
解决办法
1648
查看次数

如何在R中绘制CDF

我正在尝试ecdf()使用以下代码使用函数绘制CDF图:

> x<-ecdf(data$V6)

> summary(x)
 Empirical CDF:   2402 unique values with summary
 Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
 3392     71870    120100    386100    219000 158600000 

plot(x, log='x')
    Error in plot.window(...) : Logarithmic axis must have positive limits
Run Code Online (Sandbox Code Playgroud)

我的数据集以指数方式增长,因此我希望在x轴上具有对数比例.当我不使用log="x"它工作,但情节不好.我需要x轴是对数的.有任何想法吗?

r distribution probability cdf

3
推荐指数
1
解决办法
6744
查看次数

在R中使用Weibull的累积分布函数

我必须模拟一个系统的失败时间,为此我必须使用具有"降低危险率"和"0.7-0.8"形状的Weibull分布.我必须为使用从0到1的随机数的函数生成一个包含100个结果的文件.

所以我一直在搜索,我找到了这个R函数:

    pweibull(q, shape, scale = 1, lower.tail = T, log.p = F)
Run Code Online (Sandbox Code Playgroud)

还有一些其他的(rweibull,qweibull ......)但我认为这是我必须使用的,因为是累积分布,正如练习声明所说.问题是我是R的新手,我不知道我必须传递给这个函数的参数.

我猜测形状应该是0.7-0.8,并且比例1.对于q参数,我应该创建一个100个数字的随机向量,0到1的值?如果是这样,任何提示如何做到这一点?还有关于如何将结果数据导出到文件的任何提示?

r distribution cdf weibull

3
推荐指数
1
解决办法
1782
查看次数

如何在matlab中为PDF和CDF绘制正态分布图

我找不到matlab中的函数,它实现了正态分布的均值和标准差,并绘制了PDFCDF.

我担心我实现的两个函数都丢失了,因为我得到的最大值pdfNormal大于1.

function plotNormPDF(u,s,color)
    mu = u; 
    sigma = s; 
    x = (mu - 5 * sigma) : (sigma / 100) : (mu + 5 * sigma); 
    pdfNormal = normpdf(x, mu, sigma);
    string = 'the maximal pdfNormal is';
    string = sprintf('%s :%d', string,max(pdfNormal));
    disp(string)
    plot(x, pdfNormal/max(pdfNormal),color); 
end
Run Code Online (Sandbox Code Playgroud)

而对于CDF规范

function plotNormCDF(u,s,color)
    mu = u; 
    sigma = s; 
    x = (mu -  5*sigma) : (sigma / 100) : (mu + 5*sigma); 
    pdfNormal = normpdf(x, mu, sigma); …
Run Code Online (Sandbox Code Playgroud)

matlab normal-distribution cdf

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

从 Matlab 中的多元自定义累积分布函数中采样

考虑一个 5 变量累积分布函数(cdf),我将其称为 F。

我想在 Matlab 中从这个 cdf 中随机采样 5x1 向量。F不是Matlab中已经实现的cdf(如normal、t-student等)。具体来说,它被定义为

在此输入图像描述

我已经在这个论坛和其他论坛上阅读了几个关于如何从 Matlab 中自定义概率分布函数进行采样的问题/答案。然而,

1)大多数都是针对单变量cdf,例如这里。这个想法是应用逆变换采样。我的问题有点复杂,因为我需要“反转”5 变量函数。

2)另一种选择可能是按照此处的建议使用slicesample,但我不知道在我的情况下如何编写概率密度函数的解析表达式。

3)是另一个想法,但特定于二元情况。

您能帮助我了解如何继续吗?

random matlab probability sampling cdf

3
推荐指数
1
解决办法
2375
查看次数

SciPy累积分布函数绘图

我在绘制累积分布函数时遇到了麻烦.

到目前为止我发现了这个:

scipy.stats.beta.cdf(0.2,6,7)
Run Code Online (Sandbox Code Playgroud)

但这只能给我一点意见.

这将是我用来绘制的内容:

pylab.plot()
pylab.show()
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样: 文件:二项分布cdf.svg

p = .2界限停止一次y = 1或接近1.

python cdf

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