r - 在 R 中用 0 拟合 beta 分布
问题描述
我们有一个数据集 d3。
时间 | MV |
---|---|
1 | 0 |
2 | 0 |
3 | 0,3 |
等等。在 0 到 1 之间有更多的数据点。我们想要拟合 beta 分布,但我们发现我们应该尝试拟合零膨胀的 beta 分布,因为我们的数据包含零。
但我们真的不知道如何做到这一点。对于这种分布,如果可能,我们首先尝试在散点图中拟合一条线。有人可以在正确的方向上推动我们吗?我们已经找到了 gamlss 包,但不知道如何以正确的方式实现它谢谢你,2 个苦苦挣扎的学生
解决方案
将数据存储在向量中。rBEZI
在这里,我们使用从(随机 Beta 零膨胀)生成的示例数据,x
其中 mu=.5、sigma=1 和 nu=.1,大小为 10000。现在使用公式拟合数据x~1
。如果您不知道它们可能是什么,则指定起始值是可选的,但在这里我们知道它们是什么,因此可以将起始值指定为它们的实际值。不要忘记将 指定family
为“BEZI”,您可以使用 访问拟合系数fitted
。最后,您可以绘制数据和拟合曲线以查看它们是否匹配。
library(gamlss)
x=rBEZI(10000, .5, 1, .1)
m=gamlss(x~1, mu.start=.5, sigma.start=1, nu.start=.1, family="BEZI")
fitted(m, "mu")[1]
0.5015543
fitted(m, "sigma")[1]
1.008976
fitted(m, "nu")[1]
0.0997
plotBEZI(fitted(m, "mu")[1], fitted(m, "sigma")[1], fitted(m, "nu")[1])
hist(x, freq=FALSE, add=TRUE)
推荐阅读
- javascript - 受原始元素上的 css 更改影响的 Jquery 可拖动助手
- sql-server - Cmd/批处理程序日志不会显示sql日志
- php - Laravel Collection 只推了一项记录
- linux - 如何查找未应用 udev 规则的原因?
- mysql - Flume Spark 流式传输到 Mysql 数据库
- excel - 如何系统地将列中的条目复制到 Excel 中的另一列中
- python - Pygame:在pygame中运行脚本后屏幕立即关闭,说精灵发生了碰撞
- c++ - C ++中的成员或非成员函数?
- reactjs - 即使在使用 identity-obj-proxy 之后,JEST 也会继续尝试解析 CSS 模块
- java - 将对象转换为可编码对象失败:模型实例