- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找一个有效的函数来计算学生 t 分布的 CDF(累积分布函数)。
这是我在查看 another stackoverflow question 后得出的结论,JStat 库,the_subtprob function on Line 317 here .
查看上一篇引用文献中的注释让我找到了一本绝版书,这没有帮助
If you are interested in more precise algorithms you could look at: StatLib: http://lib.stat.cmu.edu/apstat/ ;
Applied Statistics Algorithms by Griffiths, P. and Hill, I.D.
Ellis Horwood: Chichester (1985)
cmu 站点有一个 FORTRAN 函数,我将其翻译如下。
查看其他来源,我发现高阶函数,例如不完整的 beta、log gamma,并且实现似乎更复杂,并且在一种情况下是迭代的。
我想知道这个实现是否存在任何已知的陷阱。它似乎产生与其他结果相同的结果。关于如何评估这一点的任何想法也会有所帮助。
function tcdf (t, v) {
//
// ALGORITHM AS 3 APPL. STATIST. (1968) VOL.17, P.189
// STUDENT T PROBABILITY (LOWER TAIL)
//
var b = v / (v + t * t),
c = 1,
s = 1,
ioe = v % 2,
k = 2 + ioe;
if (v < 1) {
return 0;
}
if (v >= 4) {
while (k <= v - 2) {
c *= b - b / k;
s += c;
k += 2;
}
}
c = t / Math.sqrt(v);
if (1 !== ioe) {
return 0.5 + 0.5 * Math.sqrt(b) * c * s;
}
return 0.5 + ((1 === v ? 0 : b * c * s) + Math.atan(c)) / Math.PI;
}
最佳答案
此算法可能存在两个问题。
处理较大的v
值。当v
变大时,我们应该恢复标准正态分布。但是,您在 v
上有一个 while
循环。所以v=1000000
说,变得很慢
尾部准确度。该算法如何应对极端尾部情况?通常,我们需要使用 log
来避免舍入错误。
关于javascript - 该学生的 t 分布 CDF 计算中有任何明显的缺陷吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28304687/
为什么反 Gamma 函数不产生原始 x 值? 代码 x = 0.2 alpha = 2 u = sp.stats.gamma.cdf(x, alpha) x1 = sp.stats.invgamma
我想使用 CDF 匹配来纠正降水的原始模型预测(但该应用程序相当通用)。 假设下面的 CDF B 是观测到的 CDF(我信任的 CDF),我想计算 CDF A 和 B 之间的差异,以便在给定的一天我可
这些函数(标准正态累积分布函数、正态累积分布函数或误差函数)中的任何一个都可以用 JavaScript 可靠地计算吗? 考虑到 Windows 上缺乏 PECL 可用性,我希望有一个完全客户端的解决方
我在这里有一些旧的 Microsoft Word 文件(可能是 Word 97),并注意到标准的 Unix 文件实用程序将此类文件标识为“CDF”。它实际上更精确,转储详细的元数据,例如: CDF V
我只是在 linux 上尝试 CDF 播放器并比较 same demo在 Windows 上使用 CDF 插件看起来。我注意到了一些奇怪的事情。相同的演示,相同的初始值,但在 Windows 上,相同
我有以下值: Day 1: X11 X12 X13 X14 X15 ... Day 2: X21 X22 X23 X24 X25 ... Day 3: X31 X32 X33 X34 X35 ...
我有以下值: Day 1: X11 X12 X13 X14 X15 ... Day 2: X21 X22 X23 X24 X25 ... Day 3: X31 X32 X33 X34 X35 ...
如果我得到随机样本数据: X=np.random.random(100)*100 我需要获取 CDF = 34% 或其他值的 X_i 值。我现在能想到的唯一方法是使用逆 CDF。我认为百分位数是等效的
我想计算给定 pdf 的逆累积密度函数(逆 cdf)。 pdf 直接作为直方图给出,即 N 个等距分量的向量。 我目前的做法是: cdf = cumsum(pdf); K = 3; %// som
我想在同一个图中绘制多个变量的 CDF 图。变量的长度不同。为了简化细节,我使用以下示例代码: library("ggplot2") a1 df ggplot(df, aes(x, colour
我想画一个看起来像这样的图: 数据在 .csv 文件中给出,我已经将其导入到data 并用作图中的 x。 Y 计算如下: y = np.arange(1, len(data)+1)/len(data)
如何使用 Plotly 在 Pandas DataFrame 中绘制频率分布数据的 CDF 图?假设以下玩具数据 value freq 1 3 2 2 3
我想使用 ggplot 绘制加权 CDF。一些旧的非 SO 讨论(例如 2012 年的 this)表明这是不可能的,但我想我会重新加注。 例如,考虑以下数据: df <- data.frame(x=s
我有2个CDF并且必须找到最大的逐点距离。我创建了直方图并绘制了两者。这些值由随机函数生成,该函数将两个随机数 1-6 相加 100 次,类似于两个骰子。但是,我无法找到绘图上两条线之间的最大距离。
我正在 Java 中开发 CDF(文件万事达卡使用)文件解析器,并且我正在使用找到的 API here 。为了使用这个 API,您需要 jar 文件.. 我不明白我是如何得到这个异常的,因为它应该在
尝试使用 matplotlib 的 hist 函数绘制累积分布函数 (CDF) 时,最后一个点会返回到零。我读到一些帖子解释说这是因为类似直方图的格式,但找不到适合我的情况的解决方案。 这是我的代码:
这个问题已经有答案了: 奥 git _a (1 个回答) 已关闭 9 年前。 我想通过从文本文件读取数据来制作 CCDF 图。 CCDF表示互补累积分布函数。 我尝试搜索CCDF,但我不太了解它。 所
背景 我需要使用已知的累积分布函数 (CDF) 从相当复杂的概率密度函数 (PDF) 中随机采样,并且我正在尝试使用 inverse transform sampling 。这应该很容易做到,因为我有
我正在将代码从 Matlab 转换为 C++,出于某些重要原因,我必须获得均值为 0 且方差为“正态”函数(在 Matlab 中为“norm”)的累积分布函数=1. 在Matlab中的实现是这样的:
我有一个复杂的(非标准)分布函数,我想对其进行采样以使用逆 cdf 技术生成模拟数据点。 为了这个例子,我将考虑高斯分布 var=100 def f(x,a): def g(y):
我是一名优秀的程序员,十分优秀!