问题标签 [fitdistrplus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何排除 NA?(fitdist 函数)
我有 100x2 数据框 DFN。在列 DFN$Lret 上运行fitdist
会给出错误消息“函数 mle 无法估计参数,错误代码为 100”。我认为原因是最后一行包含一个 NA。因此我运行fitdist
排除 NA,现在我得到错误“数据必须是长度大于 1 的数字向量”。关于如何解决这个问题的任何想法?非常感谢。
请注意,如果消除包含 NA 的最后一行,则上述代码可以正常工作。fitdist
如果可以避免,我宁愿不必在运行前消除最后一行。
编辑/更新:用 NA 消除最后一行确实解决了问题,但我现在无法始终如一地重现该问题(即在消除最后一行后成功运行代码几次,但并非总是如此)。我试图理解为什么。我尝试使用 25x2 数据框、100x2 和 300x2 以及矢量,结果相似。曾认为数据框或向量的大小可能是问题的一部分,因此进行了不同大小的试验。
r - 由 `fitdistrplus` 包中的 `fitdistr()` 函数拟合的幂律
rplcon()
我使用包中的函数生成一些随机变量poweRlaw
data <- rplcon(1000,10,2)
现在,我想知道哪些已知分布最适合数据。对数规范?经验?伽玛?幂律?指数截止的幂律?
所以我fitdist()
在包中使用函数fitdistrplus
:
由于幂律分布和指数截止的幂律不是根据CRAN 任务视图:概率分布的基本概率函数,所以我根据示例 4 编写幂律的 d,p,q 函数?fitdist
最后,我使用下面的代码来获取参数xmin
和alpha
幂律:
但它会抛出一个错误:
我尝试在google和stackoverflow中搜索,出现了很多类似的错误问题,但是在阅读和尝试之后,我的问题没有解决方案,我应该怎么做才能正确完成以获得参数?感谢所有帮助我的人!
r - 使用 MLE 获得标准化 T 分布的自由度
首先,我先感谢大家阅读本文。
我正在尝试在一系列数据上拟合标准化 T 学生分布(即标准偏差 = 1 的 T 学生);也就是说:我想通过最大似然估计来估计自由度。
我需要实现的示例可以在我制作的以下(简单)Excel文件中找到: https ://www.dropbox.com/s/6wv6egzurxh4zap/Excel%20Implementation%20Example.xlsx?dl=0
在 Excel 文件中,我有一个图像,其中包含与计算标准化 T 学生分布的对数似然函数相对应的公式。该公式是从金融书籍(金融风险管理要素 - 彼得克里斯托弗森)中提取的。
到目前为止,我已经用 R 尝试过这个:
df1 产生数字:13.11855278779897
logLike(ft1) 产生数字:-3600.2918050056487
但是,Excel 文件产生的自由度为:8.2962365022727,对数似然为:-3588.8879(这是正确答案)。
注意:我的代码读取的 .csv 文件如下: https ://www.dropbox.com/s/nnh2jgq4fl6cm12/Data%20for%20T%20Copula.csv?dl=0
有任何想法吗?谢谢大家!
r - 我怎样才能一张一张地得到照片而不是一起展示它们?
当我输入代码plot(x.logis)
时,输出是四张图片一起显示,但我只寻找其中一张。如何分别绘制它们?
这是我的代码:
这是输出的结果:
r - R 拟合用户定义的分布
我正在尝试将我自己的分布拟合到我的数据中,找到分布的最佳参数以匹配数据并最终找到分布中峰值的 FWHM。根据我的阅读,包 fitdistrplus 是执行此操作的方法。我知道数据在二次背景上呈洛伦兹峰的形状。
数据 图:原始数据图
使用的原始数据:
我计算了定义分布和累积分布的方程:
我相信这些都是正确的。据我了解,使用 fitdist(或 mledist)方法仅使用这些定义就应该可以进行分布拟合:
这将返回语句'函数无法在初始参数处进行评估> fitdist中的错误(数据,“FF”,开始=列表(0,0.3,-4e-04,70000,13,331)):函数mle无法估计参数,在第一种情况下的错误代码为 100',在第二种情况下,我只得到估计值的“NA”值列表。
然后我计算了一个函数来给出分位数分布值以使用其他拟合方法(qmefit):
此代码的一部分需要调用 c++ 函数(通过使用库 Rcpp):
这个 c++ 方法只是将数据转换为直方图格式。如果描述数据的向量的第一个元素是 4,则将 '1' 添加 4 次到返回的向量等。这似乎也适用于返回合理的值。分位数函数图:
然后可以通过 fitdist 函数尝试“qmefit”方法:
我随机选择了“概率”值,因为我不完全理解它们的含义。这要么直接使 R 会话崩溃,要么在短暂的口吃后返回一个“NA”值列表作为估计值和行 <std::bad_alloc : std::bad_alloc>
我不确定我是否在这里犯了一个基本错误,并且感谢任何帮助或建议。
r - 试图找到密度函数数据
我正在尝试根据我的数据获取 PDF 数据点。它曾经工作到昨晚,但我现在得到的数字非常少。我在这里做错了什么?
但是,如果我在最后一行使用 qgumbel 而不是 dgumbel,我会得到一个 CDF(足够接近)。CDF 很有帮助,但我希望获得 PDF 数据点。编辑:我正在做 rgumbel 因为数据集是一个相当小的数据集,因此我希望通过产生 500 个点来平滑曲线。
笔记:
PDF - 概率密度函数
CDF - 累积分布函数
r - 如何在 fitdistrplus 中使用比例和位置参数拟合 t 分布
如何使用 fitdistrplus 估计 t 分布的比例参数的位置?我知道我需要提供初始值(在 MASS 中它工作得很好)但是在这个包中只允许 df。你有什么解决办法吗?
非常感谢。