拓端tecdat|在R语言和Stan中估计截断泊松分布
原文链接:http://tecdat.cn/?p=6534
原文出处:拓端数据部落公众号
数据
这是一个非常简化的例子。我模拟了1,000个计数观察值,平均值为1.3。然后,如果只观察到两个或更高的观察,我将原始分布与我得到的分布进行比较。
由此代码生成:
# 原始数据:
set.seed(321)
a <- rpois(1000, 1.3)# 数据的截断版本:
b <- a[ a > 1]# 图形:
data_frame(value = c(a, b),ggplot(aes(x = value)) +(binwidth = 1, colour = "w
# 模型拟合原始模型效果很好:
mean(a)(a, "Poisson")# 截断版本效果一般
mean(b)
fitdistr(b, "Poisson")
估计lambda
完整数据(a
)的关键参数效果很好,估计值为1.347,刚好超过1.3的真实值的一个标准误差。
最大似然
在fitdist
中使用dpois
和ppois
函数的截断版本。
#-------------在R中使用MLE拟合-------------------
dtruncated_poisson <- function(x, lambda) {
}
ptruncated_poisson <- function(x, lambda) {
}fitdist(b, "truncated_poisson", start = c(lambda = 0.5))
请注意,要执行此操作,我将下限阈值指定为1.5; 因为所有数据都是整数,这实际上意味着我们只观察2或更多的观察结果。我们还需要为估计值指定一个合理的起始值lambda,不让误差太大
。
贝叶斯
对于替代贝叶斯方法,Stan可以很容易地将数据和概率分布描述为截断的。除了我x
在这个程序中调用的原始数据之外,我们需要告诉它有多少观察(n
),lower_limit
截断,以及表征我们估计的参数的先验分布所需的任何变量。
以下程序的关键部分是:
- 在
data
中,指定数据的x
下界为lower_limit
- 在
model
中,指定x
通过截断的分布T[lower_limit, ]
data {int n;int lower_limit;int x[n];real lambda_start_mu;real lambda_start_sigma;
}parameters {reallambda;
}model {lambda ~ normal(lambda_start_mu, lambda_start_sigma);for(i in 1:n){x[i] ~ poisson(lambda) T[lower_limit, ];}
}
以下是从R向Stan提供数据的方式:
#-------------从R中调用Stan--------------
data <- list(x = b,lower_limit = 2,n = length(),lambda_start_sigma = 1
)fit <- stan("0120-trunc.stan", data = data, cores = 4)plot(fit) + labs(y = "Estimated parameters") +theme_minimal(base_family = "myfont")
结果提供了lambda
与fitdistrplus
方法估计的后验分布:1.35,标准偏差为0.08。置信区间的图像:
最受欢迎的见解
1.R语言泊松Poisson回归模型分析案例
2.R语言进行数值模拟:模拟泊松回归模型
3.r语言泊松回归分析
4.R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化
5.用R语言模拟混合制排队随机服务排队系统
6.GARCH(1,1),MA以及历史模拟法的VaR比较
7.R语言做复杂金融产品的几何布朗运动的模拟
8.R语言进行数值模拟:模拟泊松回归模型
9.R语言对巨灾风险下的再保险合同定价研究案例:广义线性模型和帕累托分布Pareto distributions
拓端tecdat|在R语言和Stan中估计截断泊松分布相关推荐
- 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...
课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...
- r语言和python-r语言和python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! r的取值范围是,r=1表示完全正相关! r=-1表示完全负相关! r=0表示完全 ...
- r语言和python-R语言和Python一块学习会弄混吗
原标题:R语言和Python一块学习会弄混吗 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定 ...
- r语言和python-r语言和python的详细对比
r语言和python的对比,两者各有千秋,究竟要学哪一个,可根据自己的实际需求来作出选择,当然,最好是两者都学. 01 开发目的 R语言 R是由统计学家开发的,它的出生就肩负着统计分析.绘图.数据挖掘 ...
- r语言和rstudio_R和RStudio简介
r语言和rstudio With increased computing power comes increased access to large amounts of freely accessi ...
- R语言和python语言的区别在什么地方,各自的应用场景是什么
R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...
- R语言和Hadoop系统架构在大数据分析中的应用
也许正在喝着咖啡的你,看着阳光从玻璃窗蹦进来,回忆近日的美好,惬意的享受这个"温暖"的暑假.而SupStat已经为你准备了一份暑期数据盛宴. R是什么? ...
- R语言和Rstudio下载 以及 R 包安装
R语言和Rstudio下载 The Comprehensive R Archive Network (r-project.org) 进入官网下载与电脑相符的R语言 比如我的电脑是Windows x6 ...
- R语言和Python连接hive
连接原理:R语言和Python连接,R中读取的数据可以传递到python中进行处理,同理python中的结果可以传递到R语言中进行,二者满足双向传递.而Python连接hive的方法较多且简单,因此采 ...
- 拓端tecdat荣获掘金社区入驻新人奖
2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...
最新文章
- Android Studio 启动模拟器出现“Timed out after 300seconds waiting for emulator to come online“解决方案
- vim和NERD树扩展 - 添加文件
- LeetCode Contains Duplicate
- You can't specify target table '表名' for update……
- 2019你还没搭建个人博客吗?进来看看
- python更改当前工作路径
- 新高考改革选计算机专业要学什么,2020高考改革后考生如何选科与选专业?
- C语言学习篇(32)——为什么C语言不能函数重载
- L1-075 强迫症 (10 分)-PAT 团体程序设计天梯赛 GPLT
- WPF事件中的sender就是事件源
- Rust: Path等
- 嵌入式开发之GCC编译器使用
- web网页设计实例作业 ——二手书店-大学生书店(13页) 学生个人网站作业模板 简单个人网页制作
- UnityShader学习教程之<StandardShader>
- 2012面试备忘录(夏季南京)
- 大明最不该被遗忘的英烈——李定国
- 深入了解计算机系统(CS:APP)思考题
- ESP8266开发 --- 重新烧录固件DownLoadTool参数解释
- viper4android 5.0,VIPER4Android最新版本
- 计算机二级c语言求水仙花数和完数,预测江苏省高校计算机二级C考试上机编程题之二特殊数张柏雄.doc...